...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
PrimitiveTransform
A PrimitiveTransform is class type that has a nested class template called impl that takes three template parameters representing an expression type, a state type and a data type. Specializations of the nested impl template are ternary monomorphic function objects that accept expression, state, and data parameters. The PrimitiveTransform is itself a PolymorphicFunctionObject that is implemented in terms of the nested impl template.
result_type
typename Fn::template impl<Expr, State, Data>::result_type
The return type of the overloaded function call operator.
fn
expr
state
data
Name | Expression | Type | Semantics |
---|---|---|---|
Polymorphic Function Call 1 |
fn(expr) |
result_type |
Applies the transform. |
Polymorphic Function Call 2 |
fn(expr, state) |
result_type |
Applies the transform. |
Polymorphic Function Call 3 |
fn(expr, state, data) |
result_type |
Applies the transform. |
Monomorphic Function Call |
typename Fn::template impl< Expr, State, Data >()(expr, state, data) |
result_type |
Applies the transform. |