ttg::Traverse< TTVisitor, InVisitor, OutVisitor > Class Template Reference
Inheritance diagram for ttg::Traverse< TTVisitor, InVisitor, OutVisitor >:
Documentation
template<typename TTVisitor = detail::Traverse::null_visitor<TTBase>, typename InVisitor = detail::Traverse::null_visitor<TerminalBase>, typename OutVisitor = detail::Traverse::null_visitor<TerminalBase>>
class ttg::Traverse< TTVisitor, InVisitor, OutVisitor >
Traverses a graph of ops in depth-first manner following out edges.
- Template Parameters
-
TTVisitor A Callable type that visits each TT InVisitor A Callable type that visits each In terminal OutVisitor A Callable type that visits each Out terminal
Definition at line 144 of file traverse.h.
Public Member Functions | |
template<typename TTVisitor_ = detail::Traverse::null_visitor<TTBase>, typename InVisitor_ = detail::Traverse::null_visitor<TerminalBase>, typename OutVisitor_ = detail::Traverse::null_visitor<TerminalBase>> | |
Traverse (TTVisitor_ &&tt_v=TTVisitor_{}, InVisitor_ &&in_v=InVisitor_{}, OutVisitor_ &&out_v=OutVisitor_{}) | |
const TTVisitor & | tt_visitor () const |
const InVisitor & | in_visitor () const |
const OutVisitor & | out_visitor () const |
template<typename TTBasePtr , typename ... TTBasePtrs> | |
std::enable_if_t< std::is_base_of_v< TTBase, std::decay_t< decltype(*(std::declval< TTBasePtr >)))> > &&(std::is_base_of_v< TTBase, std::decay_t< decltype(*(std::declval< TTBasePtrs >)))> bool | operator() (TTBasePtr &&op, TTBasePtrs &&... ops) |
Constructor & Destructor Documentation
◆ Traverse()
template<typename TTVisitor = detail::Traverse::null_visitor<TTBase>, typename InVisitor = detail::Traverse::null_visitor<TerminalBase>, typename OutVisitor = detail::Traverse::null_visitor<TerminalBase>>
template<typename TTVisitor_ = detail::Traverse::null_visitor<TTBase>, typename InVisitor_ = detail::Traverse::null_visitor<TerminalBase>, typename OutVisitor_ = detail::Traverse::null_visitor<TerminalBase>>
|
inline |
Definition at line 159 of file traverse.h.
Member Function Documentation
◆ in_visitor()
template<typename TTVisitor = detail::Traverse::null_visitor<TTBase>, typename InVisitor = detail::Traverse::null_visitor<TerminalBase>, typename OutVisitor = detail::Traverse::null_visitor<TerminalBase>>
|
inline |
Definition at line 165 of file traverse.h.
◆ operator()()
template<typename TTVisitor = detail::Traverse::null_visitor<TTBase>, typename InVisitor = detail::Traverse::null_visitor<TerminalBase>, typename OutVisitor = detail::Traverse::null_visitor<TerminalBase>>
template<typename TTBasePtr , typename ... TTBasePtrs>
|
inline |
Definition at line 172 of file traverse.h.
◆ out_visitor()
template<typename TTVisitor = detail::Traverse::null_visitor<TTBase>, typename InVisitor = detail::Traverse::null_visitor<TerminalBase>, typename OutVisitor = detail::Traverse::null_visitor<TerminalBase>>
|
inline |
Definition at line 166 of file traverse.h.
◆ tt_visitor()
template<typename TTVisitor = detail::Traverse::null_visitor<TTBase>, typename InVisitor = detail::Traverse::null_visitor<TerminalBase>, typename OutVisitor = detail::Traverse::null_visitor<TerminalBase>>
|
inline |
Definition at line 164 of file traverse.h.
The documentation for this class was generated from the following file:
- ttg/ttg/traverse.h