has_trivial_assign – třída
Zkoušky, pokud má typ triviální přiřadit.
template<class Ty>
struct has_trivial_assign;
Parametry
- Ty
Typ dotazu.
Poznámky
Instance typu predikát obsahuje true Pokud typ Ty je třída, která má triviální kopie operátor přiřazení, jinak má hodnotu false.
Operátor přiřazení kopie 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 mít triviální kopie operátory přiřazení
třídy všech členů dat nestatickou třídu typu mají triviální kopie operátory přiřazení
třídy všech členů dat nestatické pole typu třídy mají triviální kopie operátory přiřazení
Příklad
// std_tr1__type_traits__has_trivial_assign.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_assign<trivial> == " << std::boolalpha
<< std::has_trivial_assign<trivial>::value << std::endl;
std::cout << "has_trivial_assign<throws> == " << std::boolalpha
<< std::has_trivial_assign<throws>::value << std::endl;
return (0);
}
Požadavky
Záhlaví: <type_traits>
Obor názvů: std