![]() |
Home | Libraries | People | FAQ | More |
Moves an iterator a specified distance.
template< typename I, typename M > struct advance { typedef unspecified type; };
Table 1.17. Parameters
|
Parameter |
Requirement |
Description |
|---|---|---|
|
|
Model of Forward Iterator |
Iterator to move relative to |
|
|
Model of MPL Integral Constant |
Number of positions to move |
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.
#include <boost/fusion/iterator/advance.hpp> #include <boost/fusion/include/advance.hpp>
typedefvector<int,double,char> vec; typedefresult_of::begin<vec>::type first; typedefresult_of::next<first>::type second; typedefresult_of::next<second>::type third; BOOST_MPL_ASSERT((result_of::equal_to<result_of::advance<first, boost::mpl::int_<2> >::type, third>));