Counts the number of nodes in the expression. More...
#include <expressionTraits.hpp>
Public Member Functions | |
template<typename Node> | |
inlinestatic size_t constexpr | node () |
Called for each node in the expression. | |
![]() | |
inlinestatic ResultType constexpr | eval (Args &&... args) |
Start the evaluation of the logic on the given expression. | |
inlinestatic ResultType constexpr | toLinks (Args &&... args) |
Helper method which calls the method 'link' on all links of the node and reduces the results. | |
inlinestatic ResultType constexpr | reduce (ResultType a, ResultType b) |
Reduction operation for the results of two links. | |
inlinestatic ResultType constexpr | node (Args &&... args) |
Called for each node in the expression. | |
inlinestatic ResultType constexpr | leaf (Args &&...) |
Called for all leaf nodes in the expression. | |
inlinestatic ResultType constexpr | link (Args &&... args) |
Called for all links in the expression. | |
Static Public Attributes | |
static size_t constexpr | value = NumberOfOperations::template eval<Expr>() |
See NumberOfOperations. | |
![]() | |
static ResultType constexpr | NeutralElement |
Neutral element of the reduction. | |
Additional Inherited Members | |
![]() | |
using | Impl |
See CompileTimeTraversalLogic. | |
using | ResultType |
See CompileTimeTraversalLogic. | |
![]() | |
inlinestatic ResultType constexpr | toNode (Args &&... args) |
Helper method to distinguish between leaf nodes and normal nodes. | |
Counts the number of nodes in the expression.
|
inlineconstexpr |
Called for each node in the expression.
Implementations can call the toLinks method in order to evaluate all links of the node.
Must be a constexpr.
Default: Call each link of the node and forward all arguments.