...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Moves an iterator by a specified distance.
template< typename I, int N > struct advance_c { typedef unspecified type; };
Table 1.18. Parameters
Parameter |
Requirement |
Description |
---|---|---|
|
Model of Forward Iterator |
Iterator to move relative to |
|
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
#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_c
<first, 2>::type, third>));