1namespace std { 2 class type_info { 3 public: 4 virtual ~type_info(); 5 const char* name() const { return __name; } 6 bool operator==(const type_info& __arg) const { 7 return __name == __arg.__name; 8 } 9 10 bool operator!=(const type_info& __arg) const { 11 return !operator==(__arg); 12 } 13 14 bool before(const type_info& __arg) const { 15 return __name < __arg.__name; 16 } 17 18 unsigned long hash_code() const { 19 return reinterpret_cast<unsigned long long>(__name); 20 } 21 protected: 22 const char *__name; 23 }; 24} 25