Node side interface for the traversal of expressions.
More...
#include <nodeInterface.hpp>
|
Impl const & | cast () const |
| Cast to the implementation.
|
|
|
static bool constexpr | EndPoint = false |
| If this expression is handled as a leaf in the tree.
|
|
template<typename Logic , typename... Args> |
void | forEachLink (TraversalLogic< Logic > &logic, Args &&... args) const |
|
template<typename Logic , typename... Args> |
static Logic::ResultType constexpr | forEachLinkConstExpr (Args &&... args) |
|
template<typename T_Impl>
struct codi::NodeInterface< T_Impl >
Node side interface for the traversal of expressions.
See the TraversalLogic and CompileTimeTraversalLogic for details on how this interface is used.
Implementations need to call the link methods for each argument of the node.
- Template Parameters
-
◆ forEachLink()
template<typename T_Impl >
template<typename Logic , typename... Args>
Call the link method of the given logic for all arguments (links) of this node (not to be confused with args). Pass args to each call.
◆ forEachLinkConstExpr()
template<typename T_Impl >
template<typename Logic , typename... Args>
static Logic::ResultType constexpr codi::NodeInterface< T_Impl >::forEachLinkConstExpr |
( |
Args &&... | args | ) |
|
|
inlinestaticconstexpr |
Call the link method of the given logic for all arguments (links) of this node (not to be confused with args). Pass args to each call.
The documentation for this struct was generated from the following file: