std:: tuple_size <std::pair>
|
Definiert im Header
<utility>
|
||
|
template
<
class
T1,
class
T2
>
struct
tuple_size
<
std::
pair
<
T1, T2
>>
|
(seit C++11) | |
Die partielle Spezialisierung von std:: tuple_size für Paare bietet eine Möglichkeit zur Kompilierzeit, die Anzahl der Elemente in einem Paar zu ermitteln, die immer 2 beträgt, unter Verwendung einer tuple-ähnlichen Syntax.
Inhaltsverzeichnis |
Geerbt von std:: integral_constant
Member-Konstanten
|
value
[static]
|
der konstante Wert 2
(öffentliche statische Member-Konstante) |
Member-Funktionen
|
operator std::size_t
|
konvertiert das Objekt zu
std::
size_t
, gibt
value
zurück
(öffentliche Member-Funktion) |
|
operator()
(C++14)
|
gibt
value
zurück
(öffentliche Member-Funktion) |
Member-Typen
| Typ | Definition |
value_type
|
std:: size_t |
type
|
std:: integral_constant < std:: size_t , value > |
Beispiel
#include <iostream> #include <tuple> #include <utility> template<class T> void test([[maybe_unused]]T t) { [[maybe_unused]] int a[std::tuple_size<T>::value]; // kann zur Kompilierzeit verwendet werden std::cout << std::tuple_size<T>::value << '\n'; // oder zur Laufzeit } int main() { test(std::make_tuple(1, 2, 3.14)); test(std::make_pair(1, 3.14)); }
Ausgabe:
3 2
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 2313 | C++11 |
Spezialisierungen für
pair
mussten nicht von
integral_constant
abgeleitet sein
|
erforderlich |
Siehe auch
| Structured binding (C++17) | bindet die angegebenen Namen an Teilobjekte oder Tupel-Elemente des Initialisierers |
|
(C++11)
|
ermittelt die Anzahl der Elemente eines tupelartigen Typs
(Klassen-Template) |
|
(C++11)
|
ermittelt die Größe eines
array
(Klassen-Template-Spezialisierung) |
|
(C++11)
|
ermittelt die Größe eines
|
|
ermittelt die Größe eines
std::ranges::subrange
(Klassen-Template-Spezialisierung) |
|
|
(C++11)
|
ermittelt den Typ der Elemente eines
pair
(Klassen-Template-Spezialisierung) |