Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::proto::context::callable_context< Context, DefaultCtx >::eval< Expr, ThisContext > Struct Template Reference

A BinaryFunction that accepts an Expr and a Context, and either fans out the expression and passes it to the context, or else hands off the expression to DefaultCtx. More...

#include <callable.hpp>

Inheritance diagram for boost::proto::context::callable_context< Context, DefaultCtx >::eval< Expr, ThisContext >:
Collaboration diagram for boost::proto::context::callable_context< Context, DefaultCtx >::eval< Expr, ThisContext >:

Public Types

typedef T type
 

Detailed Description

template<typename Context, typename DefaultCtx>
template<typename Expr, typename ThisContext = Context>
struct boost::proto::context::callable_context< Context, DefaultCtx >::eval< Expr, ThisContext >

A BinaryFunction that accepts an Expr and a Context, and either fans out the expression and passes it to the context, or else hands off the expression to DefaultCtx.

If Context is a PolymorphicFunctionObject such that it can be invoked with the tag and children of Expr, as ctx(Expr::proto_tag(), child_c<0>(expr), child_c<1>(expr)...), then eval<Expr, ThisContext> inherits from callable_eval<Expr, ThisContext>. Otherwise, eval<Expr, ThisContext> inherits from DefaultCtx::eval<Expr, Context>.

Member Typedef Documentation

typedef T boost::mpl::identity< BOOST_MPL_AUX_NA_PARAM >::type
inherited

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