Namespaces
Variants

std::common_type<tuple-ähnlich>

Von de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (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
Vergleichsoperatoren (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)



 
 
Definiert in Header <tuple>
template< tuple-like TTuple, tuple-like UTuple >
    requires /* see below */
struct common_type<TTuple, UTuple>;
(seit C++23)

Der gemeinsame Typ von zwei tuple-like Typen ist ein std::tuple, der aus den gemeinsamen Typen aller korrespondierenden Element-Typ-Paare beider Typen besteht.

Gegeben

  • TTypes als das Paket, das durch die Sequenz von std::tuple_element_t<i, TTuple> für jede ganze Zahl i in [​0, std::tuple_size_v<TTuple>) gebildet wird, und
  • UTypes als das Paket, das durch die Sequenz von std::tuple_element_t<i, UTuple> für jede ganze Zahl i in [​0, std::tuple_size_v<UTuple>) gebildet wird,

müssen die folgenden Bedingungen erfüllt sein:

  • TTuple oder UTuple ist eine std::tuple-Spezialisierung.
  • std::is_same_v<TTuple, std::decay_t<TTuple>> ist true.
  • std::is_same_v<UTuple, std::decay_t<UTuple>> ist true.
  • std::tuple_size_v<TTuple> ist gleich std::tuple_size_v<UTuple> (TTuple und UTuple haben die gleiche Anzahl von Elementen).
  • std::tuple<std::common_type_t<TTypes, UTypes>...> bezeichnet einen Typ.

Mitgliedertypen

Mitgliedstyp Definition
type std:: tuple < std:: common_type_t < TTypes, UTypes > ... >

Beispiel

Siehe auch

bestimmt den gemeinsamen Typ einer Gruppe von Typen
(Klassen-Template)
bestimmt den gemeinsamen Typ zweier pair s
(Klassen-Template-Spezialisierung)