std::experimental::ranges:: reference_t, std::experimental::ranges:: rvalue_reference_t, std::experimental::ranges:: iter_common_reference_t
|
Definiert im Header
<experimental/ranges/iterator>
|
||
|
template
<
class
T
>
concept bool /*dereferenceable*/ = requires ( T & t ) { { * t } - > auto && ; } ; |
( Nur zur Darstellung* ) | |
|
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
, also den Rückgabetyp von
ranges::iter_move
.
Readable
-Typ's
common reference type
. Dies ist der gemeinsame Referenztyp seines Referenztyps und einer Lvalue-Referenz auf seinen Werttyp.
Hinweise
Die - > auto && -Einschränkung prüft, dass der Typ des Ausdrucks nicht void ist.