Contains the
proto::eval()
expression evaluator.
A PolymorphicFunctionObject type for evaluating a given Proto
expression with a given context.
proto::callable
This(Expr, Context)
proto::result_of::eval<
typename boost::remove_reference< Expr >::type,
typename boost::remove_reference< Context >::type
>
typename proto::result_of::eval< Expr, Context >::type
Expr &
The Proto expression to evaluate.
Context &
The context in which the expression should be evaluated.
Evaluate a given Proto expression with a given context.
typename Context::template eval<Expr>()(expr, context)
typename proto::result_of::eval< Expr, Context >::type
Expr &
Context const &
This is an overloaded member function, provided for convenience. It differs from the above
function only in what argument(s) it accepts.
A metafunction for calculating the return type of
proto::eval() given a
certain Expr and Context types.
typename Context::template eval< Expr >::result_type
typename proto::result_of::eval< Expr, Context >::type
Expr &
The Proto expression to evaluate.
Context &
The context in which the expression should be evaluated.
typename proto::result_of::eval< Expr, Context >::type
Expr &
Context const &
Evaluate a given Proto expression with a given context.
typename Context::template eval<Expr>()(expr, context)