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

25 Ranges library [ranges]

25.3 Range access [range.access]

25.3.15 ranges​::​data [range.prim.data]

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​::​data(E)appears in the immediate context of a template instantiation.

— _end note_]

[Note 2:

Whenever ranges​::​data(E) is a valid expression, it has pointer to object type.

— _end note_]