is_literal_type, classe
Teste si un type peut être utilisé comme variable constexpr
, ou être construit, utilisé par ou retourné à partir de fonctions constexpr
.
Syntaxe
template <class T>
struct is_literal_type;
Paramètres
T
Type à interroger.
Notes
Une instance du prédicat de type a la valeur true si le type T est un type littéral, sinon il contient false. Un type littéral est void
, un type scalaire, un type référence, un tableau de type littéral ou un type de classe littéral. Un type de classe littéral est un type de classe qui a un destructeur trivial, est un type d’agrégation ou a au moins un constructeur constexpr
sans déplacement et sans copie, et toutes ses classes de base et données membres non statiques sont des types littéraux non volatiles. Bien que le type d’un littéral soit toujours un type littéral, le concept de type littéral inclut tout ce que le compilateur peut évaluer en tant que constexpr
au moment de la compilation.
Spécifications
Header :<type_traits>
Espace de noms : std