Files

1.5 KiB

distance

boost::iterators::distance is an adapted version of std::distance for the Boost iterator traversal concepts.

Header

<boost/iterator/distance.hpp>

Synopsis

template <typename Iterator>
constexpr typename iterator_difference<Iterator>::type
distance(Iterator first, Iterator last);

Description

Computes the (signed) distance from first to last.

Requirements

Iterator should model Single Pass Iterator.

Preconditions

If Iterator models Random Access Traversal Iterator, [first, last) or [last, first) should be valid; otherwise [first, last) should be valid.

Complexity

If Iterator models Random Access Traversal Iterator, it takes constant time; otherwise it takes linear time.

Notes

  • This function is not a customization point and is protected against being found by argument-dependent lookup (ADL).
  • This function is constexpr only in C++14 or later.

Author: Michel Morin
Copyright © 2017 Michel Morin
Distributed under the Boost Software License, Version 1.0.