C++ benannte Anforderungen: UnaryTypeTrait (seit C++11)
Von cppreference.com
< cpp | benannte req
Ein UnaryTypeTrait ist eine Klassenvorlage, die eine Eigenschaft ihres Vorlagen-Typparameters mit einer Spezialisierung von std::integral_constant (typischerweise std::bool_constant) beschreibt.
[edit] Anforderungen
- DefaultConstructible und CopyConstructible.
- Nimmt einen Vorlagen-Typparameter (zusätzliche Vorlagenparameter sind optional und erlaubt).
- Öffentlich und eindeutig abgeleitet von einer Spezialisierung von std::integral_constant, bekannt als sein Basismerkmal.
- Die Mitgliedsnamen des Basismerkmals sind nicht verborgen und eindeutig verfügbar.
[edit] Standardbibliothek
Die folgenden Typ-Traits erfüllen alle UnaryTypeTrait
- Primäre Typkategorien
- Zusammengesetzte Typkategorien
- Typeneigenschaften
- Unterstützte Operationen
- Abfragen von Eigenschaften
Die folgenden Standardbibliotheks-Klassenvorlagen erfüllen ebenfalls UnaryTypeTrait.
| (C++11) |
konstantes zur Compilezeit vom angegebenen Typ mit angegebenem Wert (Klassentemplate) |
| (C++17) |
logische NOT-Metafunktion (Klassenvorlage) |
| (C++11) |
ermittelt die Größe eines
|
| (C++11) |
ermittelt die Größe eines arrays(Klassentemplatenspezialisierung) |
| (C++11) |
ermittelt die Größe eines pair(Klassenvorlagenspezialisierung) |
| (C++17) |
erhält zur Kompilierzeit die Größe der Alternativenliste des variant(class template) (variable template) |
| (C++11) |
zeigt an, dass ein Objekt ein std::bind-Ausdruck ist oder als solcher verwendet werden kann(Klassen-Template) |
| (C++11) |
zeigt an, dass ein Objekt ein Standard-Platzhalter ist oder als solcher verwendet werden kann (Klassen-Template) |
| (C++17) |
Prüft, ob eine Klasse eine Ausführungsrichtlinie darstellt (Klassentemplate) |