has_trivial_constructor – třída
Zkoušky, pokud má typ triviální výchozí konstruktor.
template<class Ty>
struct has_trivial_constructor;
Parametry
- Ty
Typ dotazu.
Poznámky
Instance typu predikát obsahuje true Pokud typ Ty je třída, která má triviální konstruktor, jinak má hodnotu false.
Konstruktor pro třídu Ty je triviální-li:
je implicitně deklarovaný výchozí konstruktor.
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í konstruktory
třídy všech členů dat nestatickou třídu typu mají triviální konstruktory
třídy všech členů dat nestatické pole typu třídy mají triviální konstruktory
Příklad
// std_tr1__type_traits__has_trivial_constructor.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_constructor<trivial> == " << std::boolalpha
<< std::has_trivial_constructor<trivial>::value << std::endl;
std::cout << "has_trivial_constructor<throws> == " << std::boolalpha
<< std::has_trivial_constructor<throws>::value << std::endl;
return (0);
}
Požadavky
Záhlaví: <type_traits>
Obor názvů: std
Viz také
Referenční dokumentace
has_nothrow_constructor – třída
has_trivial_destructor – třída