Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

distance

Description

Returns the distance between two iterators.

Synopsis
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


Expression Semantics
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.

Header
#include <boost/fusion/iterator/distance.hpp>
#include <boost/fusion/include/distance.hpp>
Example
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);

PrevUpHomeNext