Counts the number of nodes that inherit from LhsExpressionInterface in the expression. More...
#include <expressionTraits.hpp>

Public Types | |
| using | Base = CompileTimeTraversalLogic<size_t, NumberOfActiveTypeArguments<Expr>> |
| Abbreviation for the base class type. | |
Public Types inherited from codi::CompileTimeTraversalLogic< size_t, NumberOfActiveTypeArguments< Expr > > | |
| using | Impl |
| See CompileTimeTraversalLogic. | |
| using | ResultType |
| See CompileTimeTraversalLogic. | |
Public Member Functions | |
| template<typename Node, typename = ExpressionTraits::EnableIfLhsExpression<Node>> | |
| inlinestatic size_t constexpr | leaf () |
| Called for all leaf nodes in the expression. | |
Public Member Functions inherited from codi::CompileTimeTraversalLogic< size_t, NumberOfActiveTypeArguments< Expr > > | |
| inlinestatic ResultType constexpr | eval (Args &&... args) |
| Start the evaluation of the logic on the given 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 | 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. | |
| 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 = Base::template eval<Expr>() |
| See NumberOfActiveTypeArguments. | |
Static Public Attributes inherited from codi::CompileTimeTraversalLogic< size_t, NumberOfActiveTypeArguments< Expr > > | |
| static ResultType constexpr | NeutralElement |
| Neutral element of the reduction. | |
| static ResultType constexpr | NeutralElement |
| Neutral element of the reduction. | |
Additional Inherited Members | |
Protected Member Functions inherited from codi::CompileTimeTraversalLogic< size_t, NumberOfActiveTypeArguments< Expr > > | |
| inlinestatic ResultType constexpr | toNode (Args &&... args) |
| Helper method to distinguish between leaf nodes and normal nodes. | |
| inlinestatic ResultType constexpr | toNode (Args &&... args) |
| Helper method to distinguish between leaf nodes and normal nodes. | |
Counts the number of nodes that inherit from LhsExpressionInterface in the expression.
|
inlineconstexpr |
Called for all leaf nodes in the expression.
Must be a constexpr.
Default: Returns NeutralElement.