.working ======= <<<<<<< .working >>>>>>> .merge-right.r57125 ======= >>>>>>> .merge-right.r58299
![]() |
Home | Libraries | People | FAQ | More |
Moves an iterator by a specified distance.
<<<<<<< .workingtemplate< typename I, int N > struct advance_c { typedef unspecified type; };
Table 1.18. Parameters
Parameter |
Requirement |
Description |
---|---|---|
I |
Model of Forward Iterator |
Iterator to move relative to |
N |
Integer constant |
Number of positions to move |
result_of::advance_c<I, N>::type
Return type: A model of the same iterator concept as I.
Semantics: Returns an iterator a distance N from I. If I is a Bidirectional Iterator then N may be negative. Equivalent to result_of::advance<I, boost::mpl::int_<N> >::type.
<<<<<<< .working#include <boost/fusion/iterator/advance.hpp> #include <boost/fusion/include/advance.hpp><<<<<<< .working
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
typedefvector
<int,double,char> vec; typedefresult_of::begin
<vec>::type first; typedefresult_of::next
<first>::type second; typedefresult_of::next
<second>::type third; >>>>>>> .merge-right.r57125 BOOST_MPL_ASSERT((result_of::equal_to<result_of::advance_c<first, 2>::type, third>));