STRUCT TEMPLATE A(3)

NAME
boost::proto::functional::as_expr - A callable PolymorphicFunctionObject that is equivalent to the proto::as_expr() function.

SYNOPSIS

// In header: <boost/proto/traits.hpp>
template<typename Domain = proto::default_domain>
struct as_expr :  proto::callable {
  // member classes/structs/unions
  template<typename This, typename T>
  struct result<This(T)> :  proto::result_of::as_expr< typename remove_reference< T >::type, Domain >
  {
  };
  // public member functions
  template<typename T>
    typename proto::result_of::as_expr< T, Domain >::type
    operator()(T &) const;
  template<typename T>
    typename proto::result_of::as_expr< T const, Domain >::type
    operator()(T const &) const;
};

DESCRIPTION

  as_expr public member functions

    1.

    template<typename T>
      typename proto::result_of::as_expr< T, Domain >::type
      operator()(T & t) const;

    Wrap an object in a Proto terminal if it isn't a Proto expression already.

    Parameters:

        t
            The object to wrap.

    Returns:
        proto::as_expr<Domain>(t)

    2.

    template<typename T>
      typename proto::result_of::as_expr< T const, Domain >::type
      operator()(T const & t) const;

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