Boost logo

Boost :

Subject: [boost] [iterator][range] BoostIteratorTraversalConcepts-aware boost::advance/distance
From: Michel Morin (mimomorin_at_[hidden])
Date: 2017-06-28 20:03:55


The Boost iterator traversal concepts have not been adopted by the C++ Standard.
Because of this, some of RandomAccessTraversalIterators (Boost's concepts) are
treated as InputIterators (Standard's concepts) by the stdlib.

IMHO, Boost.Iterator should provide BoostIteratorTraversalConcepts-aware
`boost::advance` and `boost::distance` to avoid the inefficiencies. However,
neither of them are implemented. (Boost.Range has `boost::distance` for
ranges, but it just calls `std::distance`.)

I'm attaching files that implement `boost::advance` and `boost::distance`.
Would these functions be useful additions?


Boost list run by bdawes at, gregod at, cpdaniel at, john at