Classe has_trivial_destructor
Testa se o tipo tem o destruidor trivial.
template<class Ty>
struct has_trivial_destructor;
Parâmetros
- Ty
O tipo para consulte.
Comentários
Uma instância do predicado do tipo se aplica se o tipo Ty é uma classe que tem um destruidor trivial, se não mantém false.
Um destruidor para uma classe Ty é trivial se:
é um destruidor implicitamente declarado
todas as bases diretas da classe Ty têm destruidores triviais
as classes de todos os membros de dados que não sejam do tipo estático da classe com destruidores triviais
as classes de todos os membros de dados que não sejam estáticos de matriz do tipo da classe com destruidores triviais
Exemplo
// 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
Cabeçalho: <type_traits>
Namespace: std
Consulte também
Referência
Classe has_trivial_constructor