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 CallableTransform

CallableTransform

Description

A CallableTransform is a function type or a function pointer type where the return type Fn is a PolymorphicFunctionObject and the arguments are Transforms. is_callable< Fn >::value must be true. The CallableTransform, when applied, has the effect of invoking the polymorphic function object Fn, passing as arguments the result(s) of applying transform(s) Tn.

Associated types

  • result_type

    boost::result_of<Fn(Transform<Tn, Expr, State, Data>::result_type...)>::type

    The result of applying the CallableTransform.

Notation

Fn
A type playing the role of polymorphic-function-object-type in the CallableTransform concept.
Tn
A type playing the role of transform-type in the CallableTransform concept.
Expr
A type playing the role of expression-type in the CallableTransform concept.
State
A type playing the role of state-type in the CallableTransform concept.
Data
A type playing the role of data-type in the CallableTransform 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

Apply Transform

when< _, Fn(Tn...)>()(expr, state, data)

result_type

Applies the transform.

Models

  • boost::proto::_child(boost::proto::_left)

PrevUpHomeNext