44 #pragma GCC system_header 
   46 #pragma GCC visibility push(default) 
   53 #ifndef _GLIBCXX_CDTOR_CALLABI 
   54 #define _GLIBCXX_CDTOR_CALLABI 
   64   typedef __cxa_cdtor_return_type (*__cxa_cdtor_type)(
void *);
 
   68   __cxa_vec_new(
size_t __element_count, 
size_t __element_size,
 
   69         size_t __padding_size, __cxa_cdtor_type __constructor,
 
   70         __cxa_cdtor_type __destructor);
 
   73   __cxa_vec_new2(
size_t __element_count, 
size_t __element_size,
 
   74          size_t __padding_size, __cxa_cdtor_type __constructor,
 
   75          __cxa_cdtor_type __destructor, 
void *(*__alloc) (
size_t),
 
   76          void (*__dealloc) (
void*));
 
   79   __cxa_vec_new3(
size_t __element_count, 
size_t __element_size,
 
   80          size_t __padding_size, __cxa_cdtor_type __constructor,
 
   81          __cxa_cdtor_type __destructor, 
void *(*__alloc) (
size_t),
 
   82          void (*__dealloc) (
void*, 
size_t));
 
   85   __cxa_vec_ctor_return_type
 
   86   __cxa_vec_ctor(
void* __array_address, 
size_t __element_count,
 
   87          size_t __element_size, __cxa_cdtor_type __constructor,
 
   88          __cxa_cdtor_type __destructor);
 
   90   __cxa_vec_ctor_return_type
 
   91   __cxa_vec_cctor(
void* __dest_array, 
void* __src_array,
 
   92           size_t __element_count, 
size_t __element_size,
 
   93           __cxa_cdtor_return_type (*__constructor) (
void*, 
void*),
 
   94           __cxa_cdtor_type __destructor);
 
   98   __cxa_vec_dtor(
void* __array_address, 
size_t __element_count,
 
   99          size_t __element_size, __cxa_cdtor_type __destructor);
 
  102   __cxa_vec_cleanup(
void* __array_address, 
size_t __element_count, 
size_t __s,
 
  103             __cxa_cdtor_type __destructor) _GLIBCXX_NOTHROW;
 
  107   __cxa_vec_delete(
void* __array_address, 
size_t __element_size,
 
  108            size_t __padding_size, __cxa_cdtor_type __destructor);
 
  111   __cxa_vec_delete2(
void* __array_address, 
size_t __element_size,
 
  112             size_t __padding_size, __cxa_cdtor_type __destructor,
 
  113             void (*__dealloc) (
void*));
 
  116   __cxa_vec_delete3(
void* __array_address, 
size_t __element_size,
 
  117             size_t __padding_size, __cxa_cdtor_type __destructor,
 
  118             void (*__dealloc) (
void*, 
size_t));
 
  121   __cxa_guard_acquire(__guard*);
 
  124   __cxa_guard_release(__guard*) _GLIBCXX_NOTHROW;
 
  127   __cxa_guard_abort(__guard*) _GLIBCXX_NOTHROW;
 
  131   __cxa_atexit(
void (*)(
void*), 
void*, 
void*) _GLIBCXX_NOTHROW;
 
  134   __cxa_finalize(
void*);
 
  138   __cxa_thread_atexit(
void (*)(
void*), 
void*, 
void *) _GLIBCXX_NOTHROW;
 
  142   __cxa_pure_virtual(
void) __attribute__ ((__noreturn__));
 
  145   __cxa_deleted_virtual(
void) __attribute__ ((__noreturn__));
 
  149   __cxa_bad_cast() __attribute__((__noreturn__));
 
  152   __cxa_bad_typeid() __attribute__((__noreturn__));
 
  155   __cxa_throw_bad_array_new_length() __attribute__((__noreturn__));
 
  158   __cxa_throw_bad_array_length() __attribute__((__noreturn__));
 
  201   __cxa_demangle(const 
char* __mangled_name, 
char* __output_buffer,
 
  202          size_t* __length, 
int* __status);
 
  216   class __fundamental_type_info : 
public std::type_info
 
  220     __fundamental_type_info(
const char* __n) : 
std::type_info(__n) { }
 
  223     ~__fundamental_type_info();
 
  227   class __array_type_info : 
public std::type_info
 
  231     __array_type_info(
const char* __n) : 
std::type_info(__n) { }
 
  234     ~__array_type_info();
 
  238   class __function_type_info : 
public std::type_info
 
  242     __function_type_info(
const char* __n) : 
std::type_info(__n) { }
 
  245     ~__function_type_info();
 
  250     __is_function_p() 
const;
 
  254   class __enum_type_info : 
public std::type_info
 
  258     __enum_type_info(
const char* __n) : 
std::type_info(__n) { }
 
  265   class __pbase_type_info : 
public std::type_info
 
  268     unsigned int        __flags; 
 
  269     const std::type_info*   __pointee; 
 
  272     __pbase_type_info(
const char* __n, 
int __quals,
 
  273               const std::type_info* __type)
 
  274     : 
std::type_info(__n), __flags(__quals), __pointee(__type)
 
  278     ~__pbase_type_info();
 
  284     __volatile_mask = 0x2,
 
  285     __restrict_mask = 0x4,
 
  286     __incomplete_mask = 0x8,
 
  287     __incomplete_class_mask = 0x10
 
  291     __pbase_type_info(
const __pbase_type_info&);
 
  294     operator=(
const __pbase_type_info&);
 
  298     __do_catch(
const std::type_info* __thr_type, 
void** __thr_obj,
 
  299            unsigned int __outer) 
const;
 
  302     __pointer_catch(
const __pbase_type_info* __thr_type, 
void** __thr_obj,
 
  303             unsigned __outer) 
const;
 
  307   class __pointer_type_info : 
public __pbase_type_info
 
  311     __pointer_type_info(
const char* __n, 
int __quals,
 
  312             const std::type_info* __type)
 
  313     : __pbase_type_info (__n, __quals, __type) { }
 
  317     ~__pointer_type_info();
 
  322     __is_pointer_p() 
const;
 
  325     __pointer_catch(
const __pbase_type_info* __thr_type, 
void** __thr_obj,
 
  326             unsigned __outer) 
const;
 
  329   class __class_type_info;
 
  332   class __pointer_to_member_type_info : 
public __pbase_type_info
 
  335     __class_type_info* __context;   
 
  338     __pointer_to_member_type_info(
const char* __n, 
int __quals,
 
  339                   const std::type_info* __type,
 
  340                   __class_type_info* __klass)
 
  341     : __pbase_type_info(__n, __quals, __type), __context(__klass) { }
 
  344     ~__pointer_to_member_type_info();
 
  347     __pointer_to_member_type_info(
const __pointer_to_member_type_info&);
 
  349     __pointer_to_member_type_info&
 
  350     operator=(
const __pointer_to_member_type_info&);
 
  354     __pointer_catch(
const __pbase_type_info* __thr_type, 
void** __thr_obj,
 
  355             unsigned __outer) 
const;
 
  359   class __base_class_type_info
 
  362     const __class_type_info*    __base_type;  
 
  363 #ifdef _GLIBCXX_LLP64 
  364     long long           __offset_flags;  
 
  369     enum __offset_flags_masks
 
  371     __virtual_mask = 0x1,
 
  379     __is_virtual_p()
 const 
  380     { 
return __offset_flags & __virtual_mask; }
 
  383     __is_public_p()
 const 
  384     { 
return __offset_flags & __public_mask; }
 
  392       return static_cast<ptrdiff_t
>(__offset_flags) >> __offset_shift;
 
  397   class __class_type_info : 
public std::type_info
 
  401     __class_type_info (
const char *__n) : type_info(__n) { }
 
  404     ~__class_type_info ();
 
  424     __contained_virtual_mask = __base_class_type_info::__virtual_mask,
 
  427     __contained_public_mask = __base_class_type_info::__public_mask,
 
  430     __contained_mask = 1 << __base_class_type_info::__hwm_bit,
 
  432     __contained_private = __contained_mask,
 
  433     __contained_public = __contained_mask | __contained_public_mask
 
  436     struct __upcast_result;
 
  437     struct __dyncast_result;
 
  442     __do_upcast(
const __class_type_info* __dst_type, 
void**__obj_ptr) 
const;
 
  445     __do_catch(
const type_info* __thr_type, 
void** __thr_obj,
 
  446            unsigned __outer) 
const;
 
  452     __do_upcast(
const __class_type_info* __dst, 
const void* __obj,
 
  453         __upcast_result& __restrict __result) 
const;
 
  462     __find_public_src(ptrdiff_t __src2dst, 
const void* __obj_ptr,
 
  463               const __class_type_info* __src_type,
 
  464               const void* __src_ptr) 
const;
 
  474     __do_dyncast(ptrdiff_t __src2dst, __sub_kind __access_path,
 
  475          const __class_type_info* __dst_type, 
const void* __obj_ptr,
 
  476          const __class_type_info* __src_type, 
const void* __src_ptr,
 
  477          __dyncast_result& __result) 
const;
 
  484     __do_find_public_src(ptrdiff_t __src2dst, 
const void* __obj_ptr,
 
  485              const __class_type_info* __src_type,
 
  486              const void* __src_ptr) 
const;
 
  490   class __si_class_type_info : 
public __class_type_info
 
  493     const __class_type_info* __base_type;
 
  496     __si_class_type_info(
const char *__n, 
const __class_type_info *
__base)
 
  497     : __class_type_info(__n), __base_type(__base) { }
 
  500     ~__si_class_type_info();
 
  503     __si_class_type_info(
const __si_class_type_info&);
 
  505     __si_class_type_info&
 
  506     operator=(
const __si_class_type_info&);
 
  510     __do_dyncast(ptrdiff_t __src2dst, __sub_kind __access_path,
 
  511          const __class_type_info* __dst_type, 
const void* __obj_ptr,
 
  512          const __class_type_info* __src_type, 
const void* __src_ptr,
 
  513          __dyncast_result& __result) 
const;
 
  516     __do_find_public_src(ptrdiff_t __src2dst, 
const void* __obj_ptr,
 
  517              const __class_type_info* __src_type,
 
  518              const void* __sub_ptr) 
const;
 
  521     __do_upcast(
const __class_type_info*__dst, 
const void*__obj,
 
  522         __upcast_result& __restrict __result) 
const;
 
  526   class __vmi_class_type_info : 
public __class_type_info
 
  529     unsigned int        __flags;  
 
  530     unsigned int        __base_count;  
 
  535     __base_class_type_info  __base_info[1];  
 
  538     __vmi_class_type_info(
const char* __n, 
int ___flags)
 
  539     : __class_type_info(__n), __flags(___flags), __base_count(0) { }
 
  542     ~__vmi_class_type_info();
 
  547     __non_diamond_repeat_mask = 0x1, 
 
  548     __diamond_shaped_mask = 0x2, 
 
  549     __flags_unknown_mask = 0x10
 
  555     __do_dyncast(ptrdiff_t __src2dst, __sub_kind __access_path,
 
  556          const __class_type_info* __dst_type, 
const void* __obj_ptr,
 
  557          const __class_type_info* __src_type, 
const void* __src_ptr,
 
  558          __dyncast_result& __result) 
const;
 
  561     __do_find_public_src(ptrdiff_t __src2dst, 
const void* __obj_ptr,
 
  562              const __class_type_info* __src_type,
 
  563              const void* __src_ptr) 
const;
 
  566     __do_upcast(
const __class_type_info* __dst, 
const void* __obj,
 
  567         __upcast_result& __restrict __result) 
const;
 
  571   struct __cxa_exception;
 
  572   struct __cxa_refcounted_exception;
 
  573   struct __cxa_dependent_exception;
 
  574   struct __cxa_eh_globals;
 
  587   __dynamic_cast(
const void* __src_ptr, 
 
  588          const __class_type_info* __src_type, 
 
  589          const __class_type_info* __dst_type, 
 
  590          ptrdiff_t __src2dst); 
 
  600   __cxa_get_globals() _GLIBCXX_NOTHROW __attribute__ ((__const__));
 
  603   __cxa_get_globals_fast() _GLIBCXX_NOTHROW __attribute__ ((__const__));
 
  607   __cxa_allocate_exception(
size_t) _GLIBCXX_NOTHROW;
 
  611   __cxa_free_exception(
void*) _GLIBCXX_NOTHROW;
 
  615   __cxa_throw(
void*, 
std::type_info*, 
void (_GLIBCXX_CDTOR_CALLABI *) (
void *))
 
  616   __attribute__((__noreturn__));
 
  620   __cxa_get_exception_ptr(
void*) _GLIBCXX_NOTHROW __attribute__ ((__pure__));
 
  623   __cxa_begin_catch(
void*) _GLIBCXX_NOTHROW;
 
  629   __cxa_rethrow() __attribute__((__noreturn__));
 
  634   __cxa_current_exception_type() _GLIBCXX_NOTHROW __attribute__ ((__pure__));
 
  639   __cxa_dependent_exception*
 
  640   __cxa_allocate_dependent_exception() _GLIBCXX_NOTHROW;
 
  644   __cxa_free_dependent_exception(__cxa_dependent_exception*) _GLIBCXX_NOTHROW;
 
  650   class __foreign_exception
 
  652     virtual ~__foreign_exception() throw();
 
  653     virtual 
void __pure_dummy() = 0; 
 
  701 #endif // __cplusplus 
  703 #pragma GCC visibility pop 
GNU extensions for public use. 
_Siter_base< _Iterator >::iterator_type __base(_Iterator __it)
ISO C++ entities toplevel namespace is std. 
Exception thrown by __cxa_guard_acquire.6.7[stmt.dcl]/4: If control re-enters the declaration (recurs...