<type_traits>
Определяет шаблон, предоставляющий константы времени компиляции со свойствами аргументов их типа.
#include <type_traits>
Заметки
Предикат типа — это шаблон, который принимает один или два аргумента типа. Если значение предиката типа равно true, он является открыто производным (явно или косвенно) от типа Определение типа (Typedef) true_type. Если значение предиката типа равно false, он является открыто производным (явно или косвенно) от типа Определение типа (Typedef) false_type.
Модификатор типа — это шаблон, который принимает один или несколько аргументов шаблона и содержит один из указанных ниже элементов.
- typedef modified-type type;
Запрос типа — это шаблон, который принимает один или несколько аргументов шаблона. Запрос типа является открыто производным (явно или косвенно) от integral_constant<std::size_t, value>. Он содержит значение, которое передается как аргумент value.
Шаблоны псевдонимов
Существуют шаблоны псевдонимов для typename foo<T>::type, где "foo" — это имя класса шаблона. Например, add_const содержит шаблон псевдонима для типа add_const_t, определенный следующим образом.
template<class T>
using add_const_t = typename add_const<T>::type;
add_const_t |
aligned_storage_t |
make_signed_t |
remove_pointer_t |
add_cv_t |
aligned_union_t |
make_unsigned_t |
remove_reference_t |
add_lvalue_reference_t |
common_type_t |
remove_all_extents_t |
remove_volatile_t |
add_pointer_t |
conditional_t |
remove_const_t |
result_of_t |
add_rvalue_reference_t |
decay_t |
remove_cv_t |
underlying_type_t |
add_volatile_t |
enable_if_t |
remove_extent_t |
Классы
Делает тип const из типа. |
|
Делает тип const/volatile из типа. |
|
Делает из типа указатель на тип. |
|
Делает из типа ссылку на тип. |
|
Делает тип volatile из типа. |
|
Создает должным образом выровненный тип. |
|
Получает выравнивание типа. |
|
Делает из двух типов экземпляр общего типа. |
|
Делает из двух типов экземпляр общего типа. |
|
Создает нессылочный, неконстантный или долговременный тип либо указатель на тип. |
|
Создает экземпляр типа или неопределенный тип. |
|
Получает измерение массива. |
|
Проверяет, не вызывает ли тип исключение при назначении. |
|
Проверяет, не вызывает ли тип исключение при использовании конструктора по умолчанию. |
|
Проверяет, не вызывает ли тип исключение при использовании конструктора копии. |
|
Проверяет, не вызывает ли тип исключение при использовании конструктора копии. |
|
Проверяет, не вызывает ли тип исключение при использовании конструктора по умолчанию. |
|
Проверяет, есть ли у типа тривиальное назначение. |
|
Проверяет, есть ли у типа тривиальный конструктор по умолчанию. |
|
Проверяет, есть ли у типа тривиальный конструктор копии. |
|
Проверяет, есть ли у типа тривиальный конструктор копии. |
|
Проверяет, есть ли у типа тривиальный конструктор по умолчанию. |
|
Проверяет, есть ли у типа тривиальный деструктор. |
|
Проверяет, есть ли у типа виртуальный деструктор. |
|
Проверяет, является ли тип абстрактным классом. |
|
Проверяет, является ли тип арифметическим. |
|
Проверяет, является ли тип массивом. |
|
Проверяет, является ли один тип базовым для другого. |
|
Проверяет, является ли тип классом. |
|
Проверяет, является ли тип нескалярным. |
|
Проверяет, является ли тип константой. |
|
Проверяет, можно ли преобразовать один тип в другой. |
|
Проверяет, является ли тип пустым классом. |
|
Проверяет, является ли тип перечислением. |
|
Проверяет, является ли тип вещественным (с плавающей запятой). |
|
Проверяет, является ли тип типом функции. |
|
Проверяет, является ли тип void или арифметическим типом. |
|
Проверяет, является ли тип целочисленным. |
|
Проверяет, является ли тип ссылкой на lvalue. |
|
Проверяет, является ли тип указателем на функцию-член. |
|
Проверяет, является ли тип указателем на объект-член. |
|
Проверяет, является ли тип указателем на член. |
|
Проверяет, является ли тип типом объекта. |
|
Проверяет, является ли тип типом POD. |
|
Проверяет, является ли тип указателем. |
|
Проверяет, есть ли у типа виртуальная функция. |
|
Проверяет, является ли тип ссылкой. |
|
Проверяет, является ли тип ссылкой на rvalue. |
|
Определяет, совпадают ли два типа. |
|
Проверяет, является ли тип скалярным. |
|
Проверяет, является ли тип знаковым целочисленным типом. |
|
Проверяет, является ли тип стандартным макетом. |
|
Проверяет, является ли тип объединением. |
|
Проверяет, является ли тип беззнаковым целочисленным типом. |
|
Проверяет, является ли тип типом void. |
|
Проверяет, является ли тип переменным типом. |
|
Создает тип или наименьшей знаковый тип, размер которого больше или равен размеру типа. |
|
Создает тип или наименьший беззнаковый тип, размер которого больше или равен размеру типа. |
|
Получает количество измерений массива. |
|
Создает из типа массива тип, не относящийся к массиву. |
|
Делает из типа неконстантный тип. |
|
Создает неконстантный/долговременный тип из типа. |
|
Создает тип элемента из типа массива. |
|
Делает тип из указателя на тип. |
|
Делает из типа нессылочный тип. |
|
Создает долговременный тип из типа. |
|
Создает целочисленную константу из типа и значения. |
Определения типов
Содержит целочисленную константу со значением false. |
|
Содержит целочисленную константу со значением true. |