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> | |
| inlineExpressionTraits::EnableIfLhsExpression< Node > | leaf (Node const &node, Args &&... args) |
| Called for all leaf nodes in the expression. | |
| template<typename Node, typename... Args> | |
| inlineExpressionTraits::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 > | |
| inlineImpl & | cast () |
| Cast to the implementation. | |
| template<typename Node, typename... Args> | |
| inlinevoid | eval (NodeInterface< Node > const &node, Args &&... args) |
| Start the evaluation of the logic on the given expression. | |
| template<typename Node, typename... Args> | |
| inlinevoid | node (Node const &node, Args &&... args) |
| Called for each node in the expression. | |
| template<typename Node, typename... Args> | |
| inlinevoid | leaf (Node const &node, Args &&... args) |
| Called for all leaf nodes in the expression. | |
| template<size_t ChildNumber, typename Child, typename Root, typename... Args> | |
| inlinevoid | 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> | |
| inlinevoid | toLinks (Node const &node, Args &&... args) |
| Helper method which calls link for each child. | |
| template<typename Node, typename... Args> | |
| inlinevoid | 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.