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


Hi,

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?

Regards,
Michel





Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk