has_trivial_assign Class
Zkoušky, pokud má typ trivial přiřadit.
template<class Ty>
struct has_trivial_assign;
Parametry
- Ty
Typ dotazu.
Poznámky
Instanci typu predikát obsahuje PRAVDA, pokud typ Ty je třída, která má trivial kopie operátor přiřazení, jinak má hodnotu false.
Pomocí operátoru přiřazení kopie pro třídu 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é založí třídy Ty máte kopii trivial operátory přiřazení
třídy všech členů dat nestatický typ třídy mají operátory přiřazení trivial kopie
třídy všech členů nestatický data pole Typ třídy mají operátory přiřazení trivial kopie
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