123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- <?xml version="1.0" encoding="utf-8"?>
- <!--
- Copyright 2012 Eric Niebler
- Distributed under the Boost
- Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- -->
- <header name="boost/proto/functional/std/iterator.hpp">
- <para>Includes Proto callables for the functions found in the standard <code><iterator> header</code>.</para>
- <namespace name="boost">
- <namespace name="proto">
- <namespace name="functional">
- <!-- proto::functional::advance -->
- <struct name="advance">
- <purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
- <code>std::advance()</code> function on its arguments.</purpose>
- <description>
- <para>
- A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
- <code>std::advance()</code> function on its arguments.</para>
- </description>
- <inherit>
- <type><classname>proto::callable</classname></type>
- </inherit>
- <typedef name="result_type">
- <type>void</type>
- </typedef>
- <method-group name="public member functions">
- <method name="operator()" cv="const">
- <type>void</type>
- <template>
- <template-type-parameter name="InputIterator"/>
- </template>
- <template>
- <template-type-parameter name="Distance"/>
- </template>
- <parameter name="x">
- <paramtype>InputIterator &</paramtype>
- </parameter>
- <parameter name="n">
- <paramtype>Distance</paramtype>
- </parameter>
- <description>
- <para>Calls <code>std::advance(x, n)</code></para>
- </description>
- </method>
- </method-group>
- </struct>
- <!-- proto::functional::distance -->
- <struct name="distance">
- <purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
- <code>std::distance()</code> function on its arguments.</purpose>
- <description>
- <para>
- A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
- <code>std::distance()</code> function on its arguments.</para>
- </description>
- <inherit>
- <type><classname>proto::callable</classname></type>
- </inherit>
- <struct-specialization name="result">
- <template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="InputIterator"/>
- </template>
- <specialization>
- <template-arg>This(InputIterator, InputIterator)</template-arg>
- </specialization>
- <typedef name="type">
- <type>typename std::iterator_traits<
- typename boost::remove_const<
- typename boost::remove_reference<InputIterator>::type
- >::type
- >::difference_type</type>
- </typedef>
- </struct-specialization>
- <method-group name="public member functions">
- <method name="operator()" cv="const">
- <type>void</type>
- <template>
- <template-type-parameter name="InputIterator"/>
- </template>
- <parameter name="first">
- <paramtype>InputIterator</paramtype>
- </parameter>
- <parameter name="last">
- <paramtype>InputIterator</paramtype>
- </parameter>
- <returns>
- <para><code>std::distance(first, last)</code></para>
- </returns>
- </method>
- </method-group>
- </struct>
-
- <!-- proto::functional::next -->
- <struct name="next">
- <purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
- <code>std::next()</code> function on its arguments.</purpose>
- <description>
- <para>
- A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
- <code>std::next()</code> function on its arguments.</para>
- </description>
- <inherit>
- <type><classname>proto::callable</classname></type>
- </inherit>
- <struct-specialization name="result">
- <template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="ForwardIterator"/>
- </template>
- <specialization>
- <template-arg>This(ForwardIterator)</template-arg>
- </specialization>
- <typedef name="type">
- <type>typename boost::remove_const<
- typename boost::remove_reference<ForwardIterator>::type
- >::type</type>
- </typedef>
- </struct-specialization>
- <struct-specialization name="result">
- <template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="ForwardIterator"/>
- <template-type-parameter name="Distance"/>
- </template>
- <specialization>
- <template-arg>This(ForwardIterator, Distance)</template-arg>
- </specialization>
- <typedef name="type">
- <type>typename boost::remove_const<
- typename boost::remove_reference<ForwardIterator>::type
- >::type</type>
- </typedef>
- </struct-specialization>
- <method-group name="public member functions">
- <method name="operator()" cv="const">
- <type>void</type>
- <template>
- <template-type-parameter name="ForwardIterator"/>
- </template>
- <parameter name="x">
- <paramtype>ForwardIterator</paramtype>
- </parameter>
- <returns>
- <para><code>std::next(x)</code></para>
- </returns>
- </method>
- <method name="operator()" cv="const">
- <type>void</type>
- <template>
- <template-type-parameter name="ForwardIterator"/>
- </template>
- <parameter name="x">
- <paramtype>ForwardIterator</paramtype>
- </parameter>
- <parameter name="n">
- <paramtype>typename std::iterator_traits<ForwardIterator>::difference_type</paramtype>
- </parameter>
- <returns>
- <para><code>std::next(x, n)</code></para>
- </returns>
- </method>
- </method-group>
- </struct>
- <!-- proto::functional::prior -->
- <struct name="prior">
- <purpose>A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
- <code>std::prior()</code> function on its arguments.</purpose>
- <description>
- <para>
- A <conceptname>PolymorphicFunctionObject</conceptname> type that invokes the
- <code>std::prior()</code> function on its arguments.</para>
- </description>
- <inherit>
- <type><classname>proto::callable</classname></type>
- </inherit>
- <struct-specialization name="result">
- <template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="BidirectionalIterator"/>
- </template>
- <specialization>
- <template-arg>This(BidirectionalIterator)</template-arg>
- </specialization>
- <typedef name="type">
- <type>typename boost::remove_const<
- typename boost::remove_reference<BidirectionalIterator>::type
- >::type</type>
- </typedef>
- </struct-specialization>
- <struct-specialization name="result">
- <template>
- <template-type-parameter name="This"/>
- <template-type-parameter name="BidirectionalIterator"/>
- <template-type-parameter name="Distance"/>
- </template>
- <specialization>
- <template-arg>This(BidirectionalIterator, Distance)</template-arg>
- </specialization>
- <typedef name="type">
- <type>typename boost::remove_const<
- typename boost::remove_reference<BidirectionalIterator>::type
- >::type</type>
- </typedef>
- </struct-specialization>
- <method-group name="public member functions">
- <method name="operator()" cv="const">
- <type>void</type>
- <template>
- <template-type-parameter name="BidirectionalIterator"/>
- </template>
- <parameter name="x">
- <paramtype>BidirectionalIterator</paramtype>
- </parameter>
- <returns>
- <para><code>std::prior(x)</code></para>
- </returns>
- </method>
- <method name="operator()" cv="const">
- <type>void</type>
- <template>
- <template-type-parameter name="BidirectionalIterator"/>
- </template>
- <parameter name="x">
- <paramtype>BidirectionalIterator</paramtype>
- </parameter>
- <parameter name="n">
- <paramtype>typename std::iterator_traits<BidirectionalIterator>::difference_type</paramtype>
- </parameter>
- <returns>
- <para><code>std::prior(x, n)</code></para>
- </returns>
- </method>
- </method-group>
- </struct>
- </namespace>
- </namespace>
- </namespace>
- </header>
|