ttg_parsec::detail::ttg_data_value_copy_t< ValueT > Struct Template Referencefinal
Inheritance diagram for ttg_parsec::detail::ttg_data_value_copy_t< ValueT >:
Documentation
template<typename ValueT>
struct ttg_parsec::detail::ttg_data_value_copy_t< ValueT >
Extension of ttg_data_copy_t holding the actual value. The virtual destructor will take care of destructing the value if the destructor of ttg_data_copy_t base class is called.
Definition at line 455 of file ttg_data_copy.h.
Public Types | |
using | value_type = ValueT |
Public Types inherited from ttg_parsec::detail::ttg_data_copy_t | |
using | iterator = ttg_parsec_data_wrapper_t ** |
using | iovec_iterator = typename std::vector< ttg::iovec >::iterator |
Public Member Functions | |
template<typename T > | |
requires (std::constructible_from< ValueT, T >) ttg_data_value_copy_t(T &&value) | |
ttg_data_value_copy_t (ttg_data_value_copy_t &&c) noexcept(std::is_nothrow_move_constructible_v< value_type >) | |
ttg_data_value_copy_t (const ttg_data_value_copy_t &c) noexcept(std::is_nothrow_copy_constructible_v< value_type >) | |
ttg_data_value_copy_t & | operator= (ttg_data_value_copy_t &&c) noexcept(std::is_nothrow_move_assignable_v< value_type >) |
ttg_data_value_copy_t & | operator= (const ttg_data_value_copy_t &c) noexcept(std::is_nothrow_copy_assignable_v< value_type >) |
value_type & | operator* () |
virtual | ~ttg_data_value_copy_t ()=default |
virtual void * | get_ptr () override final |
Public Member Functions inherited from ttg_parsec::detail::ttg_data_copy_t | |
ttg_data_copy_t () | |
ttg_data_copy_t (const ttg_data_copy_t &c) | |
ttg_data_copy_t (ttg_data_copy_t &&c) | |
ttg_data_copy_t & | operator= (ttg_data_copy_t &&c) |
ttg_data_copy_t & | operator= (const ttg_data_copy_t &c) |
virtual | ~ttg_data_copy_t ()=default |
bool | is_mutable () const |
void | mark_mutable () |
template<bool Atomic = true> | |
int | increment_readers () |
void | reset_readers () |
template<bool Atomic = true> | |
int | decrement_readers () |
int | num_readers () const |
parsec_task_t * | get_next_task () const |
void | set_next_task (parsec_task_t *task) |
int32_t | add_ref () |
int32_t | drop_ref () |
bool | has_ref () |
int32_t | num_ref () const |
void | inc_current_version () |
void | transfer_ownership (int access, int device=0) |
void | add_device_data (ttg_parsec_data_wrapper_t *data) |
void | remove_device_data (ttg_parsec_data_wrapper_t *data) |
int | num_dev_data () const |
template<typename Fn > | |
void | foreach_wrapper (Fn &&fn) |
template<typename Fn > | |
void | foreach_parsec_data (Fn &&fn) |
iovec_iterator | iovec_begin () |
iovec_iterator | iovec_end () |
void | iovec_reset () |
void | iovec_add (const ttg::iovec &iov) |
ttg::span< ttg::iovec > | iovec_span () |
std::size_t | iovec_count () const |
Public Member Functions inherited from ttg_parsec::detail::ttg_data_copy_self_t | |
ttg_data_copy_self_t (ttg_data_copy_t *dc) | |
Public Attributes | |
value_type | m_value |
Public Attributes inherited from ttg_parsec::detail::ttg_data_copy_self_t | |
parsec_list_item_t | super |
ttg_data_copy_t * | self |
Additional Inherited Members | |
Static Public Attributes inherited from ttg_parsec::detail::ttg_data_copy_t | |
static constexpr int | mutable_tag = std::numeric_limits<int>::min() |
Protected Attributes inherited from ttg_parsec::detail::ttg_data_copy_t | |
parsec_task_t * | m_next_task = nullptr |
int32_t | m_readers = 1 |
std::atomic< int32_t > | m_refs = 1 |
std::vector< ttg::iovec > | m_iovecs |
std::vector< ttg_parsec_data_wrapper_t * > | m_dev_data |
ttg_parsec_data_wrapper_t * | m_single_dev_data |
int | m_num_dev_data = 0 |
Member Typedef Documentation
◆ value_type
template<typename ValueT >
using ttg_parsec::detail::ttg_data_value_copy_t< ValueT >::value_type = ValueT |
Definition at line 457 of file ttg_data_copy.h.
Constructor & Destructor Documentation
◆ ttg_data_value_copy_t() [1/2]
template<typename ValueT >
|
inlinenoexcept |
Definition at line 471 of file ttg_data_copy.h.
◆ ttg_data_value_copy_t() [2/2]
template<typename ValueT >
|
inlinenoexcept |
Definition at line 481 of file ttg_data_copy.h.
◆ ~ttg_data_value_copy_t()
template<typename ValueT >
|
virtualdefault |
Member Function Documentation
◆ get_ptr()
template<typename ValueT >
|
inlinefinaloverridevirtual |
Implements ttg_parsec::detail::ttg_data_copy_t.
Definition at line 520 of file ttg_data_copy.h.
◆ operator*()
template<typename ValueT >
|
inline |
Definition at line 513 of file ttg_data_copy.h.
◆ operator=() [1/2]
template<typename ValueT >
|
inlinenoexcept |
Definition at line 502 of file ttg_data_copy.h.
◆ operator=() [2/2]
template<typename ValueT >
|
inlinenoexcept |
Definition at line 491 of file ttg_data_copy.h.
◆ requires()
template<typename ValueT >
template<typename T >
|
inline |
Definition at line 461 of file ttg_data_copy.h.
Member Data Documentation
◆ m_value
template<typename ValueT >
value_type ttg_parsec::detail::ttg_data_value_copy_t< ValueT >::m_value |
Definition at line 458 of file ttg_data_copy.h.
The documentation for this struct was generated from the following file:
- ttg/ttg/parsec/ttg_data_copy.h