24
Ranges library
[ranges]
24.3
Range access
[range.access]
24.3.14
ranges::cdata
[range.prim.cdata]
1
#
The name
ranges
::
cdata
denotes a customization point object (
[customization.
point.
object]
)
.
The expression
ranges
::
cdata
(
E
)
for a subexpression
E
of type
T
is expression-equivalent to:
(1.1)
ranges
::
data
(
static_cast
<
const
T
&
>
(
E
)
)
if
E
is an lvalue
.
(1.2)
Otherwise,
ranges
::
data
(
static_cast
<
const
T
&
&
>
(
E
)
)
.
2
#
[
Note
1
:
Whenever
ranges
::
cdata
(
E
)
is a valid expression, it has pointer to object type
.
—
end note
]