]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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/functional/fusion/pop_front.hpp"> | |
10 | <para>Includes Proto callable <computeroutput><classname>boost::proto::functional::pop_front</classname></computeroutput>.</para> | |
11 | ||
12 | <namespace name="boost"> | |
13 | <namespace name="proto"> | |
14 | <namespace name="functional"> | |
15 | ||
16 | <!-- proto::functional::pop_front --> | |
17 | <struct name="pop_front"> | |
18 | <purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the | |
19 | <computeroutput>fusion::pop_front()</computeroutput> algorithm on its argument.</purpose> | |
20 | <description> | |
21 | <para> | |
22 | A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the | |
23 | <computeroutput>fusion::pop_front()</computeroutput> algorithm on its argument. This is | |
24 | useful for defining a <conceptname>CallableTransform</conceptname> such as | |
25 | <computeroutput>pop_front(_)</computeroutput>, which removes the first child from a Proto | |
26 | expression node. Such a transform might be used as the first argument to the | |
27 | <computeroutput><classname alt="proto::fold">proto::fold<></classname></computeroutput> | |
28 | transform; that is, fold all but the first child. | |
29 | </para> | |
30 | </description> | |
31 | <inherit> | |
32 | <type><classname>proto::callable</classname></type> | |
33 | </inherit> | |
34 | <struct-specialization name="result"> | |
35 | <template> | |
36 | <template-type-parameter name="This"/> | |
37 | <template-type-parameter name="Seq"/> | |
38 | </template> | |
39 | <specialization> | |
40 | <template-arg>This(Seq)</template-arg> | |
41 | </specialization> | |
42 | <inherit> | |
43 | <type>result< This(Seq const &) ></type> | |
44 | </inherit> | |
45 | </struct-specialization> | |
46 | <struct-specialization name="result"> | |
47 | <template> | |
48 | <template-type-parameter name="This"/> | |
49 | <template-type-parameter name="Seq"/> | |
50 | </template> | |
51 | <specialization> | |
52 | <template-arg>This(Seq &)</template-arg> | |
53 | </specialization> | |
54 | <inherit> | |
55 | <type>fusion::result_of::pop_front< Seq ></type> | |
56 | </inherit> | |
57 | </struct-specialization> | |
58 | <method-group name="public member functions"> | |
59 | <method name="operator()" cv="const"> | |
60 | <type>typename fusion::result_of::pop_front< Seq >::type</type> | |
61 | <template> | |
62 | <template-type-parameter name="Seq"/> | |
63 | </template> | |
64 | <parameter name="seq"> | |
65 | <paramtype>Seq &</paramtype> | |
66 | </parameter> | |
67 | <returns> | |
68 | <para><computeroutput>fusion::pop_front(seq)</computeroutput></para> | |
69 | </returns> | |
70 | </method> | |
71 | <method name="operator()" cv="const"> | |
72 | <type>typename fusion::result_of::pop_front< Seq const >::type</type> | |
73 | <template> | |
74 | <template-type-parameter name="Seq"/> | |
75 | </template> | |
76 | <parameter name="seq"> | |
77 | <paramtype>Seq const &</paramtype> | |
78 | </parameter> | |
79 | <returns> | |
80 | <para><computeroutput>fusion::pop_front(seq)</computeroutput></para> | |
81 | </returns> | |
82 | </method> | |
83 | </method-group> | |
84 | </struct> | |
85 | ||
86 | </namespace> | |
87 | </namespace> | |
88 | </namespace> | |
89 | </header> |