[range.sized] (original) (raw)

[Note 1:

ranges​::​size(t) is otherwise not required to be well-defined after evaluating ranges​::​begin(t).

For example, it is possible for ranges​::​size(t) to be well-defined for a sized_range whose iterator type does not model forward_iteratoronly if evaluated before the first call to ranges​::​begin(t).

— _end note_]