[range.sized]
[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_iterator only if evaluated before the first call to ranges::begin(t).
— end note]