3 * - By John Hodge (thePowersGang)
8 #ifndef _LIBCXX__CXXABI_H_
9 #define _LIBCXX__CXXABI_H_
15 namespace __cxxabiv1 {
17 class __class_type_info : public std::type_info
20 virtual ~__class_type_info();
23 class __si_class_type_info : public __class_type_info
26 virtual ~__si_class_type_info();
28 const __class_type_info *__base_type;
31 struct __base_class_type_info
35 const __class_type_info *__base_type;
38 enum __offset_flags_masks {
46 class __vmi_class_type_info : public __class_type_info
49 virtual ~__vmi_class_type_info();
52 unsigned int __base_count;
53 __base_class_type_info __base_info[1];
56 __non_diamond_repeat_mask = 0x1,
57 __diamond_shaped_mask = 0x2,
61 class __pbase_type_info : public std::type_info
65 const std::type_info *__pointee;
69 __volatile_mask = 0x2,
70 __restrict_mask = 0x4,
71 __incomplete_mask = 0x8,
72 __incomplete_class_mask = 0x10
76 extern "C" void* __dynamic_cast(
78 const __class_type_info *src,
79 const __class_type_info *dst,
80 ptrdiff_t src2dst_offset
83 }; // namespace __cxxabiv1