.. Copyright (C) 2017 Michel Morin. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ======== distance ======== ``boost::iterators::distance`` is an adapted version of ``std::distance`` for the Boost iterator traversal concepts. Header ------ ```` Synopsis -------- :: template constexpr typename iterator_difference::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 |C| 2017 Michel Morin | Distributed under the `Boost Software License, Version 1.0 `_. .. |C| unicode:: U+00A9 .. COPYRIGHT SIGN