| Home | Libraries | People | FAQ | More

## Struct template _default

boost::proto::_default — A PrimitiveTransform that gives expressions their usual C++ behavior

## Synopsis

    // In header: <boost/proto/transform/default.hpp>

    template<typename Grammar = unspecified>
    struct _default :  proto::transform< _default<Grammar> > {
      // member classes/structs/unions
      template<typename Expr, typename State, typename Data>
      struct impl :  proto::transform_impl<Expr, State, Data> {
        // types
        typedef typename Expr::tag_type Tag;          // For exposition only
        typedef see-below result_type;

        // public member functions
        result_type operator()(typename impl::expr_param,
                               typename impl::state_param,
                               typename impl::data_param) const;

        // public data members
        static Expr s_expr;    // For exposition only
        static State s_state;    // For exposition only
        static Data s_data;    // For exposition only
      };
    };

## Description

For the complete description of the behavior of the `proto::_default` transform, see the documentation for the nested `proto::_default::impl<>` class template.

When used without specifying a `Grammar` parameter, `proto::_default` behaves as if the parameter were `proto::_default<>`.