Namespaces
Variants

C++ named requirements: BinaryTypeTrait (since C++11)

From cppreference.net
C++ named requirements

Ein BinaryTypeTrait ist eine Klassentemplate, das eine Beziehung zwischen seinen beiden Template-Typparametern mit einer std::integral_constant (typischerweise std::bool_constant )-Spezialisierung beschreibt.

Anforderungen

  • DefaultConstructible und CopyConstructible .
  • Nimmt zwei Template-Typparameter entgegen (zusätzliche Template-Parameter sind optional und erlaubt).
  • Öffentlich und eindeutig abgeleitet von einer Spezialisierung von std::integral_constant , bekannt als seine Basiseigenschaft .
  • Die Mitgliedsnamen der Basiseigenschaft sind nicht verborgen und sind eindeutig verfügbar.

Standardbibliothek

Die folgenden Standardbibliothek-Klassen-Templates erfüllen BinaryTypeTrait :

(C++11)
prüft, ob zwei Typen identisch sind
(Klassentemplate)
(C++11)
prüft, ob ein Typ eine Basis eines anderen Typs ist
(Klassentemplate)
prüft, ob ein Typ eine virtuelle Basis eines anderen Typs ist
(Klassentemplate)
prüft, ob ein Typ in einen anderen Typ konvertiert werden kann
(Klassentemplate)
prüft, ob zwei Typen layout-kompatibel sind
(Klassentemplate)
prüft, ob ein Typ eine zeigerinterkonvertierbare (anfängliche) Basis eines anderen Typs ist
(Klassentemplate)
prüft, ob ein Typ (wie durch std::invoke ) mit den gegebenen Argumenttypen aufgerufen werden kann
(Klassentemplate)
prüft, ob der angegebene Typ Uses-Allocator-Konstruktion unterstützt
(Klassentemplate)