Share via


<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

add_const

Crea un tipo const a partir de un tipo.

add_cv

Crea un tipo const/volatile a partir de un tipo.

add_pointer

Convierte un puntero en un tipo a partir de un tipo.

add_reference

Convierte una referencia en un tipo a partir de un tipo.

add_volatile

Crea un tipo volatile a partir de un tipo.

aligned_storage

Crea un tipo alineado como corresponda.

alignment_of

Obtiene la alineación de un tipo.

common_type

Crea una instancia del tipo común de dos tipos.

conditional

Crea una instancia del tipo común de dos tipos.

decay

Crea un tipo que no es de referencia, const o volatile, o bien convierte un puntero al tipo.

enable_if

Crea una instancia de un tipo o un tipo no definido.

extent

Obtiene una dimensión de matriz.

has_nothrow_assign

Comprueba si el tipo no produce una excepción durante la asignación.

has_nothrow_constructor

Comprueba si el tipo no produce una excepción durante la construcción predeterminada.

has_nothrow_copy

Comprueba si el tipo no produce una excepción durante la construcción de copia.

has_nothrow_copy_constructor

Comprueba si el tipo no produce una excepción durante la construcción de copia.

has_nothrow_default_constructor

Comprueba si el tipo no produce una excepción durante la construcción predeterminada.

has_trivial_assign

Comprueba si el tipo tiene una asignación trivial.

has_trivial_constructor

Comprueba si el tipo tiene un constructor predeterminado trivial.

has_trivial_copy

Comprueba si el tipo tiene un constructor de copia trivial.

has_trivial_copy_constructor

Comprueba si el tipo tiene un constructor de copia trivial.

has_trivial_default_constructor

Comprueba si el tipo tiene un constructor predeterminado trivial.

has_trivial_destructor

Comprueba si el tipo tiene un destructor trivial.

has_virtual_destructor

Comprueba si el tipo tiene un destructor virtual.

is_abstract

Comprueba si el tipo es una clase abstracta.

is_arithmetic

Comprueba si el tipo es aritmético.

is_array

Comprueba si el tipo es una matriz.

is_base_of

Comprueba si un tipo es la base de otro.

is_class

Comprueba si el tipo es una clase.

is_compound

Comprueba si el tipo no es escalar.

is_const

Comprueba si el tipo es const.

is_convertible

Comprueba si un tipo es convertible en otro.

is_empty

Comprueba si el tipo es una clase vacía.

is_enum

Comprueba si el tipo es una enumeración.

is_floating_point

Comprueba si el tipo es un punto flotante.

is_function

Comprueba si el tipo es un tipo de función.

is_fundamental

Comprueba si el tipo es void o aritmético.

is_integral

Comprueba si el tipo es integral.

is_lvalue_reference

Comprueba si el tipo es una referencia de lvalue.

is_member_function_pointer

Comprueba si el tipo es un puntero a una función miembro.

is_member_object_pointer

Comprueba si el tipo es un puntero a un objeto miembro.

is_member_pointer

Comprueba si el tipo es un puntero a un miembro.

is_object

Comprueba si el tipo es un tipo de objeto.

is_pod

Comprueba si el tipo es POD.

is_pointer

Comprueba si el tipo es un puntero.

is_polymorphic

Comprueba si el tipo tiene una función virtual.

is_reference

Comprueba si el tipo es una referencia.

is_rvalue_reference

Comprueba si el tipo es una referencia de rvalue.

is_same

Comprueba si dos tipos son iguales.

is_scalar

Comprueba si el tipo es escalar.

is_signed

Comprueba si el tipo es un entero con signo.

is_standard_layout

Comprueba si el tipo es un diseño estándar.

is_union

Comprueba si el tipo es una unión.

is_unsigned

Comprueba si el tipo es un entero sin signo.

is_void

Comprueba si el tipo es void.

is_volatile

Comprueba si el tipo es volatile.

make_signed

Hace que el tipo o el tipo con signo más pequeño sea igual o superior en tamaño al tipo.

make_unsigned

Hace que el tipo o el tipo sin signo más pequeño sea igual o superior en tamaño al tipo.

rank

Obtiene el número de dimensiones de matriz.

remove_all_extents

Convierte un tipo de matriz en un tipo que no es de matriz.

remove_const

Crea un tipo que no es const a partir de un tipo.

remove_cv

Crea un tipo no const/volatile a partir de un tipo.

remove_extent

Crea un tipo de elemento a partir de un tipo de matriz.

remove_pointer

Convierte un tipo de un puntero en un tipo.

remove_reference

Crea un tipo que no es de referencia a partir de un tipo.

remove_volatile

Crea un tipo no volátil a partir de un tipo.

integral_constant

Crea una constante integral a partir del tipo y valor.

Typedefs

false_type

Contiene la constante integral con valor false.

true_type

Contiene la constante integral con valor true.

Vea también

Referencia

<functional>