Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::proto::call< Fun()>::impl< Expr, State, Data > Struct Template Reference

Either call the PolymorphicFunctionObject Fun with 0 arguments; or invoke the PrimitiveTransform Fun with 3 arguments: the current expression, state, and data. More...

#include <call.hpp>

Inheritance diagram for boost::proto::call< Fun()>::impl< Expr, State, Data >:
Collaboration diagram for boost::proto::call< Fun()>::impl< Expr, State, Data >:

Detailed Description

template<typename Fun>
template<typename Expr, typename State, typename Data>
struct boost::proto::call< Fun()>::impl< Expr, State, Data >

Either call the PolymorphicFunctionObject Fun with 0 arguments; or invoke the PrimitiveTransform Fun with 3 arguments: the current expression, state, and data.

If Fun is a nullary PolymorphicFunctionObject, return Fun()(). Otherwise, return Fun()(e, s, d).

Parameters
eThe current expression
sThe current state
dAn arbitrary data If Fun is a nullary PolymorphicFunctionObject, type is a typedef for boost::result_of<Fun()>::type. Otherwise, it is a typedef for boost::result_of<Fun(Expr, State, Data)>::type.

The documentation for this struct was generated from the following file: