mirror of
https://github.com/boostorg/utility.git
synced 2026-01-28 10:02:19 +01:00
By using Boost.Iterator we rely on the separate traversal category instead of the standard iterator category to advance iterators efficiently. For instance, this allows to advance transform iterators over a random access sequence in constant time, despite that they are formally input iterators. Also, std::reverse_iterator formally requires at least bidirectional iterator as the underlying iterator type. Transform iterators from the example above don't qualify, so potentially std::reverse_iterator could fail to compile.