<<<<<<< .working ======= <<<<<<< .working >>>>>>> .merge-right.r57125 ======= >>>>>>> .merge-right.r58299
Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
<<<<<<< .working

advance

Description
=======
Description
>>>>>>> .merge-right.r57125

Moves an iterator a specified distance.

<<<<<<< .working
Synopsis
=======
Synopsis
>>>>>>> .merge-right.r57125
template<
    typename I,
    typename M
    >
struct advance
{
    typedef unspecified type;
};
<<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working

Table 1.17. Parameters

=======

Table 1.17. Parameters

=======

Table 1.18. Parameters

=======

Table 1.18. Parameters

=======

Table 1.18. Parameters

=======

Table 1.18. Parameters

=======

Table 1.18. Parameters

>>>>>>> .merge-right.r58559 >>>>>>> .merge-right.r58549 >>>>>>> .merge-right.r58299 >>>>>>> .merge-right.r57337 >>>>>>> .merge-right.r57242
>>>>>>> .merge-right.r57125

Parameter

Requirement

Description

I

Model of Forward Iterator

Iterator to move relative to

M

Model of MPL Integral Constant

Number of positions to move

<<<<<<< .working
Expression =======
Expression >>>>>>> .merge-right.r57125 Semantics
result_of::advance<I,M>::type

Return type: A model of the same iterator concept as I.

Semantics: Returns an iterator a distance M from I. If I is a Bidirectional Iterator then M may be negative.

<<<<<<< .working
Header
=======
Header
>>>>>>> .merge-right.r57125
#include <boost/fusion/iterator/advance.hpp>
#include <boost/fusion/include/advance.hpp>
<<<<<<< .working
Example
typedef vector<int,double,char> vec;
typedef result_of::begin<vec>::type first;
typedef result_of::next<first>::type second;
typedef result_of::next<second>::type third;
=======
Example
typedef vector<int,double,char> vec;
typedef result_of::begin<vec>::type first;
typedef result_of::next<first>::type second;
typedef result_of::next<second>::type third;
>>>>>>> .merge-right.r57125

BOOST_MPL_ASSERT((result_of::equal_to<result_of::advance<first, boost::mpl::int_<2> >::type, third>));

PrevUpHomeNext