![]() |
Home | Libraries | People | FAQ | More |
boost::proto::call — Make the given CallableTransform into a PrimitiveTransform.
// In header: <boost/proto/transform/call.hpp> template<typename T> struct call : proto::transform< call<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; }; };
The purpose of proto::call<> is to annotate a transform as callable so that proto::when<> knows how to apply it. The template parameter must be either a PrimitiveTransform or a CallableTransform; that is, a function type for which the return type is a callable PolymorphicFunctionObject.
For the complete description of the behavior of the proto::call<> transform, see the documentation for the nested proto::call::impl<> class template.