Boost C++ 库

...世界上最受尊敬和设计最精湛的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ 编码标准

PrevUpHomeNext

Struct eval

boost::proto::functional::eval — 用于使用给定上下文评估给定 Proto 表达式的多态函数对象类型。

概要

// In header: <boost/proto/eval.hpp>


struct eval :  proto::callable {
  // member classes/structs/unions
  template<typename This, typename Expr, typename Context> 
  struct result<This(Expr, Context)> :  
    proto::result_of::eval<
      typename boost::remove_reference< Expr >::type, 
      typename boost::remove_reference< Context >::type 
    >
  {
  };

  // public member functions
  template<typename Expr, typename Context> 
    typename proto::result_of::eval< Expr, Context >::type 
    operator()(Expr &, Context &) const;
  template<typename Expr, typename Context> 
    typename proto::result_of::eval< Expr, Context >::type 
    operator()(Expr &, Context const &) const;
};

描述

eval 公有成员函数

  1. template<typename Expr, typename Context> 
      typename proto::result_of::eval< Expr, Context >::type 
      operator()(Expr & expr, Context & context) const;
    使用给定上下文评估给定的 Proto 表达式。

    参数

    expr

    要评估的 Proto 表达式。

    context

    表达式应该在其中进行评估的上下文。

    返回值

    typename Context::template eval<Expr>()(expr, context)

  2. template<typename Expr, typename Context> 
      typename proto::result_of::eval< Expr, Context >::type 
      operator()(Expr & expr, Context const & context) const;

    这是一个重载的成员函数,为方便起见而提供。 它与上述函数的不同之处仅在于它接受的参数。


PrevUpHomeNext