C++ named requirements: BinaryTypeTrait (since C++11)
From cppreference.net
C++
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) |
|
(C++26)
|
prüft, ob ein Typ eine virtuelle Basis eines anderen Typs ist
(Klassentemplate) |
|
(C++11)
(C++20)
|
prüft, ob ein Typ in einen anderen Typ konvertiert werden kann
(Klassentemplate) |
|
(C++20)
|
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) |
|
|
(C++11)
|
prüft, ob der angegebene Typ Uses-Allocator-Konstruktion unterstützt
(Klassentemplate) |