has_trivial_destructor (Clase)
Comprueba si el tipo tiene un destructor trivial.
template<class Ty>
struct has_trivial_destructor;
Parámetros
- Ty
El tipo a ver.
Comentarios
Una instancia de predicado de tipo es true si el tipo Ty es una clase que tiene un destructor trivial, si no se considera false.
El destructor de una clase Ty es trivial si:
es un destructor implícitamente declarado
todas las bases directas de la clase Ty tienen destructores triviales
las clases de todos los miembros de datos no estáticos de tipo de clase tienen destructores triviales
las clases de todos los miembros de datos no estáticos de matriz de clase tienen destructores triviales
Ejemplo
// std_tr1__type_traits__has_trivial_destructor.cpp
// compile with: /EHsc
#include <type_traits>
#include <iostream>
struct trivial
{
int val;
};
struct throws
{
throws() throw(int)
{
}
throws(const throws&) throw(int)
{
}
throws& operator=(const throws&) throw(int)
{
}
~throws()
{
}
int val;
};
int main()
{
std::cout << "has_trivial_destructor<trivial> == " << std::boolalpha
<< std::has_trivial_destructor<trivial>::value << std::endl;
std::cout << "has_trivial_destructor<throws> == " << std::boolalpha
<< std::has_trivial_destructor<throws>::value << std::endl;
return (0);
}
Requisitos
Encabezado: <type_traits>
Espacio de nombres: std
Vea también
Referencia
has_trivial_constructor (Clase)
has_virtual_destructor (Clase)