• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/at.hpp">
10  <para>Includes Proto callable <computeroutput><classname>boost::proto::functional::at</classname></computeroutput>.</para>
11
12  <namespace name="boost">
13    <namespace name="proto">
14      <namespace name="functional">
15
16        <!-- proto::functional::at -->
17        <struct name="at">
18          <purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
19            <computeroutput>fusion::at()</computeroutput> accessor function on its arguments.</purpose>
20          <description>
21            <para>
22              A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
23              <computeroutput>fusion::at()</computeroutput> accessor function 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="N"/>
33            </template>
34            <specialization>
35              <template-arg>This(Seq, N)</template-arg>
36            </specialization>
37            <inherit>
38              <type>fusion::result_of::at&lt;
39      typename boost::remove_reference&lt;Seq&gt;::type
40    , typename boost::remove_const&lt;typename boost::remove_reference&lt;N&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::at&lt; Seq, N &gt;::type</type>
47              <template>
48                <template-type-parameter name="Seq"/>
49                <template-type-parameter name="N"/>
50              </template>
51              <parameter name="seq">
52                <paramtype>Seq &amp;</paramtype>
53              </parameter>
54              <parameter name="n">
55                <paramtype>N const &amp;</paramtype>
56              </parameter>
57              <returns>
58                <para><computeroutput>fusion::at&lt;N&gt;(seq)</computeroutput></para>
59              </returns>
60            </method>
61            <method name="operator()" cv="const">
62              <type>typename fusion::result_of::at&lt; Seq const, N &gt;::type</type>
63              <template>
64                <template-type-parameter name="Seq"/>
65                <template-type-parameter name="N"/>
66              </template>
67              <parameter name="seq">
68                <paramtype>Seq const &amp;</paramtype>
69              </parameter>
70              <parameter name="n">
71                <paramtype>N const &amp;</paramtype>
72              </parameter>
73              <returns>
74                <para><computeroutput>fusion::at&lt;N&gt;(seq)</computeroutput></para>
75              </returns>
76            </method>
77          </method-group>
78        </struct>
79
80      </namespace>
81    </namespace>
82  </namespace>
83</header>
84