has_trivial_copy Class
Zkoušky, pokud má typ trivial Kopírovat konstruktor.
template<class Ty>
struct has_trivial_copy;
Parametry
- Ty
Typ dotazu.
Poznámky
Instance typu predikát obsahuje hodnotu true Pokud typ Ty je třída trivial Kopírovat konstruktor, jinak má hodnotu false.
Kopírovat konstruktor třídy Ty je triviální pokud:
je implicitně deklarován
Třída Ty nemá žádné virtuální funkce
Třída Ty nemá žádné virtuální základů
všechny přímé základy třídy Ty mít konstruktory trivial kopie.
třídy všech členů dat nestatický typ třídy mít konstruktory trivial kopie.
třídy všech členů nestatický data pole Typ třídy mít konstruktory trivial kopie.
Příklad
// 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);
}
Požadavky
Záhlaví: <type_traits>
Obor názvů: std