Namespaces
Variants

std::basic_common_reference<tuple-artig>

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)
Dreigliedriger 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)



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

Der gemeinsame Referenztyp zweier tuple-like-Typen ist ein std::tuple bestehend aus den gemeinsamen Referenztypen aller entsprechenden Elementtyppaare beider Typen, wobei die cv- und Referenzqualifizierer auf die tuple-artigen Typen auf ihre Elementtypen angewendet werden.

Gegeben

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

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_reference_t<TQual<TTypes>..., UQual<UTypes>>...> bezeichnet einen Typ.

Mitgliedertypen

Mitgliedstyp Definition
type std:: tuple < std:: common_reference_t < TQual < TTypes > ..., UQual < UTypes >> ... >

Beispiel

Siehe auch

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