boost::proto::make — 一个 PrimitiveTransform,它通过评估任何嵌套的转换来计算类型,然后构造该类型的对象。
// In header: <boost/proto/transform/make.hpp> template<typename T> struct make : proto::transform< make<T> > { // member classes/structs/unions 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; }; };
proto::make<>
的目的是将转换标记为 ObjectTransform,以便 proto::when<>
知道如何应用它。
有关 proto::make<>
转换行为的完整描述,请参见嵌套的 proto::make::impl<>
类模板的文档。