12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?xml version="1.0" ?>
- <!--
- Copyright 2008 Eric Niebler
- Distributed under the Boost
- Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- -->
- <concept name="Transform" category="utility">
- <param name="Tn" role="transform-type" />
- <param name="Expr" role="expression-type" />
- <param name="State" role="state-type" />
- <param name="Data" role="data-type" />
- <models-sentence>
- The type <arg num="1" /> must be a model of <self/>.
- </models-sentence>
- <description>
- <para>
- A Transform is a PrimitiveTransform, a CallableTransform
- or an ObjectTransform.
- </para>
- </description>
- <notation variables="expr">
- <sample-value>
- <type name="Expr" />
- </sample-value>
- </notation>
- <notation variables="state">
- <sample-value>
- <type name="State" />
- </sample-value>
- </notation>
- <notation variables="data">
- <sample-value>
- <type name="Data" />
- </sample-value>
- </notation>
- <associated-type name="result_type">
- <get-member-type name="type">
- <apply-template name="boost::result_of">
- <type name="when< _, Tn >(Expr, State, Data)"/>
- </apply-template>
- </get-member-type>
- <description>
- <simpara>The result of applying the Transform.</simpara>
- </description>
- </associated-type>
- <valid-expression name="Apply Transform">
- <apply-function name="when< _, Tn >()">
- <sample-value>
- <type name="Expr" />
- </sample-value>
- <sample-value>
- <type name="State" />
- </sample-value>
- <sample-value>
- <type name="Data" />
- </sample-value>
- </apply-function>
- <return-type>
- <require-same-type testable="yes">
- <type name="result_type"/>
- </require-same-type>
- </return-type>
- <semantics>Applies the transform.</semantics>
- </valid-expression>
- <example-model>
- <type name="boost::proto::_child(boost::proto::_left)" />
- </example-model>
- </concept>
|