+#ifndef _TYPEINFO_HEADER_GAURD
+#define _TYPEINFO_HEADER_GAURD
+
+
+namespace std {
+ class type_info;
+ class bad_cast;
+ class bad_typeid;
+};
+
+
+class type_info {
+public:
+ type_info();
+ virtual ~type_info();
+
+ char const * name() const;
+
+ bool operator==(type_info const & right) const;
+ bool operator!=(type_info const & right) const;
+ bool before(type_info const & right) const;
+
+private:
+ type_info(type_info const & right);
+ type_info & operator=(type_info const & right);
+};
+
+#endif