| Home | Libraries | People | FAQ | More

#### 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);