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 | List of all members
ttg::SinkTT< keyT, input_valueT > Class Template Reference

A data sink for one input. More...

#include <tt.h>

Inheritance diagram for ttg::SinkTT< keyT, input_valueT >:
[legend]
Collaboration diagram for ttg::SinkTT< keyT, input_valueT >:
[legend]

Public Member Functions

 SinkTT (const std::string &inname="junk")
 
 SinkTT (const input_edges_type &inedges, const std::string &inname="junk")
 
virtual ~SinkTT ()
 
void fence () override final
 
void make_executable () override final
 Marks this executable.
 
World get_world () const override final
 
template<std::size_t i>
std::tuple_element_t< i, input_terminals_type > * in ()
 Returns pointer to input terminal i to facilitate connection — terminal cannot be copied, moved or assigned.
 
- Public Member Functions inherited from ttg::TTBase
virtual ~TTBase ()=default
 
virtual void invoke ()
 
bool set_trace_instance (bool value)
 
bool tracing () const
 
template<typename T , typename... Ts>
void trace (const T &t, const Ts &...ts)
 Like ttg::trace(), but only produces tracing output if this->tracing()==true
 
bool set_lazy_pull_instance (bool value)
 
bool is_lazy_pull ()
 
std::optional< std::reference_wrapper< const TTBase > > ttg () const
 
const TTBasettg_ptr () const
 
bool is_ttg () const
 
void set_name (const std::string &name)
 Sets the name of this operation.
 
const std::string & get_name () const
 Gets the name of this operation.
 
std::string get_class_name () const
 Gets the demangled class name (uses RTTI)
 
const std::vector< TerminalBase * > & get_inputs () const
 Returns the vector of input terminals.
 
const std::vector< TerminalBase * > & get_outputs () const
 Returns the vector of output terminals.
 
ttg::TerminalBasein (size_t i)
 Returns a pointer to the i'th input terminal.
 
ttg::TerminalBaseout (size_t i)
 Returns a pointer to the i'th output terminal.
 
template<std::size_t i>
ttg::TerminalBasein ()
 Returns a pointer to the i'th input terminal ... to make API consistent with TT.
 
template<std::size_t i>
ttg::TerminalBaseout ()
 Returns a pointer to the i'th output terminal ... to make API consistent with TT.
 
auto get_instance_id () const
 
virtual void release ()
 
bool is_executable () const
 

Additional Inherited Members

- Static Public Member Functions inherited from ttg::TTBase
static bool set_trace_all (bool value)
 
static bool set_lazy_pull (bool value)
 
static const std::vector< TerminalBase * > * get_outputs_tls_ptr ()
 Returns this thread's pointer to the vector of output terminals.
 
- Protected Member Functions inherited from ttg::TTBase
void set_input (size_t i, TerminalBase *t)
 
void set_output (size_t i, TerminalBase *t)
 
template<bool out, typename terminalT , std::size_t i, typename setfuncT >
void register_terminal (terminalT &term, const std::string &name, const setfuncT setfunc)
 
template<bool out, std::size_t... IS, typename terminalsT , typename namesT , typename setfuncT >
void register_terminals (std::index_sequence< IS... >, terminalsT &terms, const namesT &names, const setfuncT setfunc)
 
template<typename terminalsT , typename namesT >
void register_input_terminals (terminalsT &terms, const namesT &names)
 
template<typename terminalsT , typename namesT >
void register_output_terminals (terminalsT &terms, const namesT &names)
 
template<std::size_t... IS, typename terminalsT , typename setfuncT >
void set_terminals (std::index_sequence< IS... >, terminalsT &terms, const setfuncT setfunc)
 
template<typename terminalsT , typename setfuncT >
void set_terminals (const terminalsT &terms, const setfuncT setfunc)
 
 TTBase (TTBase &&other)
 
TTBaseoperator= (TTBase &&other)
 
 TTBase (const std::string &name, size_t numins, size_t numouts)
 
void set_outputs_tls_ptr ()
 
void set_outputs_tls_ptr (const std::vector< TerminalBase * > *ptr)
 
- Static Protected Member Functions inherited from ttg::TTBase
static const std::vector< TerminalBase * > *& outputs_tls_ptr_accessor ()
 

Detailed Description

template<typename keyT, typename input_valueT>
class ttg::SinkTT< keyT, input_valueT >

A data sink for one input.

Definition at line 121 of file tt.h.

Constructor & Destructor Documentation

◆ SinkTT() [1/2]

template<typename keyT , typename input_valueT >
ttg::SinkTT< keyT, input_valueT >::SinkTT ( const std::string &  inname = "junk")
inline

Definition at line 151 of file tt.h.

Here is the call graph for this function:

◆ SinkTT() [2/2]

template<typename keyT , typename input_valueT >
ttg::SinkTT< keyT, input_valueT >::SinkTT ( const input_edges_type &  inedges,
const std::string &  inname = "junk" 
)
inline

Definition at line 156 of file tt.h.

Here is the call graph for this function:

◆ ~SinkTT()

template<typename keyT , typename input_valueT >
virtual ttg::SinkTT< keyT, input_valueT >::~SinkTT ( )
inlinevirtual

Definition at line 162 of file tt.h.

Member Function Documentation

◆ fence()

template<typename keyT , typename input_valueT >
void ttg::SinkTT< keyT, input_valueT >::fence ( )
inlinefinaloverridevirtual

Waits for the entire TTG that contains this object to be completed (collective); if not contained by a TTG this is a no-op

Implements ttg::TTBase.

Definition at line 164 of file tt.h.

◆ get_world()

template<typename keyT , typename input_valueT >
World ttg::SinkTT< keyT, input_valueT >::get_world ( ) const
inlinefinaloverridevirtual
Returns
World in which this lives

Implements ttg::TTBase.

Definition at line 168 of file tt.h.

Here is the call graph for this function:

◆ in()

template<typename keyT , typename input_valueT >
template<std::size_t i>
std::tuple_element_t< i, input_terminals_type > * ttg::SinkTT< keyT, input_valueT >::in ( )
inline

Returns pointer to input terminal i to facilitate connection — terminal cannot be copied, moved or assigned.

Definition at line 172 of file tt.h.

◆ make_executable()

template<typename keyT , typename input_valueT >
void ttg::SinkTT< keyT, input_valueT >::make_executable ( )
inlinefinaloverridevirtual

Marks this executable.

Implements ttg::TTBase.

Definition at line 166 of file tt.h.

Here is the call graph for this function:

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