The library includes the function templates
ranges::advance, ranges::distance,
ranges::next, and ranges::prev
to manipulate iterators.
These operations adapt to the set of operators
provided by each iterator category to provide the most efficient implementation
possible for a concrete iterator type.