Implement logic for leaf nodes only. More...
#include <forEachLeafLogic.hpp>
Public Types | |
using | Impl = T_Impl |
See ForEachLeafLogic. | |
Public Types inherited from codi::TraversalLogic< T_Impl > | |
using | Impl = T_Impl |
See TraversalLogic. | |
Public Member Functions | |
Interface definition | |
template<typename Node , typename... Args> | |
void | handleActive (Node const &node, Args &&... args) |
Called for leaf nodes which implement LhsExpressionInterface. | |
template<typename Node , typename... Args> | |
void | handleConstant (Node const &node, Args &&... args) |
Called for leaf nodes which implement ConstantExpression. | |
Overwrites from TraversalLogic | |
template<typename Node , typename... Args> | |
ExpressionTraits::EnableIfLhsExpression< Node > | leaf (Node const &node, Args &&... args) |
Called for all leaf nodes in the expression. | |
template<typename Node , typename... Args> | |
ExpressionTraits::EnableIfConstantExpression< Node > | leaf (Node const &node, Args &&... args) |
Called for all leaf nodes in the expression. | |
Public Member Functions inherited from codi::TraversalLogic< T_Impl > | |
Impl & | cast () |
Cast to the implementation. | |
template<typename Node , typename... Args> | |
void | eval (NodeInterface< Node > const &node, Args &&... args) |
Start the evaluation of the logic on the given expression. | |
template<typename Node , typename... Args> | |
void | node (Node const &node, Args &&... args) |
Called for each node in the expression. | |
template<typename Node , typename... Args> | |
void | leaf (Node const &node, Args &&... args) |
Called for all leaf nodes in the expression. | |
template<size_t ChildNumber, typename Child , typename Root , typename... Args> | |
void | link (Child const &child, Root const &root, Args &&... args) |
Called for all links in the expression. | |
Additional Inherited Members | |
Protected Member Functions inherited from codi::TraversalLogic< T_Impl > | |
template<typename Node , typename... Args> | |
void | toLinks (Node const &node, Args &&... args) |
Helper method which calls forEachLink on the node. | |
template<typename Node , typename... Args> | |
void | toNode (Node const &node, Args &&... args) |
Helper method to distinguish between leaf nodes and normal nodes. | |
Implement logic for leaf nodes only.
This class calls:
For details about the expression traversal see TraversalLogic.
T_Impl | Class implementing this interface. |
|
inline |
Called for all leaf nodes in the expression.
Default: Does nothing.
|
inline |
Called for all leaf nodes in the expression.
Default: Does nothing.