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< 39 typename boost::remove_reference<Seq>::type 40 , typename boost::remove_const<typename boost::remove_reference<N>::type>::type 41 ></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< Seq, N >::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 &</paramtype> 53 </parameter> 54 <parameter name="n"> 55 <paramtype>N const &</paramtype> 56 </parameter> 57 <returns> 58 <para><computeroutput>fusion::at<N>(seq)</computeroutput></para> 59 </returns> 60 </method> 61 <method name="operator()" cv="const"> 62 <type>typename fusion::result_of::at< Seq const, N >::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 &</paramtype> 69 </parameter> 70 <parameter name="n"> 71 <paramtype>N const &</paramtype> 72 </parameter> 73 <returns> 74 <para><computeroutput>fusion::at<N>(seq)</computeroutput></para> 75 </returns> 76 </method> 77 </method-group> 78 </struct> 79 80 </namespace> 81 </namespace> 82 </namespace> 83</header> 84