is_polymorphic Class
Prüft, ob Typ eine virtuelle Funktion verfügt.
template<class Ty>
struct is_polymorphic;
Parameter
- Ty
Der abzufragende Typ.
Hinweise
Eine Instanz des Typs prädikats behält True an, wenn der Typ eine Klasse ist, die Ty eine virtuelle Funktion deklariert oder geerbt wird, andernfalls false führt sie fest.
Beispiel
// std_tr1__type_traits__is_polymorphic.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)
{
}
virtual ~throws()
{
}
int val;
};
int main()
{
std::cout << "is_polymorphic<trivial> == " << std::boolalpha
<< std::is_polymorphic<trivial>::value << std::endl;
std::cout << "is_polymorphic<throws> == " << std::boolalpha
<< std::is_polymorphic<throws>::value << std::endl;
return (0);
}
Anforderungen
Header: <type_traits>
Namespace: std