Класс is_literal_type
Проверяет, можно ли использовать тип в качестве переменной constexpr
, создавать его, использовать или возвращать из функций constexpr
.
template <class T>
struct is_literal_type;
T
Запрашиваемый тип.
Экземпляр предиката типа имеет значение true, если тип T является литеральным типом, в противном случае он содержит значение false. Тип литерала — это void
, скалярный тип, ссылочный тип, массив типа литерала или тип класса литерала. Тип класса литерала — это тип класса, который имеет тривиальный деструктор, составной тип или по крайней мере один конструктор constexpr
, отличный от копирования и перемещения, и все его базовые классы и нестатические элементы данных являются неизменяемыми типами литералов. Хотя литерал всегда имеет тип литерала, концепция типа литерала включает в себя все, что компилятор может вычислить в качестве constexpr
во время компиляции.
Заголовок:<type_traits>
Пространство имен: std