ttg_parsec::detail::ttg_data_value_copy_t< ValueT > Struct Template Referencefinal
Inheritance diagram for ttg_parsec::detail::ttg_data_value_copy_t< ValueT >:
ttg_parsec::detail::ttg_data_copy_container_setter< ttg_data_copy_t > ttg_parsec::detail::ttg_data_copy_t ttg_parsec::detail::ttg_data_copy_self_t

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 203 of file ttg_data_copy.h.

Public Types

using value_type = ValueT
 

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_toperator= (ttg_data_value_copy_t &&c) noexcept(std::is_nothrow_move_assignable_v< value_type >)
 
ttg_data_value_copy_toperator= (const ttg_data_value_copy_t &c) noexcept(std::is_nothrow_copy_assignable_v< value_type >)
 
value_typeoperator* ()
 
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_toperator= (ttg_data_copy_t &&c)
 
ttg_data_copy_toperator= (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
 
- 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_tself
 

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
 

Member Typedef Documentation

◆ value_type

template<typename ValueT >
using ttg_parsec::detail::ttg_data_value_copy_t< ValueT >::value_type = ValueT

Definition at line 205 of file ttg_data_copy.h.

Constructor & Destructor Documentation

◆ ttg_data_value_copy_t() [1/2]

template<typename ValueT >
ttg_parsec::detail::ttg_data_value_copy_t< ValueT >::ttg_data_value_copy_t ( ttg_data_value_copy_t< ValueT > &&  c)
inlinenoexcept

Definition at line 219 of file ttg_data_copy.h.

◆ ttg_data_value_copy_t() [2/2]

template<typename ValueT >
ttg_parsec::detail::ttg_data_value_copy_t< ValueT >::ttg_data_value_copy_t ( const ttg_data_value_copy_t< ValueT > &  c)
inlinenoexcept

Definition at line 229 of file ttg_data_copy.h.

◆ ~ttg_data_value_copy_t()

template<typename ValueT >
virtual ttg_parsec::detail::ttg_data_value_copy_t< ValueT >::~ttg_data_value_copy_t ( )
virtualdefault

Member Function Documentation

◆ get_ptr()

template<typename ValueT >
virtual void* ttg_parsec::detail::ttg_data_value_copy_t< ValueT >::get_ptr ( )
inlinefinaloverridevirtual

Implements ttg_parsec::detail::ttg_data_copy_t.

Definition at line 268 of file ttg_data_copy.h.

◆ operator*()

template<typename ValueT >
value_type& ttg_parsec::detail::ttg_data_value_copy_t< ValueT >::operator* ( )
inline

Definition at line 261 of file ttg_data_copy.h.

◆ operator=() [1/2]

template<typename ValueT >
ttg_data_value_copy_t& ttg_parsec::detail::ttg_data_value_copy_t< ValueT >::operator= ( const ttg_data_value_copy_t< ValueT > &  c)
inlinenoexcept

Definition at line 250 of file ttg_data_copy.h.

◆ operator=() [2/2]

template<typename ValueT >
ttg_data_value_copy_t& ttg_parsec::detail::ttg_data_value_copy_t< ValueT >::operator= ( ttg_data_value_copy_t< ValueT > &&  c)
inlinenoexcept

Definition at line 239 of file ttg_data_copy.h.

◆ requires()

template<typename ValueT >
template<typename T >
ttg_parsec::detail::ttg_data_value_copy_t< ValueT >::requires ( std::constructible_from< ValueT, T >  ) &&
inline

Definition at line 209 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 206 of file ttg_data_copy.h.


The documentation for this struct was generated from the following file: