...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Returns the distance between two iterators.
template< typename I, typename J > struct distance { typedef unspecified type; };
Table 1.16. Parameters
Parameter |
Requirement |
Description |
---|---|---|
|
Models of Forward Iterator into the same sequence |
The start and end points of the distance to be measured |
result_of::distance
<I, J>::type
Return type: A model of MPL Integral Constant.
Semantics: Returns the distance between
iterators of types I
and
J
.
#include <boost/fusion/iterator/distance.hpp> #include <boost/fusion/include/distance.hpp>
typedefvector
<int,double,char> vec; typedefresult_of::begin
<vec>::type first; typedefresult_of::next
<first>::type second; typedefresult_of::next
<second>::type third; typedefresult_of::distance
<first,third>::type dist; BOOST_MPL_ASSERT_RELATION(dist::value, ==, 2);