// RTTI support for -*- C++ -*- // Copyright (C) 1994, 95-97, 1998 Free Software Foundation #ifndef __TYPEINFO__ #define __TYPEINFO__ #pragma interface "typeinfo" #include extern "C++" { namespace std { class type_info { private: // assigning type_info is not supported. made private. type_info& operator= (const type_info&); type_info (const type_info&); protected: explicit type_info (const char *n): _name (n) { } const char *_name; public: // destructor virtual ~type_info (); bool before (const type_info& arg) const; const char* name () const { return _name; } bool operator== (const type_info& arg) const; bool operator!= (const type_info& arg) const; }; inline bool type_info:: operator!= (const type_info& arg) const { return !operator== (arg); } class bad_cast : public exception { public: bad_cast() { } virtual ~bad_cast() { } }; class bad_typeid : public exception { public: bad_typeid () { } virtual ~bad_typeid () { } }; } // namespace std } // extern "C++" #endif