has_trivial_copy (Clase)
Comprueba si el tipo tiene un constructor trivial de copia.
template<class Ty>
struct has_trivial_copy;
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 constructor trivial de copia, si no se considera false.
Un constructor de copias para una clase Ty es trivial si:
se declara implícitamente
la clase Ty no tiene ninguna función virtual
la clase Ty no tiene ninguna base virtual
todas las bases directas de la clase Ty tienen constructores triviales de copia
las clases de todos los miembros de datos no estáticos de tipo de clase tienen constructores triviales de copia
las clases de todos los miembros de datos no estáticos de matriz de clase tienen constructores triviales de copia
Ejemplo
// std_tr1__type_traits__has_trivial_copy.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)
{
}
int val;
};
int main()
{
std::cout << "has_trivial_copy<trivial> == " << std::boolalpha
<< std::has_trivial_copy<trivial>::value << std::endl;
std::cout << "has_trivial_copy<throws> == " << std::boolalpha
<< std::has_trivial_copy<throws>::value << std::endl;
return (0);
}
Requisitos
Encabezado: <type_traits>
Espacio de nombres: std