std::experimental::ranges::reference_t, std::experimental::ranges::rvalue_reference_t, std::experimental::ranges::iter_common_reference_t
Von cppreference.com
< cpp | experimental | ranges
| Definiert in Header <experimental/ranges/iterator> |
||
| template< class T > concept bool /*dereferenceable*/ = requires(T& t) { {*t} -> auto&&; }; |
(nur Exposition*) | |
| 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) |
1) Ruft den Referenztyp eines dereferenzierbaren Typs
T ab.2) Ruft den Rvalue-Referenztyp eines dereferenzierbaren Typs
T ab, d.h. den Rückgabetyp von ranges::iter_move.3) Berechnet den gemeinsamen Referenztyp eines
Readable-Typs. Dies ist der gemeinsame Referenztyp seines Referenztyps und einer Lvalue-Referenz zu seinem Werttyp.[bearbeiten] Hinweise
Die Einschränkung -> auto&& prüft, ob der Typ des Ausdrucks nicht void ist.