Namensräume
Varianten
Aktionen

C++ benannte Anforderungen: UnaryTypeTrait (seit C++11)

Von cppreference.com
 
 
C++ benannte Anforderungen
 

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

Die folgenden Standardbibliotheks-Klassenvorlagen erfüllen ebenfalls UnaryTypeTrait.

konstantes zur Compilezeit vom angegebenen Typ mit angegebenem Wert
(Klassentemplate)
(C++17)
logische NOT-Metafunktion
(Klassenvorlage) [bearbeiten]
ermittelt die Größe eines

tuple
(class template specialization) [bearbeiten]

ermittelt die Größe eines arrays
(Klassentemplatenspezialisierung) [bearbeiten]
ermittelt die Größe eines pair
(Klassenvorlagenspezialisierung) [edit]
erhält zur Kompilierzeit die Größe der Alternativenliste des variant
(class template) (variable template)[bearbeiten]
zeigt an, dass ein Objekt ein std::bind-Ausdruck ist oder als solcher verwendet werden kann
(Klassen-Template) [bearbeiten]
zeigt an, dass ein Objekt ein Standard-Platzhalter ist oder als solcher verwendet werden kann
(Klassen-Template) [bearbeiten]
Prüft, ob eine Klasse eine Ausführungsrichtlinie darstellt
(Klassentemplate) [edit]