44 #pragma GCC system_header
46 #pragma GCC visibility push(default)
49 #include <bits/c++config.h>
50 #include <bits/cxxabi_tweaks.h>
53 #ifndef _GLIBCXX_CDTOR_CALLABI
54 #define _GLIBCXX_CDTOR_CALLABI
76 void (*__dealloc) (
void*));
82 void (*__dealloc) (
void*,
size_t));
85 __cxa_vec_ctor_return_type
90 __cxa_vec_ctor_return_type
92 size_t __element_count,
size_t __element_size,
93 __cxa_cdtor_return_type (*__constructor) (
void*,
void*),
113 void (*__dealloc) (
void*));
118 void (*__dealloc) (
void*,
size_t));
131 __cxa_atexit(
void (*)(
void*),
void*,
void*) _GLIBCXX_NOTHROW;
197 size_t* __length,
int* __status);
215 __fundamental_type_info(
const char* __n) : std::type_info(__n) { }
218 ~__fundamental_type_info();
226 __array_type_info(
const char* __n) : std::type_info(__n) { }
229 ~__array_type_info();
237 __function_type_info(
const char* __n) : std::type_info(__n) { }
240 ~__function_type_info();
245 __is_function_p()
const;
253 __enum_type_info(
const char* __n) : std::type_info(__n) { }
263 unsigned int __flags;
267 __pbase_type_info(
const char* __n,
int __quals,
269 : std::type_info(__n), __flags(__quals), __pointee(__type)
273 ~__pbase_type_info();
279 __volatile_mask = 0x2,
280 __restrict_mask = 0x4,
281 __incomplete_mask = 0x8,
282 __incomplete_class_mask = 0x10
286 __pbase_type_info(
const __pbase_type_info&);
289 operator=(
const __pbase_type_info&);
294 unsigned int __outer)
const;
297 __pointer_catch(
const __pbase_type_info* __thr_type,
void** __thr_obj,
298 unsigned __outer)
const;
302 class __pointer_type_info :
public __pbase_type_info
306 __pointer_type_info(
const char* __n,
int __quals,
308 : __pbase_type_info (__n, __quals, __type) { }
312 ~__pointer_type_info();
317 __is_pointer_p()
const;
320 __pointer_catch(
const __pbase_type_info* __thr_type,
void** __thr_obj,
321 unsigned __outer)
const;
324 class __class_type_info;
327 class __pointer_to_member_type_info :
public __pbase_type_info
330 __class_type_info* __context;
333 __pointer_to_member_type_info(
const char* __n,
int __quals,
335 __class_type_info* __klass)
336 : __pbase_type_info(__n, __quals, __type), __context(__klass) { }
339 ~__pointer_to_member_type_info();
342 __pointer_to_member_type_info(
const __pointer_to_member_type_info&);
344 __pointer_to_member_type_info&
345 operator=(
const __pointer_to_member_type_info&);
349 __pointer_catch(
const __pbase_type_info* __thr_type,
void** __thr_obj,
350 unsigned __outer)
const;
354 class __base_class_type_info
357 const __class_type_info* __base_type;
358 #ifdef _GLIBCXX_LLP64
359 long long __offset_flags;
364 enum __offset_flags_masks
366 __virtual_mask = 0x1,
374 __is_virtual_p()
const
375 {
return __offset_flags & __virtual_mask; }
378 __is_public_p()
const
379 {
return __offset_flags & __public_mask; }
387 return static_cast<ptrdiff_t>(__offset_flags) >> __offset_shift;
396 __class_type_info (
const char *__n) : type_info(__n) { }
399 ~__class_type_info ();
419 __contained_virtual_mask = __base_class_type_info::__virtual_mask,
422 __contained_public_mask = __base_class_type_info::__public_mask,
425 __contained_mask = 1 << __base_class_type_info::__hwm_bit,
427 __contained_private = __contained_mask,
428 __contained_public = __contained_mask | __contained_public_mask
431 struct __upcast_result;
432 struct __dyncast_result;
437 __do_upcast(
const __class_type_info* __dst_type,
void**__obj_ptr)
const;
440 __do_catch(
const type_info* __thr_type,
void** __thr_obj,
441 unsigned __outer)
const;
447 __do_upcast(
const __class_type_info* __dst,
const void* __obj,
448 __upcast_result& __restrict __result)
const;
457 __find_public_src(
ptrdiff_t __src2dst,
const void* __obj_ptr,
458 const __class_type_info* __src_type,
459 const void* __src_ptr)
const;
469 __do_dyncast(
ptrdiff_t __src2dst, __sub_kind __access_path,
470 const __class_type_info* __dst_type,
const void* __obj_ptr,
471 const __class_type_info* __src_type,
const void* __src_ptr,
472 __dyncast_result& __result)
const;
479 __do_find_public_src(
ptrdiff_t __src2dst,
const void* __obj_ptr,
480 const __class_type_info* __src_type,
481 const void* __src_ptr)
const;
485 class __si_class_type_info :
public __class_type_info
488 const __class_type_info* __base_type;
491 __si_class_type_info(
const char *__n,
const __class_type_info *
__base)
492 : __class_type_info(__n), __base_type(__base) { }
495 ~__si_class_type_info();
498 __si_class_type_info(
const __si_class_type_info&);
500 __si_class_type_info&
501 operator=(
const __si_class_type_info&);
505 __do_dyncast(
ptrdiff_t __src2dst, __sub_kind __access_path,
506 const __class_type_info* __dst_type,
const void* __obj_ptr,
507 const __class_type_info* __src_type,
const void* __src_ptr,
508 __dyncast_result& __result)
const;
511 __do_find_public_src(
ptrdiff_t __src2dst,
const void* __obj_ptr,
512 const __class_type_info* __src_type,
513 const void* __sub_ptr)
const;
516 __do_upcast(
const __class_type_info*__dst,
const void*__obj,
517 __upcast_result& __restrict __result)
const;
521 class __vmi_class_type_info :
public __class_type_info
524 unsigned int __flags;
525 unsigned int __base_count;
530 __base_class_type_info __base_info[1];
533 __vmi_class_type_info(
const char* __n,
int ___flags)
534 : __class_type_info(__n), __flags(___flags), __base_count(0) { }
537 ~__vmi_class_type_info();
542 __non_diamond_repeat_mask = 0x1,
543 __diamond_shaped_mask = 0x2,
544 __flags_unknown_mask = 0x10
550 __do_dyncast(
ptrdiff_t __src2dst, __sub_kind __access_path,
551 const __class_type_info* __dst_type,
const void* __obj_ptr,
552 const __class_type_info* __src_type,
const void* __src_ptr,
553 __dyncast_result& __result)
const;
556 __do_find_public_src(
ptrdiff_t __src2dst,
const void* __obj_ptr,
557 const __class_type_info* __src_type,
558 const void* __src_ptr)
const;
561 __do_upcast(
const __class_type_info* __dst,
const void* __obj,
562 __upcast_result& __restrict __result)
const;
566 struct __cxa_exception;
567 struct __cxa_refcounted_exception;
568 struct __cxa_dependent_exception;
569 struct __cxa_eh_globals;
582 __dynamic_cast(
const void* __src_ptr,
583 const __class_type_info* __src_type,
584 const __class_type_info* __dst_type,
595 __cxa_get_globals() _GLIBCXX_NOTHROW
__attribute__ ((__const__));
598 __cxa_get_globals_fast() _GLIBCXX_NOTHROW
__attribute__ ((__const__));
602 __cxa_allocate_exception(
size_t) _GLIBCXX_NOTHROW;
606 __cxa_free_exception(
void*) _GLIBCXX_NOTHROW;
615 __cxa_get_exception_ptr(
void*) _GLIBCXX_NOTHROW
__attribute__ ((__pure__));
618 __cxa_begin_catch(
void*) _GLIBCXX_NOTHROW;
629 __cxa_current_exception_type() _GLIBCXX_NOTHROW
__attribute__ ((__pure__));
634 __cxa_dependent_exception*
635 __cxa_allocate_dependent_exception() _GLIBCXX_NOTHROW;
639 __cxa_free_dependent_exception(__cxa_dependent_exception*) _GLIBCXX_NOTHROW;
645 class __foreign_exception
647 virtual ~__foreign_exception() throw();
648 virtual
void __pure_dummy() = 0;
673 namespace abi = __cxxabiv1;
689 class recursive_init_error:
public std::exception
692 recursive_init_error() throw() { }
693 virtual ~recursive_init_error() throw ();
696 #endif // __cplusplus
698 #pragma GCC visibility pop
void __cxa_vec_cleanup(void *__array_address, size_t __element_count, size_t __s, __cxa_cdtor_type __destructor) _GLIBCXX_NOTHROW
_Siter_base< _Iterator >::iterator_type __base(_Iterator __it)
Definition: functions.h:446
void __cxa_guard_release(__guard *) _GLIBCXX_NOTHROW
double __v4df __attribute__((__vector_size__(32)))
Definition: avxintrin.h:32
__cxa_vec_ctor_return_type __cxa_vec_ctor(void *__array_address, size_t __element_count, size_t __element_size, __cxa_cdtor_type __constructor, __cxa_cdtor_type __destructor)
int __cxa_atexit(void(*)(void *), void *, void *) _GLIBCXX_NOTHROW
Part of RTTI.
Definition: typeinfo:88
void __cxa_vec_dtor(void *__array_address, size_t __element_count, size_t __element_size, __cxa_cdtor_type __destructor)
void __cxa_vec_delete3(void *__array_address, size_t __element_size, size_t __padding_size, __cxa_cdtor_type __destructor, void(*__dealloc)(void *, size_t))
int __cxa_thread_atexit(void(*)(void *), void *, void *) _GLIBCXX_NOTHROW
void __cxa_bad_typeid() __attribute__((__noreturn__))
#define _GLIBCXX_CDTOR_CALLABI
Definition: cxxabi.h:54
void __cxa_vec_delete(void *__array_address, size_t __element_size, size_t __padding_size, __cxa_cdtor_type __destructor)
void __cxa_bad_cast() __attribute__((__noreturn__))
__cxa_vec_ctor_return_type __cxa_vec_cctor(void *__dest_array, void *__src_array, size_t __element_count, size_t __element_size, __cxa_cdtor_return_type(*__constructor)(void *, void *), __cxa_cdtor_type __destructor)
char * __cxa_demangle(const char *__mangled_name, char *__output_buffer, size_t *__length, int *__status)
Demangling routine. ABI-mandated entry point in the C++ runtime library for demangling.
void __cxa_guard_abort(__guard *) _GLIBCXX_NOTHROW
void * __cxa_vec_new2(size_t __element_count, size_t __element_size, size_t __padding_size, __cxa_cdtor_type __constructor, __cxa_cdtor_type __destructor, void *(*__alloc)(size_t), void(*__dealloc)(void *))
__PTRDIFF_TYPE__ ptrdiff_t
Definition: stddef.h:147
int __cxa_finalize(void *)
void __cxa_vec_delete2(void *__array_address, size_t __element_size, size_t __padding_size, __cxa_cdtor_type __destructor, void(*__dealloc)(void *))
void * __cxa_vec_new(size_t __element_count, size_t __element_size, size_t __padding_size, __cxa_cdtor_type __constructor, __cxa_cdtor_type __destructor)
void * __cxa_vec_new3(size_t __element_count, size_t __element_size, size_t __padding_size, __cxa_cdtor_type __constructor, __cxa_cdtor_type __destructor, void *(*__alloc)(size_t), void(*__dealloc)(void *, size_t))
void __cxa_deleted_virtual(void) __attribute__((__noreturn__))
void __cxa_pure_virtual(void) __attribute__((__noreturn__))
int __cxa_guard_acquire(__guard *)
__cxa_cdtor_return_type(* __cxa_cdtor_type)(void *)
Definition: cxxabi.h:64