]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/proto/doc/reference/args.xml
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / proto / doc / reference / args.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 Copyright 2012 Eric Niebler
4
5 Distributed under the Boost
6 Software License, Version 1.0. (See accompanying
7 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 -->
9 <header name="boost/proto/args.hpp">
10 <para>
11 Contains definitions of the <computeroutput>
12 <classname alt="boost::proto::term">proto::term&lt;&gt;</classname></computeroutput>,
13 <computeroutput><classname alt="boost::proto::listN">proto::list1&lt;&gt;</classname></computeroutput>,
14 <computeroutput><classname alt="boost::proto::listN">proto::list2&lt;&gt;</classname></computeroutput>, etc.
15 class templates.
16 </para>
17
18 <namespace name="boost">
19 <namespace name="proto">
20
21 <!-- proto::term<> -->
22 <struct name="term">
23 <template>
24 <template-type-parameter name="T"/>
25 </template>
26 <purpose>A type sequence, for use as the 2<superscript>nd</superscript> parameter to the
27 <computeroutput><classname alt="proto::expr">proto::expr&lt;&gt;</classname></computeroutput> and
28 <computeroutput><classname alt="proto::basic_expr">proto::basic_expr&lt;&gt;</classname></computeroutput>
29 class templates.</purpose>
30 <description>
31 <para>
32 A type sequence with one element, for use as the 2<superscript>nd</superscript> parameter to the
33 <computeroutput><classname alt="proto::expr">proto::expr&lt;&gt;</classname></computeroutput> and
34 <computeroutput><classname alt="proto::basic_expr">proto::basic_expr&lt;&gt;</classname></computeroutput>
35 class templates. The sequence element represents the value of a terminal.
36 </para>
37 </description>
38 <data-member name="arity" specifiers="static">
39 <purpose><computeroutput>= 0;</computeroutput></purpose>
40 <type>const long</type>
41 </data-member>
42 <typedef name="child0">
43 <type>T</type>
44 </typedef>
45 </struct>
46
47 <!-- proto::list1<>, proto::list2<> ... -->
48 <struct name="listN">
49 <template>
50 <template-type-parameter name="Arg" pack="1"/>
51 </template>
52 <purpose><computeroutput>proto::list1&lt;&gt;</computeroutput>, <computeroutput>proto::list2&lt;&gt;</computeroutput>, etc.,
53 are type sequences for use as the 2<superscript>nd</superscript> parameter to the
54 <computeroutput><classname>proto::expr&lt;&gt;</classname></computeroutput> or
55 <computeroutput><classname>proto::basic_expr&lt;&gt;</classname></computeroutput> class templates.</purpose>
56 <description>
57 <para>
58 Type sequences, for use as the 2<superscript>nd</superscript> parameter to the
59 <computeroutput><classname>proto::expr&lt;&gt;</classname></computeroutput> or
60 <computeroutput><classname>proto::basic_expr&lt;&gt;</classname></computeroutput> class template. The
61 types in the sequence correspond to the children of a node in an expression tree.
62 There is no type literally named "<computeroutput>listN</computeroutput>"; rather, there is
63 a set of types named
64 <computeroutput>proto::list1&lt;&gt;</computeroutput>,
65 <computeroutput>proto::list2&lt;&gt;</computeroutput>, etc.
66 </para>
67 </description>
68 <data-member name="arity" specifiers="static">
69 <purpose><computeroutput>= N;</computeroutput></purpose>
70 <type>const long</type>
71 </data-member>
72 <typedef name="childM">
73 <purpose>For each <replaceable>M</replaceable> in <replaceable>[0,N)</replaceable></purpose>
74 <type>Arg<replaceable>M</replaceable></type>
75 </typedef>
76 </struct>
77
78 </namespace>
79 </namespace>
80 </header>