: Equality preservation of both
ranges​::​begin and
ranges​::​end enables passing a
range whose iterator
type models
forward_Âiterator to multiple
algorithms and making multiple passes over the range by repeated calls to
ranges​::​begin and
ranges​::​end. Since
ranges​::​begin is not required to be equality-preserving
when the return type does not model
forward_Âiterator, repeated calls
might not return equal values or might not be well-defined;
ranges​::​begin should be called at most once for such a range
. —
end note