Counts the number of types that inherit from ConstantExpression in the expression. More...
#include <expressionTraits.hpp>
Public Types | |
using | Base = CompileTimeTraversalLogic<size_t, NumberOfConstantTypeArguments<Expr>> |
Abbreviation for the base class type. | |
Public Types inherited from codi::CompileTimeTraversalLogic< size_t, NumberOfConstantTypeArguments< Expr > > | |
using | Impl |
See CompileTimeTraversalLogic. | |
using | ResultType |
See CompileTimeTraversalLogic. | |
Static Public Member Functions | |
template<typename Node , typename = EnableIfConstantExpression<Node>> | |
static size_t constexpr | leaf () |
Called for all leaf nodes in the expression. | |
Static Public Member Functions inherited from codi::CompileTimeTraversalLogic< size_t, NumberOfConstantTypeArguments< Expr > > | |
static ResultType constexpr | eval (Args &&... args) |
Start the evaluation of the logic on the given expression. | |
static ResultType constexpr | reduce (ResultType a, ResultType b) |
Reduction operation for the results of two links. | |
static ResultType constexpr | node (Args &&... args) |
Called for each node in the expression. | |
static ResultType constexpr | leaf (Args &&...) |
Called for all leaf nodes in the expression. | |
static 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 NumberOfConstantTypeArguments. | |
Static Public Attributes inherited from codi::CompileTimeTraversalLogic< size_t, NumberOfConstantTypeArguments< Expr > > | |
static ResultType constexpr | NeutralElement |
Neutral element of the reduction. | |
Additional Inherited Members | |
Static Protected Member Functions inherited from codi::CompileTimeTraversalLogic< size_t, NumberOfConstantTypeArguments< Expr > > | |
static ResultType constexpr | toLinks (Args &&... args) |
Helper method which calls forEachLinkConstExpr on the node. | |
static ResultType constexpr | toNode (Args &&... args) |
Helper method to distinguish between leaf nodes and normal nodes. | |
Counts the number of types that inherit from ConstantExpression in the expression.
|
inlinestaticconstexpr |
Called for all leaf nodes in the expression.
Must be a constexpr.
Default: Returns NeutralElement.