A BinaryFunction that accepts a Proto expression and a callable context and calls the context with the expression tag and children as arguments, effectively fanning the expression out. More...
#include <callable.hpp>
Public Types | |
typedef proto::result_of::value< Expr const & >::type | value_type |
typedef BOOST_PROTO_RESULT_OF < Context(typename Expr::proto_tag, value_type) > ::type | result_type |
Public Member Functions | |
result_type | operator() (Expr &expr, Context &context) const |
A BinaryFunction that accepts a Proto expression and a callable context and calls the context with the expression tag and children as arguments, effectively fanning the expression out.
callable_eval<>
requires that Context
is a PolymorphicFunctionObject that can be invoked with Expr's
tag and children as expressions, as follows:
typedef BOOST_PROTO_RESULT_OF< Context(typename Expr::proto_tag, value_type) >::type boost::proto::context::callable_eval< Expr, Context, 0 >::result_type |
typedef proto::result_of::value<Expr const &>::type boost::proto::context::callable_eval< Expr, Context, 0 >::value_type |
|
inline |
expr | The current expression |
context | The callable evaluation context |
context(Expr::proto_tag(), value(expr))
References boost::phoenix::context(), and boost::proto::value().