176c38d385447b7acdff2d7e6b13fa8580e7174a7Argyrios Kyrtzidis// Header for PCH test cxx-typeid.cpp 276c38d385447b7acdff2d7e6b13fa8580e7174a7Argyrios Kyrtzidis 325e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis#ifndef CXX_TYPEID_H 425e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis#define CXX_TYPEID_H 525e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis 625e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidisnamespace std { 725e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis 825e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidisclass type_info 925e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis{ 1025e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidispublic: 1125e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis virtual ~type_info(); 1225e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis 1325e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis bool operator==(const type_info& rhs) const; 1425e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis bool operator!=(const type_info& rhs) const; 1525e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis 1625e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis bool before(const type_info& rhs) const; 1725e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis unsigned long hash_code() const; 1825e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis const char* name() const; 1925e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis 2025e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis type_info(const type_info& rhs); 2125e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis type_info& operator=(const type_info& rhs); 2225e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis}; 2325e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis 2425e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidisclass bad_cast 2525e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis{ 2625e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidispublic: 2725e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis bad_cast(); 2825e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis bad_cast(const bad_cast&); 2925e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis bad_cast& operator=(const bad_cast&); 3025e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis virtual const char* what() const; 3125e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis}; 3225e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis 3325e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidisclass bad_typeid 3425e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis{ 3525e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidispublic: 3625e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis bad_typeid(); 3725e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis bad_typeid(const bad_typeid&); 3825e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis bad_typeid& operator=(const bad_typeid&); 3925e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis virtual const char* what() const; 4025e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis}; 4125e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis 4225e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis} // std 4325e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis 4425e42cba8f949f8b2e561046a7db49d674d410e1Argyrios Kyrtzidis#endif 45