STRUCT LEFT(3)

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

SYNOPSIS

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

DESCRIPTION

  left public member functions

    1.

    template<typename Expr>
      typename proto::result_of::left< Expr & >::type
      operator()(Expr & expr) const;

    Return the left child of the given binary expression.

    Parameters:

        expr
            The expression node.

    Requires:
        proto::is_expr<Expr>::value is true

        2 == Expr::proto_arity::value

    Returns:
        proto::left(expr)

    Throws:
        Will not throw.

    2.

    template<typename Expr>
      typename proto::result_of::left< Expr const & >::type
      operator()(Expr const & expr) const;

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