: ranges::size(t) is otherwise not required to be
well-defined after evaluating
ranges::begin(t). For example,
ranges::size(t) might 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