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> 90