is_literal_type-Klasse
Testet, ob ein Typ als eine constexpr
-Variable verwendet werden kann, oder von constexpr
-Funktionen erstellt, verwendet oder zurückgegeben werden kann.
Syntax
template <class T>
struct is_literal_type;
Parameter
T
Der abzufragende Typ.
Hinweise
Eine Instanz des Typprädikats enthält "true", wenn der Typ "T " ein Literaltyp ist, andernfalls "false". Ein Literaltyp ist entweder void
, ein skalarer Typ, ein Verweistyp, ein Array von Literaltypen oder ein Literalklassentyp. Ein Literalklassentyp ist ein Klassentyp, der einen trivialen Destruktor aufweist, entweder ein aggregierter Typ ist oder mindestens über einen non-move, non-copy constexpr
-Konstruktor verfügt. Alle seine Basisklassen und nichtstatischen Datenmember sind nicht volatile Literaltypen. Während der Typ eines Literals immer ein literal-Typ ist, enthält das Konzept eines literal-Typ alles, was der Compiler zur Kompilierzeit als ein constexpr
auswerten kann.
Anforderungen
Header:<type_traits>
Namespace: std