Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::proto::functional::eval Struct Reference

A PolymorphicFunctionObject type for evaluating a given Proto expression with a given context. More...

#include <eval.hpp>

Classes

struct  result
 
struct  result< This(Expr, Context)>
 

Public Member Functions

template<typename Expr , typename Context >
proto::result_of::eval< Expr,
Context >::type 
operator() (Expr &e, Context &ctx) const
 Evaluate a given Proto expression with a given context. More...
 
template<typename Expr , typename Context >
proto::result_of::eval< Expr,
Context >::type 
operator() (Expr &e, Context const &ctx) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename Expr , typename Context >
proto::result_of::eval< Expr
const, Context >::type 
operator() (Expr const &e, Context &ctx) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename Expr , typename Context >
proto::result_of::eval< Expr
const, Context >::type 
operator() (Expr const &e, Context const &ctx) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 

Detailed Description

A PolymorphicFunctionObject type for evaluating a given Proto expression with a given context.

Member Function Documentation

template<typename Expr , typename Context >
proto::result_of::eval<Expr, Context>::type boost::proto::functional::eval::operator() ( Expr &  e,
Context &  ctx 
) const
inline

Evaluate a given Proto expression with a given context.

Parameters
exprThe Proto expression to evaluate
contextThe context in which the expression should be evaluated.
Returns
typename Context::template eval<Expr>()(expr, context)

References template.

template<typename Expr , typename Context >
proto::result_of::eval<Expr, Context>::type boost::proto::functional::eval::operator() ( Expr &  e,
Context const &  ctx 
) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References template.

template<typename Expr , typename Context >
proto::result_of::eval<Expr const, Context>::type boost::proto::functional::eval::operator() ( Expr const &  e,
Context &  ctx 
) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References template.

template<typename Expr , typename Context >
proto::result_of::eval<Expr const, Context>::type boost::proto::functional::eval::operator() ( Expr const &  e,
Context const &  ctx 
) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References template.


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