ttg 1.0.0
Template Task Graph (TTG): flowgraph-based programming model for high-performance distributed-memory algorithms
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
ttg::OutTerminalBase< keyT > Class Template Reference

#include <terminal.h>

Inheritance diagram for ttg::OutTerminalBase< keyT >:
[legend]
Collaboration diagram for ttg::OutTerminalBase< keyT >:
[legend]

Public Types

using key_type = keyT
 
- Public Types inherited from ttg::TerminalBase
enum class  Type { Write , Read , Consume }
 describes the terminal type More...
 

Public Member Functions

 OutTerminalBase ()
 
auto nsuccessors () const
 
const auto & successors () const
 
template<typename Key = keyT>
std::enable_if_t<!meta::is_void_v< Key >, void > set_size (const Key &key, std::size_t size)
 
template<typename Key = keyT>
std::enable_if_t< meta::is_void_v< Key >, void > set_size (std::size_t size)
 
template<typename Key = keyT>
std::enable_if_t<!meta::is_void_v< Key >, void > finalize (const Key &key)
 
template<typename Key = keyT>
std::enable_if_t< meta::is_void_v< Key >, void > finalize ()
 
- Public Member Functions inherited from ttg::TerminalBase
TTBaseget_tt () const
 Return ptr to containing tt.
 
size_t get_index () const
 Returns index of terminal.
 
const std::string & get_name () const
 Returns name of terminal.
 
const std::string & get_key_type_str () const
 Returns string representation of key type.
 
const std::string & get_value_type_str () const
 Returns string representation of value type.
 
Type get_type () const
 Returns the terminal type.
 
const std::vector< TerminalBase * > & get_connections () const
 Get connections to successors.
 
const std::vector< TerminalBase * > & get_predecessors () const
 
void connect_pull_nopred (TerminalBase *p)
 
bool is_connected () const
 Returns true if this terminal (input or output) is connected.
 
virtual void connect (TerminalBase *in)=0
 
virtual ~TerminalBase ()=default
 

Static Public Attributes

static constexpr bool is_an_output_terminal = true
 
- Static Public Attributes inherited from ttg::TerminalBase
static constexpr bool is_a_terminal = true
 

Additional Inherited Members

- Public Attributes inherited from ttg::TerminalBase
bool is_pull_terminal = false
 
- Protected Member Functions inherited from ttg::TerminalBase
 TerminalBase (Type type)
 
void set (TTBase *tt, size_t index, const std::string &name, const std::string &key_type_str, const std::string &value_type_str, Type type)
 
void connect_base (TerminalBase *successor)
 
void connect_pull (TerminalBase *predecessor)
 

Detailed Description

template<typename keyT = void>
class ttg::OutTerminalBase< keyT >

A base type for output terminals that send messages annotated by task IDs of type KeyT

Template Parameters
<keyT>a task ID type (can be void)

Definition at line 374 of file terminal.h.

Member Typedef Documentation

◆ key_type

template<typename keyT = void>
using ttg::OutTerminalBase< keyT >::key_type = keyT

Definition at line 376 of file terminal.h.

Constructor & Destructor Documentation

◆ OutTerminalBase()

template<typename keyT = void>
ttg::OutTerminalBase< keyT >::OutTerminalBase ( )
inline

Definition at line 388 of file terminal.h.

Member Function Documentation

◆ finalize() [1/2]

template<typename keyT = void>
template<typename Key = keyT>
std::enable_if_t< meta::is_void_v< Key >, void > ttg::OutTerminalBase< keyT >::finalize ( )
inline

Definition at line 418 of file terminal.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ finalize() [2/2]

template<typename keyT = void>
template<typename Key = keyT>
std::enable_if_t<!meta::is_void_v< Key >, void > ttg::OutTerminalBase< keyT >::finalize ( const Key &  key)
inline

Definition at line 410 of file terminal.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ nsuccessors()

template<typename keyT = void>
auto ttg::OutTerminalBase< keyT >::nsuccessors ( ) const
inline

Definition at line 390 of file terminal.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_size() [1/2]

template<typename keyT = void>
template<typename Key = keyT>
std::enable_if_t<!meta::is_void_v< Key >, void > ttg::OutTerminalBase< keyT >::set_size ( const Key &  key,
std::size_t  size 
)
inline

Definition at line 394 of file terminal.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_size() [2/2]

template<typename keyT = void>
template<typename Key = keyT>
std::enable_if_t< meta::is_void_v< Key >, void > ttg::OutTerminalBase< keyT >::set_size ( std::size_t  size)
inline

Definition at line 402 of file terminal.h.

Here is the call graph for this function:

◆ successors()

template<typename keyT = void>
const auto & ttg::OutTerminalBase< keyT >::successors ( ) const
inline

Definition at line 391 of file terminal.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ is_an_output_terminal

template<typename keyT = void>
constexpr bool ttg::OutTerminalBase< keyT >::is_an_output_terminal = true
staticconstexpr

Definition at line 378 of file terminal.h.


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