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

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
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