Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Concept PrimitiveTransform

PrimitiveTransform

Description

A PrimitiveTransform is a 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. A PrimitiveTransform is also a PolymorphicFunctionObject implemented in terms of the nested impl<> template.

Associated types

  • result_type

    typename Fn::template impl<Expr, State, Data>::result_type

    The return type of the overloaded function call operator.

Notation

Fn
A type playing the role of primitive-transform-type in the PrimitiveTransform concept.
Expr
A type playing the role of expression-type in the PrimitiveTransform concept.
State
A type playing the role of state-type in the PrimitiveTransform concept.
Data
A type playing the role of data-type in the PrimitiveTransform concept.
fn
Object of type Fn
expr
Object of type Expr
state
Object of type State
data
Object of type Data

Valid expressions

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.

Models

  • boost::proto::_child_c< 0 >

PrevUpHomeNext