std::experimental::ranges:: reference_t, std::experimental::ranges:: rvalue_reference_t, std::experimental::ranges:: iter_common_reference_t
|
Défini dans l'en-tête
<experimental/ranges/iterator>
|
||
|
template
<
class
T
>
concept bool /*dereferenceable*/ = requires ( T & t ) { { * t } - > auto && ; } ; |
( exposition uniquement* ) | |
|
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
, c'est-à-dire le type de retour de
ranges::iter_move
.
Readable
. Il s'agit du type de référence commun de son type de référence et d'une référence lvalue vers son type de valeur.
Notes
La - > auto && contrainte vérifie que le type de l'expression n'est pas void .