Namespaces
Variants

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

From cppreference.net
C++ named requirements

Ein UnaryTypeTrait ist eine Klassentemplate, das eine Eigenschaft seines Template-Typparameters mit einer std::integral_constant -Spezialisierung (typischerweise std::bool_constant ) beschreibt.

Anforderungen

  • DefaultConstructible und CopyConstructible .
  • Nimmt einen Template-Typparameter an (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 Type Traits erfüllen alle UnaryTypeTrait :

Die folgenden Standardbibliothek-Klassen-Templates erfüllen ebenfalls UnaryTypeTrait .

Kompilierzeitkonstante des angegebenen Typs mit angegebenem Wert
(Klassentemplate)
(C++17)
Logische NOT-Metafunktion
(Klassentemplate)
Ermittelt die Größe eines

tuple
(Klassentemplate-Spezialisierung)

Ermittelt die Größe eines array
(Klassentemplate-Spezialisierung)
Ermittelt die Größe eines pair
(Klassentemplate-Spezialisierung)
Ermittelt die Größe der Alternativenliste eines variant zur Kompilierzeit
(Klassentemplate) (Variablentemplate)
Zeigt an, dass ein Objekt ein std::bind -Ausdruck ist oder als solcher verwendet werden kann
(Klassentemplate)
Zeigt an, dass ein Objekt ein Standard-Platzhalter ist oder als solcher verwendet werden kann
(Klassentemplate)
Testet, ob eine Klasse eine Ausführungsrichtlinie repräsentiert
(Klassentemplate)