ttg 1.0.0
Template Task Graph (TTG): flowgraph-based programming model for high-performance distributed-memory algorithms
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
ttg_parsec::detail::ttg_data_copy_t Struct Referenceabstract

#include <ttg_data_copy.h>

Inheritance diagram for ttg_parsec::detail::ttg_data_copy_t:
[legend]
Collaboration diagram for ttg_parsec::detail::ttg_data_copy_t:
[legend]

Public Member Functions

 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
 
virtual void * get_ptr ()=0
 
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)
 

Static Public Attributes

static constexpr int mutable_tag = std::numeric_limits<int>::min()
 

Protected Attributes

parsec_task_t * m_next_task = nullptr
 
int32_t m_readers = 1
 
std::atomic< int32_t > m_refs = 1
 

Additional Inherited Members

- Public Attributes inherited from ttg_parsec::detail::ttg_data_copy_self_t
parsec_list_item_t super
 
ttg_data_copy_tself
 

Detailed Description

Definition at line 58 of file ttg_data_copy.h.

Constructor & Destructor Documentation

◆ ttg_data_copy_t() [1/3]

ttg_parsec::detail::ttg_data_copy_t::ttg_data_copy_t ( )
inline

Definition at line 64 of file ttg_data_copy.h.

◆ ttg_data_copy_t() [2/3]

ttg_parsec::detail::ttg_data_copy_t::ttg_data_copy_t ( const ttg_data_copy_t c)
inline

Definition at line 68 of file ttg_data_copy.h.

◆ ttg_data_copy_t() [3/3]

ttg_parsec::detail::ttg_data_copy_t::ttg_data_copy_t ( ttg_data_copy_t &&  c)
inline

Definition at line 76 of file ttg_data_copy.h.

◆ ~ttg_data_copy_t()

virtual ttg_parsec::detail::ttg_data_copy_t::~ttg_data_copy_t ( )
virtualdefault

Member Function Documentation

◆ add_ref()

int32_t ttg_parsec::detail::ttg_data_copy_t::add_ref ( )
inline

Definition at line 171 of file ttg_data_copy.h.

Here is the caller graph for this function:

◆ decrement_readers()

template<bool Atomic = true>
int ttg_parsec::detail::ttg_data_copy_t::decrement_readers ( )
inline

Definition at line 144 of file ttg_data_copy.h.

◆ drop_ref()

int32_t ttg_parsec::detail::ttg_data_copy_t::drop_ref ( )
inline

Definition at line 175 of file ttg_data_copy.h.

◆ get_next_task()

parsec_task_t * ttg_parsec::detail::ttg_data_copy_t::get_next_task ( ) const
inline

Definition at line 163 of file ttg_data_copy.h.

◆ get_ptr()

virtual void * ttg_parsec::detail::ttg_data_copy_t::get_ptr ( )
pure virtual

Implemented in ttg_parsec::detail::ttg_data_value_copy_t< ValueT >, ttg_parsec::TTValue< DerivedT >, and ttg_parsec::TTValue< Fn >.

Here is the caller graph for this function:

◆ has_ref()

bool ttg_parsec::detail::ttg_data_copy_t::has_ref ( )
inline

Definition at line 179 of file ttg_data_copy.h.

◆ increment_readers()

template<bool Atomic = true>
int ttg_parsec::detail::ttg_data_copy_t::increment_readers ( )
inline

Definition at line 121 of file ttg_data_copy.h.

Here is the caller graph for this function:

◆ is_mutable()

bool ttg_parsec::detail::ttg_data_copy_t::is_mutable ( ) const
inline

Definition at line 108 of file ttg_data_copy.h.

◆ mark_mutable()

void ttg_parsec::detail::ttg_data_copy_t::mark_mutable ( )
inline

Definition at line 113 of file ttg_data_copy.h.

◆ num_readers()

int ttg_parsec::detail::ttg_data_copy_t::num_readers ( ) const
inline

Definition at line 156 of file ttg_data_copy.h.

Here is the caller graph for this function:

◆ num_ref()

int32_t ttg_parsec::detail::ttg_data_copy_t::num_ref ( ) const
inline

Definition at line 183 of file ttg_data_copy.h.

Here is the caller graph for this function:

◆ operator=() [1/2]

ttg_data_copy_t & ttg_parsec::detail::ttg_data_copy_t::operator= ( const ttg_data_copy_t c)
inline

Definition at line 96 of file ttg_data_copy.h.

◆ operator=() [2/2]

ttg_data_copy_t & ttg_parsec::detail::ttg_data_copy_t::operator= ( ttg_data_copy_t &&  c)
inline

Definition at line 85 of file ttg_data_copy.h.

Here is the caller graph for this function:

◆ reset_readers()

void ttg_parsec::detail::ttg_data_copy_t::reset_readers ( )
inline

Reset the number of readers to read-only with a single reader.

Definition at line 134 of file ttg_data_copy.h.

Here is the caller graph for this function:

◆ set_next_task()

void ttg_parsec::detail::ttg_data_copy_t::set_next_task ( parsec_task_t *  task)
inline

Definition at line 167 of file ttg_data_copy.h.

Member Data Documentation

◆ m_next_task

parsec_task_t* ttg_parsec::detail::ttg_data_copy_t::m_next_task = nullptr
protected

Definition at line 192 of file ttg_data_copy.h.

◆ m_readers

int32_t ttg_parsec::detail::ttg_data_copy_t::m_readers = 1
protected

Definition at line 193 of file ttg_data_copy.h.

◆ m_refs

std::atomic<int32_t> ttg_parsec::detail::ttg_data_copy_t::m_refs = 1
protected

Definition at line 194 of file ttg_data_copy.h.

◆ mutable_tag

constexpr int ttg_parsec::detail::ttg_data_copy_t::mutable_tag = std::numeric_limits<int>::min()
staticconstexpr

Definition at line 62 of file ttg_data_copy.h.


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