std::experimental::ranges:: reference_t, std::experimental::ranges:: rvalue_reference_t, std::experimental::ranges:: iter_common_reference_t
|
Definido en el encabezado
<experimental/ranges/iterator>
|
||
|
template
<
class
T
>
concept bool /*dereferenceable*/ = requires ( T & t ) { { * t } - > auto && ; } ; |
( solo para exposición* ) | |
|
template
<
/*dereferenceable*/
T
>
using reference_t = decltype ( * declval < T & > ( ) ) ; |
(1) | (ranges TS) |
|
template
<
/*dereferenceable*/
T
>
requires requires
(
T
&
t
)
{
{
ranges::
iter_move
(
t
)
}
-
>
auto
&&
;
}
|
(2) | (ranges TS) |
|
template
<
Readable T
>
using
iter_common_reference_t
=
ranges::
common_reference_t
<
ranges
::
reference_t
<
T
>
,
|
(3) | (ranges TS) |
T
.
T
, es decir, el tipo de retorno de
ranges::iter_move
.
Readable
tipo de
tipo de referencia común
. Este es el tipo de referencia común de su tipo de referencia y una referencia de lvalue a su tipo de valor.
Notas
La - > auto && restricción verifica que el tipo de la expresión no sea void .