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/push_back.hpp">
10  <para>Includes Proto callable <computeroutput><classname>boost::proto::functional::push_back</classname></computeroutput>.</para>
11
12  <namespace name="boost">
13    <namespace name="proto">
14      <namespace name="functional">
15
16        <!-- proto::functional::push_back -->
17        <struct name="push_back">
18          <purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
19            <computeroutput>fusion::push_back()</computeroutput> algorithm on its arguments.</purpose>
20          <description>
21            <para>
22              A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
23              <computeroutput>fusion::push_back()</computeroutput> algorithm on its arguments.</para>
24          </description>
25          <inherit>
26            <type><classname>proto::callable</classname></type>
27          </inherit>
28          <struct-specialization name="result">
29            <template>
30              <template-type-parameter name="This"/>
31              <template-type-parameter name="Seq"/>
32              <template-type-parameter name="T"/>
33            </template>
34            <specialization>
35              <template-arg>This(Seq, T)</template-arg>
36            </specialization>
37            <inherit>
38              <type>fusion::result_of::push_back&lt;
39      typename boost::add_const&lt;typename boost::remove_reference&lt;Seq&gt;::type&gt;::type
40    , typename boost::remove_const&lt;typename boost::remove_reference&lt;T&gt;::type&gt;::type
41  &gt;</type>
42            </inherit>
43          </struct-specialization>
44          <method-group name="public member functions">
45            <method name="operator()" cv="const">
46              <type>typename fusion::result_of::push_back&lt; Seq const, T &gt;::type</type>
47              <template>
48                <template-type-parameter name="Seq"/>
49                <template-type-parameter name="T"/>
50              </template>
51              <parameter name="seq">
52                <paramtype>Seq const &amp;</paramtype>
53              </parameter>
54              <parameter name="t">
55                <paramtype>T const &amp;</paramtype>
56              </parameter>
57              <returns>
58                <para><computeroutput>fusion::push_back(seq, t)</computeroutput></para>
59              </returns>
60            </method>
61          </method-group>
62        </struct>
63
64      </namespace>
65    </namespace>
66  </namespace>
67</header>
68