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
|
<?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> class template.</purpose>
<description>
<para>
A type sequence, for use as the 2<superscript>nd</superscript> parameter to the <computeroutput>
<classname alt="proto::expr">proto::expr<></classname></computeroutput> class template. The
types in the sequence correspond to the children of a node in an expression tree.
</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> class template.</purpose>
<description>
<para>
Type sequences, for use as the 2<superscript>nd</superscript> parameter to the <computeroutput>
<classname>proto::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>
|