| Home | Libraries | People | FAQ | More

## Struct template make

boost::proto::make — A PrimitiveTransform that computes a type by evaluating any nested transforms and then constructs an object of that type.

## Synopsis

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

    template<typename T>
    struct make :  proto::transform< make<T> > {
      template<typename Expr, typename State, typename Data>
      struct impl :  proto::transform_impl< Expr, State, Data > {
        // types
        typedef see-below result_type;

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

## Description

The purpose of `proto::make<>` is to annotate a transform as an ObjectTransform so that `proto::when<>` knows how to apply it.

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