<type_traits>
Define modelos que fornecem constantes de tempo de compilação e informações sobre as propriedades dos argumentos de tipo.
#include <type_traits>
Comentários
Um predicado de tipo é um modelo que pega um ou dois argumentos de tipo. Quando um predicado de tipo mantém-se verdadeiro, ele é derivado publicamente, direta ou indiretamente, de Typedef true_type. Quando um predicado de tipo mantém-se falso, ele é derivado publicamente, direta ou indiretamente, de Typedef false_type.
Um modificador de tipo é um modelo que pega um ou mais argumentos de modelo e tem um membro, da seguinte maneira:
- typedef modified-type type;
Uma consulta de tipo é um modelo que pega um ou mais argumentos de modelo. Uma consulta de tipo é publicamente derivada, direta ou indiretamente, de integral_constant<std::size_t, value>. Ela mantém o valor enviado como argumento value.
Modelos de alias
Os modelos de alias para typename foo<T>::type são fornecidos, em que "foo" é o nome de classe do modelo. Por exemplo, add_const tem o modelo de alias para seu tipo add_const_t, definido como:
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 |
Classes
Cria tipo const do tipo. |
|
Cria tipo const/volatile do tipo. |
|
Cria o ponteiro para tipo do tipo. |
|
Cria referência para tipo do tipo. |
|
Cria tipo volatile do tipo. |
|
Cria tipo alinhado adequadamente. |
|
Obtém alinhamento do tipo. |
|
Cria uma instância do tipo comum de dois tipos. |
|
Cria uma instância do tipo comum de dois tipos. |
|
Cria o tipo de não referência, não constante, não volátil ou cria um ponteiro para o tipo. |
|
Cria uma instância de um tipo ou tipo indefinido. |
|
Obtém uma dimensão de matriz. |
|
Testa se o tipo não é lançado ao atribuir. |
|
Testa se o tipo não é lançado na construção padrão. |
|
Testa se o tipo não é lançado na construção de cópia. |
|
Testa se o tipo não é lançado na construção de cópia. |
|
Testa se o tipo não é lançado na construção padrão. |
|
Testa se o tipo tem uma atribuição trivial. |
|
Testa se o tipo tem um construtor padrão trivial. |
|
Testa se o tipo tem um construtor de cópia trivial. |
|
Testa se o tipo tem um construtor de cópia trivial. |
|
Testa se o tipo tem um construtor de cópia padrão. |
|
Testa se o tipo tem um destruidor trivial. |
|
Testa se o tipo tem um destruidor virtual. |
|
Testa se o tipo é uma classe abstrata. |
|
Testa se o tipo é aritmético. |
|
Testa se o tipo é uma matriz. |
|
Testa se um tipo é a base de outro. |
|
Testa se o tipo é uma classe. |
|
Testa se o tipo não é escalar. |
|
Testa se o tipo é constante. |
|
Testa se o tipo pode ser convertido em outro. |
|
Testa se o tipo é uma classe vazia. |
|
Testa se o tipo é uma enumeração. |
|
Testa se o tipo é um ponto flutuante. |
|
Testa se o tipo é um tipo de função. |
|
Testa se o tipo é void ou aritmético. |
|
Testa se o tipo é integral. |
|
Testa se o tipo é uma referência lvalue. |
|
Testa se o tipo é um ponteiro para uma função do membro. |
|
Testa se o tipo é um ponteiro para um objeto do membro. |
|
Testa se o tipo é um ponteiro para um membro. |
|
Testa se o tipo é um tipo de objeto. |
|
Testa se o tipo é um POD. |
|
Testa se o tipo é um ponteiro. |
|
Testa se o tipo tem uma função virtual. |
|
Testa se o tipo é uma referência. |
|
Testa se o tipo é uma referência rvalue. |
|
Testa se dois tipos são iguais. |
|
Testa se o tipo é escalar. |
|
Testa se o tipo é um inteiro com sinal. |
|
Testa se o tipo é um layout padrão. |
|
Testa se o tipo é uma união. |
|
Testa se o tipo é um inteiro sem sinal. |
|
Testa se o tipo é nulo. |
|
Testa se o tipo é volátil. |
|
Cria o tipo ou o menor tipo com sinal maior ou igual em tamanho ao tipo. |
|
Cria o tipo ou o menor tipo sem sinal maior ou igual em tamanho ao tipo. |
|
Obtém o número de dimensões da matriz. |
|
Cria o tipo de não matriz do tipo de matriz. |
|
Cria o tipo não constante do tipo. |
|
Cria o tipo não const/volátil do tipo. |
|
Cria tipo de elemento do tipo de matriz. |
|
Cria o tipo de ponteiro para tipo. |
|
Cria o tipo de não referência do tipo. |
|
Cria o tipo não volátil do tipo. |
|
Cria uma constante integral de tipo e valor. |
Typedefs
Mantém uma constante integral com valor falso. |
|
Mantém uma constante integral com valor verdadeiro. |