1 // Header for PCH test cxx-typeid.cpp
2 
3 #ifndef CXX_TYPEID_H
4 #define CXX_TYPEID_H
5 
6 namespace std {
7 
8 class type_info
9 {
10 public:
11     virtual ~type_info();
12 
13     bool operator==(const type_info& rhs) const;
14     bool operator!=(const type_info& rhs) const;
15 
16     bool before(const type_info& rhs) const;
17     unsigned long hash_code() const;
18     const char* name() const;
19 
20     type_info(const type_info& rhs);
21     type_info& operator=(const type_info& rhs);
22 };
23 
24 class bad_cast
25 {
26 public:
27     bad_cast();
28     bad_cast(const bad_cast&);
29     bad_cast& operator=(const bad_cast&);
30     virtual const char* what() const;
31 };
32 
33 class bad_typeid
34 {
35 public:
36     bad_typeid();
37     bad_typeid(const bad_typeid&);
38     bad_typeid& operator=(const bad_typeid&);
39     virtual const char* what() const;
40 };
41 
42 }  // std
43 
44 #endif
45