STRUCT TEMPLATE (3)

NAME
boost::proto::functional::make_expr - A PolymorphicFunctionObject equivalent to the proto::make_expr() function.

SYNOPSIS

// In header: <boost/proto/make_expr.hpp>
template<typename Tag, typename Domain = proto::deduce_domain>
struct make_expr :  proto::callable {
  // member classes/structs/unions
  template<typename This, typename... A>
  struct result<This(A...)> :
    proto::result_of::make_expr< Tag, Domain, A... > {
  };
  // public member functions
  template<typename... A>
    typename proto::result_of::make_expr< Tag, Domain, A const... >::type const
    operator()(A const &...) const;
};

DESCRIPTION

In all cases, proto::functional::make_expr<Tag, Domain>()(a...) is equivalent to proto::make_expr<Tag, Domain>(a...).

proto::functional::make_expr<Tag>()(a...) is equivalent to proto::make_expr<Tag>(a...).

  make_expr public member functions

    1.

    template<typename... A>
      typename proto::result_of::make_expr< Tag, Domain, A const... >::type const
      operator()(A const &... a) const;

    Construct an expression node with tag type Tag and in the domain Domain.

    Returns:
        proto::make_expr<Tag, Domain>(a...)