| <?xml version="1.0" encoding="utf-8"?> |
| <header name="boost/proto/transform/impl.hpp"> |
| <para>Contains definition of transform<> and transform_impl<> helpers. </para> |
| <namespace name="boost"> |
| <namespace name="proto"> |
| |
| <!-- proto::transform --> |
| <struct name="transform"> |
| <template> |
| <template-type-parameter name="PrimitiveTransform"/> |
| </template> |
| <purpose>Inherit from this to make your type a <conceptname>PrimitiveTransform</conceptname>.</purpose> |
| <struct-specialization name="result"> |
| <template> |
| <template-type-parameter name="This"/> |
| <template-type-parameter name="Expr"/> |
| </template> |
| <specialization> |
| <template-arg>This(Expr)</template-arg> |
| </specialization> |
| <typedef name="type"> |
| <type>typename PrimitiveTransform::template impl< Expr, <replaceable>unspecified</replaceable>, <replaceable>unspecified</replaceable> >::result_type</type> |
| </typedef> |
| </struct-specialization> |
| <struct-specialization name="result"> |
| <template> |
| <template-type-parameter name="This"/> |
| <template-type-parameter name="Expr"/> |
| <template-type-parameter name="State"/> |
| </template> |
| <specialization> |
| <template-arg>This(Expr, State)</template-arg> |
| </specialization> |
| <typedef name="type"> |
| <type>typename PrimitiveTransform::template impl< Expr, State, <replaceable>unspecified</replaceable> >::result_type</type> |
| </typedef> |
| </struct-specialization> |
| <struct-specialization name="result"> |
| <template> |
| <template-type-parameter name="This"/> |
| <template-type-parameter name="Expr"/> |
| <template-type-parameter name="State"/> |
| <template-type-parameter name="Data"/> |
| </template> |
| <specialization> |
| <template-arg>This(Expr, State, Data)</template-arg> |
| </specialization> |
| <typedef name="type"> |
| <type>typename PrimitiveTransform::template impl< Expr, State, Data >::result_type</type> |
| </typedef> |
| </struct-specialization> |
| <typedef name="transform_type"> |
| <type>PrimitiveTransform</type> |
| </typedef> |
| <method-group name="public member functions"> |
| <method name="operator()" cv="const"> |
| <type>typename PrimitiveTransform::template impl<Expr &, <replaceable>unspecified</replaceable>, <replaceable>unspecified</replaceable>>::result_type</type> |
| <template> |
| <template-type-parameter name="Expr"/> |
| </template> |
| <parameter name="expr"> |
| <paramtype>Expr &</paramtype> |
| </parameter> |
| <returns> |
| <computeroutput> |
| typename PrimitiveTransform::template impl<Expr &, <replaceable>unspecified</replaceable>, <replaceable>unspecified</replaceable>>()(expr, <replaceable>unspecified</replaceable>, <replaceable>unspecified</replaceable>) |
| </computeroutput> |
| </returns> |
| </method> |
| <method name="operator()" cv="const"> |
| <type>typename PrimitiveTransform::template impl<Expr &, State &, <replaceable>unspecified</replaceable>>::result_type</type> |
| <template> |
| <template-type-parameter name="Expr"/> |
| <template-type-parameter name="State"/> |
| </template> |
| <parameter name="expr"> |
| <paramtype>Expr &</paramtype> |
| </parameter> |
| <parameter name="state"> |
| <paramtype>State &</paramtype> |
| </parameter> |
| <returns> |
| <computeroutput> |
| typename PrimitiveTransform::template impl<Expr &, State &, <replaceable>unspecified</replaceable>>()(expr, state, <replaceable>unspecified</replaceable>) |
| </computeroutput> |
| </returns> |
| </method> |
| <method name="operator()" cv="const"> |
| <type>typename PrimitiveTransform::template impl<Expr &, State const &, <replaceable>unspecified</replaceable>>::result_type</type> |
| <template> |
| <template-type-parameter name="Expr"/> |
| <template-type-parameter name="State"/> |
| </template> |
| <parameter name="expr"> |
| <paramtype>Expr &</paramtype> |
| </parameter> |
| <parameter name="state"> |
| <paramtype>State const &</paramtype> |
| </parameter> |
| <returns> |
| <computeroutput> |
| typename PrimitiveTransform::template impl<Expr &, State const &, <replaceable>unspecified</replaceable>>()(expr, state, <replaceable>unspecified</replaceable>) |
| </computeroutput> |
| </returns> |
| </method> |
| <method name="operator()" cv="const"> |
| <type>typename PrimitiveTransform::template impl<Expr &, State &, Data &>::result_type</type> |
| <template> |
| <template-type-parameter name="Expr"/> |
| <template-type-parameter name="State"/> |
| <template-type-parameter name="Data"/> |
| </template> |
| <parameter name="expr"> |
| <paramtype>Expr &</paramtype> |
| </parameter> |
| <parameter name="state"> |
| <paramtype>State &</paramtype> |
| </parameter> |
| <parameter name="data"> |
| <paramtype>Data &</paramtype> |
| </parameter> |
| <returns> |
| <computeroutput> |
| typename PrimitiveTransform::template impl<Expr &, State &, Data &>()(expr, state, data) |
| </computeroutput> |
| </returns> |
| </method> |
| <method name="operator()" cv="const"> |
| <type>typename PrimitiveTransform::template impl<Expr &, State const &, Data &>::result_type</type> |
| <template> |
| <template-type-parameter name="Expr"/> |
| <template-type-parameter name="State"/> |
| <template-type-parameter name="Data"/> |
| </template> |
| <parameter name="expr"> |
| <paramtype>Expr &</paramtype> |
| </parameter> |
| <parameter name="state"> |
| <paramtype>State const &</paramtype> |
| </parameter> |
| <parameter name="data"> |
| <paramtype>Data &</paramtype> |
| </parameter> |
| <returns> |
| <computeroutput> |
| typename PrimitiveTransform::template impl<Expr &, State const &, Data &>()(expr, state, data) |
| </computeroutput> |
| </returns> |
| </method> |
| </method-group> |
| </struct> |
| |
| <!-- proto::transform_impl --> |
| <struct name="transform_impl"> |
| <template> |
| <template-type-parameter name="Expr"/> |
| <template-type-parameter name="State"/> |
| <template-type-parameter name="Data"/> |
| </template> |
| <typedef name="expr"> |
| <type>typename boost::remove_reference<Expr const>::type</type> |
| </typedef> |
| <typedef name="expr_param"> |
| <type>typename boost::add_reference<Expr const>::type</type> |
| </typedef> |
| <typedef name="state"> |
| <type>typename boost::remove_reference<State const>::type</type> |
| </typedef> |
| <typedef name="state_param"> |
| <type>typename boost::add_reference<State const>::type</type> |
| </typedef> |
| <typedef name="data"> |
| <type>typename boost::remove_reference<Data const>::type</type> |
| </typedef> |
| <typedef name="data_param"> |
| <type>typename boost::add_reference<Data const>::type</type> |
| </typedef> |
| </struct> |
| </namespace> |
| </namespace> |
| </header> |