Namespaces
Variants

std:: common_with

From cppreference.net
Definiert im Header <concepts>
(seit C++20)

Das Konzept common_with<T, U> spezifiziert, dass zwei Typen T und U einen gemeinsamen Typ teilen (berechnet durch std::common_type_t ), zu dem beide konvertiert werden können.

Inhaltsverzeichnis

Semantische Anforderungen

T und U modellieren std :: common_with < T, U > nur dann, wenn für gleichheitserhaltende Ausdrücke t1 , t2 , u1 und u2 gilt, dass decltype ( ( t1 ) ) und decltype ( ( t2 ) ) beide T sind und decltype ( ( u1 ) ) und decltype ( ( u2 ) ) beide U sind,

Mit anderen Worten, die Konvertierung in den gemeinsamen Typ muss Gleichheit bewahren .

Gleichheitserhaltung

Ausdrücke, die in requires expressions der Standardbibliothek-Konzepte deklariert werden, müssen equality-preserving sein (sofern nicht anders angegeben).

Referenzen

  • C++23-Standard (ISO/IEC 14882:2024):
  • 18.4.6 Konzept common_with [concept.common]
  • C++20-Standard (ISO/IEC 14882:2020):
  • 18.4.6 Konzept common_with [concept.common]

Siehe auch

bestimmt den gemeinsamen Typ einer Gruppe von Typen
(Klassen-Template)
bestimmt den gemeinsamen Referenztyp einer Gruppe von Typen
(Klassen-Template)
spezifiziert, dass zwei Typen einen gemeinsamen Referenztyp teilen
(Konzept)