ttg 1.0.0-alpha
Template Task Graph (TTG): flowgraph-based programming model for high-performance distributed-memory algorithms
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
ttg::detail::Traverse Class Referenceabstract

Traverses a graph of TTs in depth-first manner following out edges. More...

#include <traverse.h>

Inheritance diagram for ttg::detail::Traverse:
[legend]

Classes

struct  null_visitor
 

Public Member Functions

virtual void ttfunc (TTBase *tt)=0
 
virtual void infunc (TerminalBase *in)=0
 
virtual void outfunc (TerminalBase *out)=0
 
void reset ()
 
bool traverse (TTBase *tt)
 
template<typename TT >
std::enable_if_t< std::is_base_of_v< TTBase, TT > &&!std::is_same_v< TT, TTBase >, bool > traverse (TT *tt)
 
template<typename TT >
std::enable_if_t< std::is_base_of_v< TTBase, TT >, bool > traverse (const std::shared_ptr< TTBase > &tt)
 
template<typename TT , typename Deleter >
std::enable_if_t< std::is_base_of_v< TTBase, TT >, bool > traverse (const std::unique_ptr< TT, Deleter > &tt)
 

Detailed Description

Traverses a graph of TTs in depth-first manner following out edges.

Definition at line 14 of file traverse.h.

Member Function Documentation

◆ infunc()

virtual void ttg::detail::Traverse::infunc ( TerminalBase in)
pure virtual

Implemented in ttg::Dot.

Here is the caller graph for this function:

◆ outfunc()

virtual void ttg::detail::Traverse::outfunc ( TerminalBase out)
pure virtual

Implemented in ttg::Dot.

Here is the caller graph for this function:

◆ reset()

void ttg::detail::Traverse::reset ( )
inline

Definition at line 26 of file traverse.h.

Here is the caller graph for this function:

◆ traverse() [1/4]

template<typename TT >
std::enable_if_t< std::is_base_of_v< TTBase, TT >, bool > ttg::detail::Traverse::traverse ( const std::shared_ptr< TTBase > &  tt)
inline

Definition at line 113 of file traverse.h.

Here is the call graph for this function:

◆ traverse() [2/4]

template<typename TT , typename Deleter >
std::enable_if_t< std::is_base_of_v< TTBase, TT >, bool > ttg::detail::Traverse::traverse ( const std::unique_ptr< TT, Deleter > &  tt)
inline

Definition at line 120 of file traverse.h.

Here is the call graph for this function:

◆ traverse() [3/4]

template<typename TT >
std::enable_if_t< std::is_base_of_v< TTBase, TT > &&!std::is_same_v< TT, TTBase >, bool > ttg::detail::Traverse::traverse ( TT tt)
inline

Definition at line 106 of file traverse.h.

Here is the call graph for this function:

◆ traverse() [4/4]

bool ttg::detail::Traverse::traverse ( TTBase tt)
inline

Definition at line 30 of file traverse.h.

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

◆ ttfunc()

virtual void ttg::detail::Traverse::ttfunc ( TTBase tt)
pure virtual

Implemented in ttg::Dot.

Here is the caller graph for this function:

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