...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 |
---|---|---|
I, J |
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>
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; typedef result_of::distance<first,third>::type dist; BOOST_MPL_ASSERT_RELATION(dist::value, ==, 2);