Namespaces
Variants

tuple-like , pair-like

From cppreference.net
Utilities library
template < class T >
concept tuple - like = /* siehe unten */ ;
(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 genau dann, wenn std:: remove_cvref_t < T > eine Spezialisierung von
(seit C++26)
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)
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)
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)