1 <?xml version=
"1.0" encoding=
"utf-8"?>
3 Copyright 2012 Eric Niebler
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)
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>
12 <namespace name=
"boost">
13 <namespace name=
"proto">
14 <namespace name=
"functional">
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>
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.
32 <type><classname>proto::callable
</classname></type>
34 <struct-specialization name=
"result">
36 <template-type-parameter name=
"This"/>
37 <template-type-parameter name=
"Seq"/>
40 <template-arg>This(Seq)
</template-arg>
43 <type>result
< This(Seq const
&)
></type>
45 </struct-specialization>
46 <struct-specialization name=
"result">
48 <template-type-parameter name=
"This"/>
49 <template-type-parameter name=
"Seq"/>
52 <template-arg>This(Seq
&)
</template-arg>
55 <type>fusion::result_of::pop_front
< Seq
></type>
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>
62 <template-type-parameter name=
"Seq"/>
64 <parameter name=
"seq">
65 <paramtype>Seq
&</paramtype>
68 <para><computeroutput>fusion::pop_front(seq)
</computeroutput></para>
71 <method name=
"operator()" cv=
"const">
72 <type>typename fusion::result_of::pop_front
< Seq const
>::type
</type>
74 <template-type-parameter name=
"Seq"/>
76 <parameter name=
"seq">
77 <paramtype>Seq const
&</paramtype>
80 <para><computeroutput>fusion::pop_front(seq)
</computeroutput></para>