<type_traits>
Define las plantillas que proporcionan constantes en tiempo de compilación que aportan información sobre las propiedades de sus argumentos de tipo.
#include <type_traits>
Comentarios
Un predicado de tipo es una plantilla que toma uno o dos argumentos de tipo. Cuando un predicado de tipo contiene true, se deriva públicamente (ya sea de forma directa o indirecta) de true_type (Typedef). Cuando un predicado de tipo contiene false, se deriva públicamente (ya sea de forma directa o indirecta) de false_type (Typedef).
Un modificador de tipo es una plantilla que toma uno o más argumentos de plantilla y contiene un miembro, como se indica a continuación:
- typedef modified-type type;
Una consulta de tipo es una plantilla que toma uno o más argumentos de plantilla. Una consulta de tipo se deriva públicamente (ya sea de forma directa o indirecta) de integral_constant<std::size_t, value>. Contiene el valor que se pasa como argumento value.
Plantillas de alias
Se proporcionan plantillas de alias para typename foo<T>::type, donde "foo" es el nombre de clase de la plantilla. Por ejemplo, add_const tiene la plantilla de alias para su tipo add_const_t definida así:
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 |
Clases
Crea un tipo const a partir de un tipo. |
|
Crea un tipo const/volatile a partir de un tipo. |
|
Convierte un puntero en un tipo a partir de un tipo. |
|
Convierte una referencia en un tipo a partir de un tipo. |
|
Crea un tipo volatile a partir de un tipo. |
|
Crea un tipo alineado como corresponda. |
|
Obtiene la alineación de un tipo. |
|
Crea una instancia del tipo común de dos tipos. |
|
Crea una instancia del tipo común de dos tipos. |
|
Crea un tipo que no es de referencia, const o volatile, o bien convierte un puntero al tipo. |
|
Crea una instancia de un tipo o un tipo no definido. |
|
Obtiene una dimensión de matriz. |
|
Comprueba si el tipo no produce una excepción durante la asignación. |
|
Comprueba si el tipo no produce una excepción durante la construcción predeterminada. |
|
Comprueba si el tipo no produce una excepción durante la construcción de copia. |
|
Comprueba si el tipo no produce una excepción durante la construcción de copia. |
|
Comprueba si el tipo no produce una excepción durante la construcción predeterminada. |
|
Comprueba si el tipo tiene una asignación trivial. |
|
Comprueba si el tipo tiene un constructor predeterminado trivial. |
|
Comprueba si el tipo tiene un constructor de copia trivial. |
|
Comprueba si el tipo tiene un constructor de copia trivial. |
|
Comprueba si el tipo tiene un constructor predeterminado trivial. |
|
Comprueba si el tipo tiene un destructor trivial. |
|
Comprueba si el tipo tiene un destructor virtual. |
|
Comprueba si el tipo es una clase abstracta. |
|
Comprueba si el tipo es aritmético. |
|
Comprueba si el tipo es una matriz. |
|
Comprueba si un tipo es la base de otro. |
|
Comprueba si el tipo es una clase. |
|
Comprueba si el tipo no es escalar. |
|
Comprueba si el tipo es const. |
|
Comprueba si un tipo es convertible en otro. |
|
Comprueba si el tipo es una clase vacía. |
|
Comprueba si el tipo es una enumeración. |
|
Comprueba si el tipo es un punto flotante. |
|
Comprueba si el tipo es un tipo de función. |
|
Comprueba si el tipo es void o aritmético. |
|
Comprueba si el tipo es integral. |
|
Comprueba si el tipo es una referencia de lvalue. |
|
Comprueba si el tipo es un puntero a una función miembro. |
|
Comprueba si el tipo es un puntero a un objeto miembro. |
|
Comprueba si el tipo es un puntero a un miembro. |
|
Comprueba si el tipo es un tipo de objeto. |
|
Comprueba si el tipo es POD. |
|
Comprueba si el tipo es un puntero. |
|
Comprueba si el tipo tiene una función virtual. |
|
Comprueba si el tipo es una referencia. |
|
Comprueba si el tipo es una referencia de rvalue. |
|
Comprueba si dos tipos son iguales. |
|
Comprueba si el tipo es escalar. |
|
Comprueba si el tipo es un entero con signo. |
|
Comprueba si el tipo es un diseño estándar. |
|
Comprueba si el tipo es una unión. |
|
Comprueba si el tipo es un entero sin signo. |
|
Comprueba si el tipo es void. |
|
Comprueba si el tipo es volatile. |
|
Hace que el tipo o el tipo con signo más pequeño sea igual o superior en tamaño al tipo. |
|
Hace que el tipo o el tipo sin signo más pequeño sea igual o superior en tamaño al tipo. |
|
Obtiene el número de dimensiones de matriz. |
|
Convierte un tipo de matriz en un tipo que no es de matriz. |
|
Crea un tipo que no es const a partir de un tipo. |
|
Crea un tipo no const/volatile a partir de un tipo. |
|
Crea un tipo de elemento a partir de un tipo de matriz. |
|
Convierte un tipo de un puntero en un tipo. |
|
Crea un tipo que no es de referencia a partir de un tipo. |
|
Crea un tipo no volátil a partir de un tipo. |
|
Crea una constante integral a partir del tipo y valor. |
Typedefs
Contiene la constante integral con valor false. |
|
Contiene la constante integral con valor true. |