cuda::experimental::stf::task_dep< T, void, false >#

template<typename T>
class task_dep<T, void, false> : public cuda::experimental::stf::task_dep_untyped#

Type storing dependency information for one data item, including the data type.

Template Parameters:

`T` – The user-level type involved (e.g. slice<double> or slice<const double> for a contiguous array). Note that T may be different in const qualifiers than the actual type stored in the dependency information.

Public Types

enum [anonymous]#

Values:

enumerator does_work = false#
using data_t = T#
using dep_type = T#
using op_and_init = ::std::pair<::std::monostate, ::std::bool_constant<false>>#
using op_type = ::std::monostate#

Public Functions

task_dep(const task_dep&) = default#
task_dep(task_dep&&) noexcept = default#
task_dep &operator=(const task_dep &other) = default#
task_dep &operator=(task_dep &&other) noexcept = default#
template<typename ...Pack>
inline task_dep(Pack&&... pack)#
inline task_dep<T> as_mode(access_mode another) const#
decltype(auto) instance(task&) const#

Returns a reference to T if T is the same as the stored type, or an rvalue of type T if T has additional const qualifiers.

Returns:

decltype(auto) T& or T

inline logical_data_untyped get_data() const#
inline instance_id_t get_instance_id() const#
inline void set_instance_id(instance_id_t id)#
inline access_mode get_access_mode() const#
inline const data_place &get_dplace() const#
inline ::std::shared_ptr<reduction_operator_base> get_redux_op(
) const#
inline bool operator<(const task_dep_untyped &rhs) const#
inline bool operator==(const task_dep_untyped &rhs) const#
inline bool operator!=(const task_dep_untyped &rhs) const#
inline void set_symbol(::std::string s) const#
inline const ::std::string &get_symbol() const#
inline void set_data_footprint(size_t f) const#
inline size_t get_data_footprint() const#
inline void reset_logical_data()#

Public Members

int dependency_index = -1#
bool skipped = false#