Namespaces
Variants

tuple-artig, pair-artig

Von de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Feature-Test-Makros der Bibliothek (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Koroutinen-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Dienstprogramme
Relationale Operatoren (veraltet in C++20)
Ganzzahl-Vergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Tausch und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabular-Typen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
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,
  • std::complex,
(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)
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)