blob: 85edd9d7a3e0a505c2de95bcb3e9eab1752736aa [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<header name="boost/proto/functional/fusion/pop_front.hpp">
<para>Includes Proto callable <computeroutput><classname>boost::proto::functional::pop_front</classname></computeroutput>.</para>
<namespace name="boost">
<namespace name="proto">
<namespace name="functional">
<!-- proto::functional::pop_front -->
<struct name="pop_front">
<purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
<computeroutput>fusion::pop_front()</computeroutput> algorithm on its argument.</purpose>
<description>
<para>
A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
<computeroutput>fusion::pop_front()</computeroutput> algorithm on its argument. This is
useful for defining a <conceptname>CallableTransform</conceptname> such as
<computeroutput>pop_front(_)</computeroutput>, which removes the first child from a Proto
expression node. Such a transform might be used as the first argument to the
<computeroutput><classname alt="proto::fold">proto::fold&lt;&gt;</classname></computeroutput>
transform; that is, fold all but the first child.
</para>
</description>
<inherit>
<type><classname>proto::callable</classname></type>
</inherit>
<struct-specialization name="result">
<template>
<template-type-parameter name="This"/>
<template-type-parameter name="Seq"/>
</template>
<specialization>
<template-arg>This(Seq)</template-arg>
</specialization>
<inherit>
<type>result&lt; This(Seq const &amp;) &gt;</type>
</inherit>
</struct-specialization>
<struct-specialization name="result">
<template>
<template-type-parameter name="This"/>
<template-type-parameter name="Seq"/>
</template>
<specialization>
<template-arg>This(Seq &amp;)</template-arg>
</specialization>
<inherit>
<type>fusion::result_of::pop_front&lt; Seq &gt;</type>
</inherit>
</struct-specialization>
<method-group name="public member functions">
<method name="operator()" cv="const">
<type>typename fusion::result_of::pop_front&lt; Seq &gt;::type</type>
<template>
<template-type-parameter name="Seq"/>
</template>
<parameter name="seq">
<paramtype>Seq &amp;</paramtype>
</parameter>
<returns>
<para><computeroutput>fusion::pop_front(seq)</computeroutput></para>
</returns>
</method>
<method name="operator()" cv="const">
<type>typename fusion::result_of::pop_front&lt; Seq const &gt;::type</type>
<template>
<template-type-parameter name="Seq"/>
</template>
<parameter name="seq">
<paramtype>Seq const &amp;</paramtype>
</parameter>
<returns>
<para><computeroutput>fusion::pop_front(seq)</computeroutput></para>
</returns>
</method>
</method-group>
</struct>
</namespace>
</namespace>
</namespace>
</header>