mirror of
https://github.com/reactos/reactos.git
synced 2024-09-10 21:04:26 +00:00
49 lines
1.1 KiB
Plaintext
49 lines
1.1 KiB
Plaintext
// RTTI support for C++
|
|
|
|
#ifndef _TYPEINFO
|
|
#define _TYPEINFO
|
|
|
|
#include <exception>
|
|
|
|
extern "C++" {
|
|
|
|
namespace std
|
|
{
|
|
|
|
class type_info {
|
|
public:
|
|
virtual ~type_info();
|
|
bool before (const type_info& arg) const
|
|
{ return __name < __arg.__name; }
|
|
bool operator==(const type_info& __arg) const
|
|
{ return __name == __arg.__name; }
|
|
bool operator!=(const type_info& __arg) const
|
|
{ return !operator==(__arg); }
|
|
const char* name() const;
|
|
protected:
|
|
const char* __name;
|
|
private:
|
|
type_info (const type_info& rhs);
|
|
type_info& operator= (const type_info& rhs);
|
|
};
|
|
|
|
class bad_cast : public exception
|
|
{
|
|
public:
|
|
bad_cast() throw() { }
|
|
virtual ~bad_cast() throw();
|
|
virtual const char* what() const throw();
|
|
};
|
|
|
|
class bad_typeid : public exception
|
|
{
|
|
public:
|
|
bad_typeid () throw() { }
|
|
virtual ~bad_typeid() throw();
|
|
virtual const char* what() const throw();
|
|
};
|
|
} // namespace std
|
|
|
|
} // extern "C++"
|
|
#endif
|