has_trivial_copy – třída
Zkoušky, pokud má typ triviální kopie konstruktoru.
template<class Ty>
struct has_trivial_copy;
Parametry
- Ty
Typ dotazu.
Poznámky
Instance typu predikát obsahuje true Pokud typ Ty je třída, která má triviální Kopírovat konstruktor, jinak má hodnotu false.
Kopírovat konstruktor pro třídu Ty je triviální-li:
je implicitně deklarován
Třída Ty nemá žádné virtuální funkce
Třída Ty nemá žádné virtuální základny
všechny přímé základy třídy Ty mají konstruktory, triviální kopie
tříd všech členů dat nestatickou třídu typu mají konstruktory, triviální kopie
tříd všech členů dat nestatické pole typu třídy mají konstruktory, triviální 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