1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
<?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>
|