[range.prim.size] (original) (raw)

25 Ranges library [ranges]

25.3 Range access [range.access]

25.3.10 ranges​::​size [range.prim.size]

Given a subexpression E with type T, let t be an lvalue that denotes the reified object for E.

Then:

[Note 1:

Diagnosable ill-formed cases above result in substitution failure when ranges​::​size(E)appears in the immediate context of a template instantiation.

— _end note_]

[Note 2:

Whenever ranges​::​size(E) is a valid expression, its type is integer-like.

— _end note_]