tuple-ähnlich, pair-ähnlich
Von cppreference.com
template< class T > concept tuple-like = /* siehe unten */; |
(1) | (seit C++23) (nur Exposition*) |
template< class T > concept pair-like = |
(2) | (seit C++23) (nur Exposition*) |
1) Ein Typ
T modelliert und erfüllt das Konzept tuple-ähnlich, wenn std::remove_cvref_t<T> eine Spezialisierung von
| (seit C++26) |
- std::pair,
- std::tuple ist, oder
- std::ranges::subrange.
2)
pair-ähnliche Objekte sind tuple-ähnliche Objekte mit genau 2 Elementen.[bearbeiten] Hinweise
tuple-ähnliche Typen implementieren das Tuple-Protokoll, d.h., solche Typen können mit std::get, std::tuple_element und std::tuple_size verwendet werden.
Elemente von tuple-ähnlichen Typen können mit strukturierten Bindungen gebunden werden.
[bearbeiten] Siehe auch
tuple-ähnlich und pair-ähnlich werden in den folgenden Standardbibliothekskomponenten verwendet
konstruiert ein neues tuple(public member function) | |
weist den Inhalt eines tuple einem anderen zu(public member function) | |
| (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 lexikographisch (function template) |
ermittelt den gemeinsamen Referenztyp eines tuple und eines tuple-like Typs(class template specialization) | |
| (C++23) |
ermittelt den gemeinsamen Typ eines tuple und eines tuple-like Typs(class template specialization) |
| (C++11) |
erstellt ein tuple durch Verkettung beliebig vieler Tupel(function template) |
| (C++17) |
ruft eine Funktion mit einem Tupel von Argumenten auf (Funktionsvorlage) |
| (C++17) |
konstruiert ein Objekt mit einem Tupel von Argumenten (Funktionsvorlage) |
konstruiert ein neues pair(public member function of std::pair<T1,T2>) | |
| weist den Inhalt zu (öffentliche Memberfunktion von std::pair<T1,T2>) | |
konvertiert den subrange in einen pair-ähnlichen Typ(öffentliche Memberfunktion von std::ranges::subrange<I,S,K>) | |
nimmt eine view, die aus tuple-ähnlichen Werten besteht, und eine Zahl N und erzeugt eine view des N-ten Elements jedes Tupels(Klassen-Template) (Range-Adaptor-Objekt) |