Share via


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

Siehe auch

<type_traits>