| <?xml version="1.0" encoding="utf-8"?> |
| <header name="boost/proto/args.hpp"> |
| <para> |
| Contains definitions of the <computeroutput> |
| <classname alt="boost::proto::term">proto::term<></classname></computeroutput>, |
| <computeroutput><classname alt="boost::proto::listN">proto::list1<></classname></computeroutput>, |
| <computeroutput><classname alt="boost::proto::listN">proto::list2<></classname></computeroutput>, etc. |
| class templates. |
| </para> |
| |
| <namespace name="boost"> |
| <namespace name="proto"> |
| |
| <!-- proto::term<> --> |
| <struct name="term"> |
| <template> |
| <template-type-parameter name="T"/> |
| </template> |
| <purpose>A type sequence, for use as the 2<superscript>nd</superscript> parameter to the |
| <computeroutput><classname alt="proto::expr">proto::expr<></classname></computeroutput> and |
| <computeroutput><classname alt="proto::basic_expr">proto::basic_expr<></classname></computeroutput> |
| class templates.</purpose> |
| <description> |
| <para> |
| A type sequence with one element, for use as the 2<superscript>nd</superscript> parameter to the |
| <computeroutput><classname alt="proto::expr">proto::expr<></classname></computeroutput> and |
| <computeroutput><classname alt="proto::basic_expr">proto::basic_expr<></classname></computeroutput> |
| class templates. The sequence element represents the value of a terminal. |
| </para> |
| </description> |
| <data-member name="arity" specifiers="static"> |
| <purpose><computeroutput>= 0;</computeroutput></purpose> |
| <type>const long</type> |
| </data-member> |
| <typedef name="child0"> |
| <type>T</type> |
| </typedef> |
| </struct> |
| |
| <!-- proto::list1<>, proto::list2<> ... --> |
| <struct name="listN"> |
| <template> |
| <template-type-parameter name="Arg" pack="1"/> |
| </template> |
| <purpose><computeroutput>proto::list1<></computeroutput>, <computeroutput>proto::list2<></computeroutput>, etc., |
| are type sequences for use as the 2<superscript>nd</superscript> parameter to the |
| <computeroutput><classname>proto::expr<></classname></computeroutput> or |
| <computeroutput><classname>proto::basic_expr<></classname></computeroutput> class templates.</purpose> |
| <description> |
| <para> |
| Type sequences, for use as the 2<superscript>nd</superscript> parameter to the |
| <computeroutput><classname>proto::expr<></classname></computeroutput> or |
| <computeroutput><classname>proto::basic_expr<></classname></computeroutput> class template. The |
| types in the sequence correspond to the children of a node in an expression tree. |
| There is no type literally named "<computeroutput>listN</computeroutput>"; rather, there is |
| a set of types named |
| <computeroutput>proto::list1<></computeroutput>, |
| <computeroutput>proto::list2<></computeroutput>, etc. |
| </para> |
| </description> |
| <data-member name="arity" specifiers="static"> |
| <purpose><computeroutput>= N;</computeroutput></purpose> |
| <type>const long</type> |
| </data-member> |
| <typedef name="childM"> |
| <purpose>For each <replaceable>M</replaceable> in <replaceable>[0,N)</replaceable></purpose> |
| <type>Arg<replaceable>M</replaceable></type> |
| </typedef> |
| </struct> |
| |
| </namespace> |
| </namespace> |
| </header> |