Sync with trunk revision r58045 to bring the corrections on configure.cmd and on...
[reactos.git] / include / c++ / typeinfo
1 // RTTI support for C++
2
3 #ifndef _TYPEINFO
4 #define _TYPEINFO
5
6 #include <exception>
7
8 extern "C++" {
9
10 namespace std
11 {
12
13 class type_info {
14 public:
15 virtual ~type_info();
16 bool before (const type_info& arg) const
17 { return __name < __arg.__name; }
18 bool operator==(const type_info& __arg) const
19 { return __name == __arg.__name; }
20 bool operator!=(const type_info& __arg) const
21 { return !operator==(__arg); }
22 const char* name() const;
23 protected:
24 const char* __name;
25 private:
26 type_info (const type_info& rhs);
27 type_info& operator= (const type_info& rhs);
28 };
29
30 class bad_cast : public exception
31 {
32 public:
33 bad_cast() throw() { }
34 virtual ~bad_cast() throw();
35 virtual const char* what() const throw();
36 };
37
38 class bad_typeid : public exception
39 {
40 public:
41 bad_typeid () throw() { }
42 virtual ~bad_typeid() throw();
43 virtual const char* what() const throw();
44 };
45 } // namespace std
46
47 } // extern "C++"
48 #endif