Classe is_literal_type
Verifica se un tipo può essere usato come variabile constexpr
oppure costruito, usato o restituito da funzioni constexpr
.
Sintassi
template <class T>
struct is_literal_type;
Parametri
T
Tipo su cui eseguire una query.
Osservazioni:
Un'istanza del predicato di tipo contiene true se il tipo T è un tipo letterale, altrimenti contiene false. Un tipo letterale è void
, un tipo scalare, un tipo di riferimento, una matrice di tipo letterale o un tipo di classe letterale. Un tipo di classe letterale è un tipo di classe che ha un distruttore semplice, è un tipo aggregato o ha almeno un costruttore constexpr
che non supporta la copia o lo spostamento e tutti i relativi membri di dati non statici e le relative classi di base sono tipi letterali non volatili. Se da un lato il tipo di un valore letterale è sempre un tipo letterale, dall'altro il concetto di tipo letterale include tutto ciò che il compilatore può valutare come constexpr
in fase di compilazione.
Requisiti
Intestazione:<type_traits>
Spazio dei nomi: std