Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
distance
template<class Init, class Dist>
ptrdiff_t distance(InIt first, InIt last);
The template function sets a count n to zero. It then effectively advances first and increments n until first == last. If InIt is a random-access iterator type, the function evaluates the expression n += last - first. Otherwise, it performs each iterator increment by evaluating ++first.
In this implementation, if a translator does not support partial specialization of templates, the return type is ptrdiff_t instead of iterator_traits<InIt>::distance_type. If you are not certain this type is adequate, use the template function:
template<class InIt, class Dist>
void _Distance(InIt first, InIt last, Dist& n0);
which adds n to the value stored in n0.
See the related sample program.