tuple-artig, pair-artig
Von de.cppreference.net
template< class T >
concept tuple-like = /* see below */;
|
(1) | (seit C++23) (nur zur Darstellung*) |
template< class T >
concept pair-like =
tuple-like<T> && std::tuple_size_v<std::remove_cvref_t<T>> == 2;
|
(2) | (seit C++23) (nur zur Darstellung*) |
1) Ein Typ
T modelliert und erfüllt das Konzept tuple-like wenn std::remove_cvref_t<T> eine Spezialisierung von
- std::array,
|
(seit C++26) |
- std::pair,
- std::tuple oder
- std::ranges::subrange ist.
2)
pair-like Objekte sind tuple-like Objekte mit genau 2 Elementen.Hinweise
tuple-like
Typen implementieren das
Tupel-Protokoll
, d.h. solche Typen können mit
std::get
,
std::tuple_element
und
std::tuple_size
verwendet werden.
Elemente von
tuple-like
-Typen können mit
structured binding
gebunden werden.
Siehe auch
tuple-like
und
pair-like
werden in den folgenden Standardbibliothek-Komponenten verwendet:
konstruiert ein neues
tuple
(öffentliche Elementfunktion) |
|
weist die Inhalte eines
tuple
einem anderen zu
(öffentliche Elementfunktion) |
|
|
(entfernt in C++20)
(entfernt in C++20)
(entfernt in C++20)
(entfernt in C++20)
(entfernt in C++20)
(C++20)
|
vergleicht die Werte im Tupel lexikografisch
(Funktions-Template) |
bestimmt den gemeinsamen Referenztyp eines
tuple
und eines
tuple-like
Typs
(Klassen-Template-Spezialisierung) |
|
|
(C++23)
|
bestimmt den gemeinsamen Typ eines
tuple
und eines
tuple-like
Typs
(Klassen-Template-Spezialisierung) |
|
(C++11)
|
erstellt ein
tuple
durch Verkettung beliebig vieler Tupel
(Funktions-Template) |
|
(C++17)
|
ruft eine Funktion mit einem Tupel von Argumenten auf
(Funktions-Template) |
|
(C++17)
|
konstruiert ein Objekt mit einem Tupel von Argumenten
(Funktions-Template) |
konstruiert ein neues
pair
(öffentliche Elementfunktion von
std::pair<T1,T2>
)
|
|
|
weist die Inhalte zu
(öffentliche Elementfunktion von
std::pair<T1,T2>
)
|
|
konvertiert das
subrange
in einen
pair-like
Typ
(öffentliche Elementfunktion von
std::ranges::subrange<I,S,K>
)
|
|
nimmt eine
view
bestehend aus
tuple-like
Werten und einer Zahl N und erzeugt eine
view
des N
ten
Elements jedes Tupels
(Klassen-Template) (Range-Adapter-Objekt) |