diff --git a/c++/debug_vtable/test.cxx b/c++/debug_vtable/test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..946d9e36da88046bb2a74e082375772c64dd7d7e --- /dev/null +++ b/c++/debug_vtable/test.cxx @@ -0,0 +1,63 @@ +/*! + * =========================================================================== + * @file test.cxx + * @brief + * @author Ji-Hyeon Gim + * @date 2015년 09월 04일 14시 13분 03초 + * @version 1.0 + * @copyright Copyleft (c) 2015, Ji-Hyeon Gim + * @license GNU General Public License v3 + * =========================================================================== + */ +#include + +#pragma pack(1) + +struct base1 { + virtual void m1() {} +}; + +struct base2 { + virtual void m2() {} +}; + +struct base3 { + virtual void m3() {} +}; + +struct base4 { + virtual void m4() {} +}; + +struct base5 { + virtual void m5() {} +}; + +struct cls1 : base2,base1,base3 { + virtual void c1() {} +}; + +struct cls2 : base4, base5 +{ + virtual void c2() {} +}; + +struct cls : cls1, cls2 +{ + virtual void m7() {} +}; + +int +main (int argc, char** argv) +{ + std::cout << sizeof(int) << std::endl; // 4 + std::cout << sizeof(struct base1) << std::endl; // 8 + std::cout << sizeof(struct base2) << std::endl; // 8 + std::cout << sizeof(struct base3) << std::endl; // 8 + std::cout << sizeof(struct base4) << std::endl; // 8 + std::cout << sizeof(struct base5) << std::endl; // 8 + std::cout << sizeof(struct cls1) << std::endl; // 16 + std::cout << sizeof(struct cls2) << std::endl; // 16 + std::cout << sizeof(struct cls) << std::endl; // 16 + return 0; +} diff --git a/c++/debug_vtable/test.cxx.002t.class b/c++/debug_vtable/test.cxx.002t.class new file mode 100644 index 0000000000000000000000000000000000000000..1a55fcbc3d512f3fcb97b372cd0a0442ac47033a --- /dev/null +++ b/c++/debug_vtable/test.cxx.002t.class @@ -0,0 +1,1868 @@ +Class :: + size=4 align=4 + base size=4 base align=4 +:: (0x0x7f5108d7cc00) 0 + +Class + size=8 align=4 + base size=8 base align=4 + (0x0x7f5108d7cba0) 0 + +Class __locale_struct + size=232 align=8 + base size=232 base align=8 +__locale_struct (0x0x7f5108d7cc60) 0 + +Vtable for std::exception +std::exception::_ZTVSt9exception: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::exception::~exception +24 (int (*)(...))std::exception::~exception +32 (int (*)(...))std::exception::what + +Class std::exception + size=8 align=8 + base size=8 base align=8 +std::exception (0x0x7f5108d7cd20) 0 nearly-empty + vptr=((& std::exception::_ZTVSt9exception) + 16u) + +Vtable for std::bad_exception +std::bad_exception::_ZTVSt13bad_exception: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::bad_exception::~bad_exception +24 (int (*)(...))std::bad_exception::~bad_exception +32 (int (*)(...))std::bad_exception::what + +Class std::bad_exception + size=8 align=8 + base size=8 base align=8 +std::bad_exception (0x0x7f5108dee1a0) 0 nearly-empty + vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u) + std::exception (0x0x7f5108d7cd80) 0 nearly-empty + primary-for std::bad_exception (0x0x7f5108dee1a0) + +Class std::__true_type + size=1 align=1 + base size=0 base align=1 +std::__true_type (0x0x7f5108d7cde0) 0 empty + +Class std::__false_type + size=1 align=1 + base size=0 base align=1 +std::__false_type (0x0x7f5108d7ce40) 0 empty + +Class std::__truth_type + size=1 align=1 + base size=0 base align=1 +std::__truth_type (0x0x7f5108d7cf00) 0 empty + +Class std::__is_void + size=1 align=1 + base size=0 base align=1 +std::__is_void (0x0x7f5108779120) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f51087791e0) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f5108779240) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f51087792a0) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f5108779300) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f5108779360) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f51087793c0) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f5108779420) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f5108779480) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f51087794e0) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f5108779540) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f51087795a0) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f5108779600) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f5108779660) 0 empty + +Class std::__is_integer<__int128> + size=1 align=1 + base size=0 base align=1 +std::__is_integer<__int128> (0x0x7f51087796c0) 0 empty + +Class std::__is_integer<__int128 unsigned> + size=1 align=1 + base size=0 base align=1 +std::__is_integer<__int128 unsigned> (0x0x7f5108779720) 0 empty + +Class std::__is_floating + size=1 align=1 + base size=0 base align=1 +std::__is_floating (0x0x7f51087797e0) 0 empty + +Class std::__is_floating + size=1 align=1 + base size=0 base align=1 +std::__is_floating (0x0x7f5108779840) 0 empty + +Class std::__is_floating + size=1 align=1 + base size=0 base align=1 +std::__is_floating (0x0x7f51087798a0) 0 empty + +Class std::__is_char + size=1 align=1 + base size=0 base align=1 +std::__is_char (0x0x7f5108779ba0) 0 empty + +Class std::__is_char + size=1 align=1 + base size=0 base align=1 +std::__is_char (0x0x7f5108779c00) 0 empty + +Class std::__is_byte + size=1 align=1 + base size=0 base align=1 +std::__is_byte (0x0x7f5108779cc0) 0 empty + +Class std::__is_byte + size=1 align=1 + base size=0 base align=1 +std::__is_byte (0x0x7f5108779d20) 0 empty + +Class std::__is_byte + size=1 align=1 + base size=0 base align=1 +std::__is_byte (0x0x7f5108779d80) 0 empty + +Class __gnu_cxx::__add_unsigned + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__add_unsigned (0x0x7f51087aa060) 0 empty + +Class __gnu_cxx::__add_unsigned + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__add_unsigned (0x0x7f51087aa0c0) 0 empty + +Class __gnu_cxx::__add_unsigned + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__add_unsigned (0x0x7f51087aa120) 0 empty + +Class __gnu_cxx::__add_unsigned + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__add_unsigned (0x0x7f51087aa180) 0 empty + +Class __gnu_cxx::__add_unsigned + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__add_unsigned (0x0x7f51087aa1e0) 0 empty + +Class __gnu_cxx::__add_unsigned + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__add_unsigned (0x0x7f51087aa240) 0 empty + +Class __gnu_cxx::__remove_unsigned + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__remove_unsigned (0x0x7f51087aa300) 0 empty + +Class __gnu_cxx::__remove_unsigned + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__remove_unsigned (0x0x7f51087aa360) 0 empty + +Class __gnu_cxx::__remove_unsigned + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__remove_unsigned (0x0x7f51087aa3c0) 0 empty + +Class __gnu_cxx::__remove_unsigned + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__remove_unsigned (0x0x7f51087aa420) 0 empty + +Class __gnu_cxx::__remove_unsigned + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__remove_unsigned (0x0x7f51087aa480) 0 empty + +Class __gnu_cxx::__remove_unsigned + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__remove_unsigned (0x0x7f51087aa4e0) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f51087aa600) 0 empty + +Class __gnu_cxx::__promote + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__promote (0x0x7f51087aa660) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f51087aa6c0) 0 empty + +Class __gnu_cxx::__promote + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__promote (0x0x7f51087aa720) 0 empty + +Class std::__is_integer + size=1 align=1 + base size=0 base align=1 +std::__is_integer (0x0x7f51087aa780) 0 empty + +Class __gnu_cxx::__promote + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__promote (0x0x7f51087aa7e0) 0 empty + +Class std::input_iterator_tag + size=1 align=1 + base size=0 base align=1 +std::input_iterator_tag (0x0x7f51087aaae0) 0 empty + +Class std::output_iterator_tag + size=1 align=1 + base size=0 base align=1 +std::output_iterator_tag (0x0x7f51087aab40) 0 empty + +Class std::forward_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::forward_iterator_tag (0x0x7f5108dee340) 0 empty + std::input_iterator_tag (0x0x7f51087aaba0) 0 empty + +Class std::bidirectional_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::bidirectional_iterator_tag (0x0x7f5108dee3a8) 0 empty + std::forward_iterator_tag (0x0x7f5108dee410) 0 empty + std::input_iterator_tag (0x0x7f51087aac00) 0 empty + +Class std::random_access_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::random_access_iterator_tag (0x0x7f5108dee478) 0 empty + std::bidirectional_iterator_tag (0x0x7f5108dee4e0) 0 empty + std::forward_iterator_tag (0x0x7f5108dee548) 0 empty + std::input_iterator_tag (0x0x7f51087aac60) 0 empty + +Class std::iterator + size=1 align=1 + base size=0 base align=1 +std::iterator (0x0x7f51087aaf60) 0 empty + +Class __gnu_cxx::__ops::_Iter_less_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_less_iter (0x0x7f5108811180) 0 empty + +Class __gnu_cxx::__ops::_Iter_less_val + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_less_val (0x0x7f51088111e0) 0 empty + +Class __gnu_cxx::__ops::_Val_less_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Val_less_iter (0x0x7f5108811240) 0 empty + +Class __gnu_cxx::__ops::_Iter_equal_to_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f51088112a0) 0 empty + +Class __gnu_cxx::__ops::_Iter_equal_to_val + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f5108811300) 0 empty + +Class std::__iter_swap + size=1 align=1 + base size=0 base align=1 +std::__iter_swap (0x0x7f5108811720) 0 empty + +Class std::__copy_move + size=1 align=1 + base size=0 base align=1 +std::__copy_move (0x0x7f51088118a0) 0 empty + +Class std::__copy_move_backward + size=1 align=1 + base size=0 base align=1 +std::__copy_move_backward (0x0x7f51088119c0) 0 empty + +Class std::__equal + size=1 align=1 + base size=0 base align=1 +std::__equal (0x0x7f5108811ae0) 0 empty + +Class std::__lc_rai + size=1 align=1 + base size=0 base align=1 +std::__lc_rai (0x0x7f5108811ba0) 0 empty + +Class std::__lexicographical_compare + size=1 align=1 + base size=0 base align=1 +std::__lexicographical_compare (0x0x7f5108811c60) 0 empty + +Class std::char_traits + size=1 align=1 + base size=0 base align=1 +std::char_traits (0x0x7f5108811de0) 0 empty + +Class std::char_traits + size=1 align=1 + base size=0 base align=1 +std::char_traits (0x0x7f5108811e40) 0 empty + +Class lconv + size=96 align=8 + base size=96 base align=8 +lconv (0x0x7f5108811ea0) 0 + +Class + size=8 align=4 + base size=8 base align=4 + (0x0x7f5108811f00) 0 + +Class timespec + size=16 align=8 + base size=16 base align=8 +timespec (0x0x7f5108811f60) 0 + +Class sched_param + size=4 align=4 + base size=4 base align=4 +sched_param (0x0x7f5108539000) 0 + +Class __sched_param + size=4 align=4 + base size=4 base align=4 +__sched_param (0x0x7f5108539060) 0 + +Class + size=128 align=8 + base size=128 base align=8 + (0x0x7f51085390c0) 0 + +Class timeval + size=16 align=8 + base size=16 base align=8 +timeval (0x0x7f5108539120) 0 + +Class timex + size=208 align=8 + base size=208 base align=8 +timex (0x0x7f5108539180) 0 + +Class tm + size=56 align=8 + base size=56 base align=8 +tm (0x0x7f51085391e0) 0 + +Class itimerspec + size=32 align=8 + base size=32 base align=8 +itimerspec (0x0x7f5108539240) 0 + +Class pthread_attr_t + size=56 align=8 + base size=56 base align=8 +pthread_attr_t (0x0x7f51085392a0) 0 + +Class __pthread_internal_list + size=16 align=8 + base size=16 base align=8 +__pthread_internal_list (0x0x7f5108539300) 0 + +Class ::__pthread_mutex_s + size=40 align=8 + base size=40 base align=8 +::__pthread_mutex_s (0x0x7f51085393c0) 0 + +Class + size=40 align=8 + base size=40 base align=8 + (0x0x7f5108539360) 0 + +Class + size=4 align=4 + base size=4 base align=4 + (0x0x7f5108539420) 0 + +Class :: + size=48 align=8 + base size=48 base align=8 +:: (0x0x7f51085394e0) 0 + +Class + size=48 align=8 + base size=48 base align=8 + (0x0x7f5108539480) 0 + +Class + size=4 align=4 + base size=4 base align=4 + (0x0x7f5108539540) 0 + +Class :: + size=56 align=8 + base size=56 base align=8 +:: (0x0x7f5108539600) 0 + +Class + size=56 align=8 + base size=56 base align=8 + (0x0x7f51085395a0) 0 + +Class + size=8 align=8 + base size=8 base align=8 + (0x0x7f5108539660) 0 + +Class + size=32 align=8 + base size=32 base align=8 + (0x0x7f51085396c0) 0 + +Class + size=4 align=4 + base size=4 base align=4 + (0x0x7f5108539720) 0 + +Class _pthread_cleanup_buffer + size=32 align=8 + base size=32 base align=8 +_pthread_cleanup_buffer (0x0x7f5108539780) 0 + +Class :: + size=72 align=8 + base size=72 base align=8 +:: (0x0x7f5108539840) 0 + +Class + size=104 align=8 + base size=104 base align=8 + (0x0x7f51085397e0) 0 + +Class __pthread_cleanup_frame + size=24 align=8 + base size=24 base align=8 +__pthread_cleanup_frame (0x0x7f51085398a0) 0 + +Class __pthread_cleanup_class + size=24 align=8 + base size=24 base align=8 +__pthread_cleanup_class (0x0x7f5108539900) 0 + +Vtable for std::bad_alloc +std::bad_alloc::_ZTVSt9bad_alloc: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::bad_alloc::~bad_alloc +24 (int (*)(...))std::bad_alloc::~bad_alloc +32 (int (*)(...))std::bad_alloc::what + +Class std::bad_alloc + size=8 align=8 + base size=8 base align=8 +std::bad_alloc (0x0x7f5108dee888) 0 nearly-empty + vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u) + std::exception (0x0x7f5108539960) 0 nearly-empty + primary-for std::bad_alloc (0x0x7f5108dee888) + +Class std::nothrow_t + size=1 align=1 + base size=0 base align=1 +std::nothrow_t (0x0x7f51085399c0) 0 empty + +Class std::allocator + size=1 align=1 + base size=0 base align=1 +std::allocator (0x0x7f5108539ae0) 0 empty + +Class __gnu_cxx::new_allocator + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::new_allocator (0x0x7f5108539c60) 0 empty + +Class std::allocator + size=1 align=1 + base size=1 base align=1 +std::allocator (0x0x7f5108dee958) 0 empty + __gnu_cxx::new_allocator (0x0x7f5108539cc0) 0 empty + +Class __gnu_cxx::new_allocator + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::new_allocator (0x0x7f5108539d20) 0 empty + +Class std::allocator + size=1 align=1 + base size=1 base align=1 +std::allocator (0x0x7f5108dee9c0) 0 empty + __gnu_cxx::new_allocator (0x0x7f5108539d80) 0 empty + +Vtable for __cxxabiv1::__forced_unwind +__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 0u +24 0u +32 (int (*)(...))__cxa_pure_virtual + +Class __cxxabiv1::__forced_unwind + size=8 align=8 + base size=8 base align=8 +__cxxabiv1::__forced_unwind (0x0x7f5108539f60) 0 nearly-empty + vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u) + +Class __gnu_cxx::__conditional_type, __gnu_cxx::__numeric_traits_floating > + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__conditional_type, __gnu_cxx::__numeric_traits_floating > (0x0x7f510869e0c0) 0 empty + +Class __gnu_cxx::__numeric_traits_integer + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__numeric_traits_integer (0x0x7f510869e120) 0 empty + +Class __gnu_cxx::__numeric_traits + size=1 align=1 + base size=1 base align=1 +__gnu_cxx::__numeric_traits (0x0x7f5108634a28) 0 empty + __gnu_cxx::__numeric_traits_integer (0x0x7f510869e180) 0 empty + +Class std::allocator::rebind + size=1 align=1 + base size=0 base align=1 +std::allocator::rebind (0x0x7f510869e300) 0 empty + +Class std::basic_string::_Alloc_hider + size=8 align=8 + base size=8 base align=8 +std::basic_string::_Alloc_hider (0x0x7f5108634bc8) 0 + std::allocator (0x0x7f5108634c30) 0 empty + __gnu_cxx::new_allocator (0x0x7f510869e360) 0 empty + +Class std::basic_string + size=8 align=8 + base size=8 base align=8 +std::basic_string (0x0x7f510869e2a0) 0 + +Class std::basic_string::_Rep_base + size=24 align=8 + base size=24 base align=8 +std::basic_string::_Rep_base (0x0x7f510869e3c0) 0 + +Class std::basic_string::_Rep + size=24 align=8 + base size=24 base align=8 +std::basic_string::_Rep (0x0x7f5108634c98) 0 + std::basic_string::_Rep_base (0x0x7f510869e420) 0 + +Class std::allocator::rebind + size=1 align=1 + base size=0 base align=1 +std::allocator::rebind (0x0x7f510869e4e0) 0 empty + +Class std::basic_string::_Alloc_hider + size=8 align=8 + base size=8 base align=8 +std::basic_string::_Alloc_hider (0x0x7f5108634dd0) 0 + std::allocator (0x0x7f5108634e38) 0 empty + __gnu_cxx::new_allocator (0x0x7f510869e540) 0 empty + +Class std::basic_string + size=8 align=8 + base size=8 base align=8 +std::basic_string (0x0x7f510869e480) 0 + +Class std::basic_string::_Rep_base + size=24 align=8 + base size=24 base align=8 +std::basic_string::_Rep_base (0x0x7f510869e5a0) 0 + +Class std::allocator::rebind + size=1 align=1 + base size=0 base align=1 +std::allocator::rebind (0x0x7f510869e660) 0 empty + +Class std::basic_string::_Rep + size=24 align=8 + base size=24 base align=8 +std::basic_string::_Rep (0x0x7f5108634ea0) 0 + std::basic_string::_Rep_base (0x0x7f510869e600) 0 + +Class std::locale + size=8 align=8 + base size=8 base align=8 +std::locale (0x0x7f510869e6c0) 0 + +Vtable for std::locale::facet +std::locale::facet::_ZTVNSt6locale5facetE: 4u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::locale::facet::~facet +24 (int (*)(...))std::locale::facet::~facet + +Class std::locale::facet + size=16 align=8 + base size=12 base align=8 +std::locale::facet (0x0x7f510869e720) 0 + vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u) + +Class std::locale::id + size=8 align=8 + base size=8 base align=8 +std::locale::id (0x0x7f510869e780) 0 + +Class std::locale::_Impl + size=40 align=8 + base size=40 base align=8 +std::locale::_Impl (0x0x7f510869e7e0) 0 + +Vtable for std::collate +std::collate::_ZTVSt7collateIcE: 7u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::collate<_CharT>::~collate +24 (int (*)(...))std::collate<_CharT>::~collate +32 (int (*)(...))std::collate<_CharT>::do_compare +40 (int (*)(...))std::collate<_CharT>::do_transform +48 (int (*)(...))std::collate<_CharT>::do_hash + +Class std::collate + size=24 align=8 + base size=24 base align=8 +std::collate (0x0x7f5108634af8) 0 + vptr=((& std::collate::_ZTVSt7collateIcE) + 16u) + std::locale::facet (0x0x7f510869e8a0) 0 + primary-for std::collate (0x0x7f5108634af8) + +Vtable for std::collate +std::collate::_ZTVSt7collateIwE: 7u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::collate<_CharT>::~collate +24 (int (*)(...))std::collate<_CharT>::~collate +32 (int (*)(...))std::collate<_CharT>::do_compare +40 (int (*)(...))std::collate<_CharT>::do_transform +48 (int (*)(...))std::collate<_CharT>::do_hash + +Class std::collate + size=24 align=8 + base size=24 base align=8 +std::collate (0x0x7f5108634b60) 0 + vptr=((& std::collate::_ZTVSt7collateIwE) + 16u) + std::locale::facet (0x0x7f510869e900) 0 + primary-for std::collate (0x0x7f5108634b60) + +Class __gnu_cxx::__conditional_type, __gnu_cxx::__numeric_traits_floating > + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__conditional_type, __gnu_cxx::__numeric_traits_floating > (0x0x7f510869e9c0) 0 empty + +Class __gnu_cxx::__numeric_traits_integer + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__numeric_traits_integer (0x0x7f510869ea20) 0 empty + +Class __gnu_cxx::__numeric_traits + size=1 align=1 + base size=1 base align=1 +__gnu_cxx::__numeric_traits (0x0x7f51084ec068) 0 empty + __gnu_cxx::__numeric_traits_integer (0x0x7f510869ea80) 0 empty + +Vtable for std::collate_byname +std::collate_byname::_ZTVSt14collate_bynameIcE: 7u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::collate_byname<_CharT>::~collate_byname +24 (int (*)(...))std::collate_byname<_CharT>::~collate_byname +32 (int (*)(...))std::collate<_CharT>::do_compare +40 (int (*)(...))std::collate<_CharT>::do_transform +48 (int (*)(...))std::collate<_CharT>::do_hash + +Class std::collate_byname + size=24 align=8 + base size=24 base align=8 +std::collate_byname (0x0x7f51084ec138) 0 + vptr=((& std::collate_byname::_ZTVSt14collate_bynameIcE) + 16u) + std::collate (0x0x7f51084ec1a0) 0 + primary-for std::collate_byname (0x0x7f51084ec138) + std::locale::facet (0x0x7f510869eae0) 0 + primary-for std::collate (0x0x7f51084ec1a0) + +Vtable for std::collate_byname +std::collate_byname::_ZTVSt14collate_bynameIwE: 7u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::collate_byname<_CharT>::~collate_byname +24 (int (*)(...))std::collate_byname<_CharT>::~collate_byname +32 (int (*)(...))std::collate<_CharT>::do_compare +40 (int (*)(...))std::collate<_CharT>::do_transform +48 (int (*)(...))std::collate<_CharT>::do_hash + +Class std::collate_byname + size=24 align=8 + base size=24 base align=8 +std::collate_byname (0x0x7f51084ec208) 0 + vptr=((& std::collate_byname::_ZTVSt14collate_bynameIwE) + 16u) + std::collate (0x0x7f51084ec270) 0 + primary-for std::collate_byname (0x0x7f51084ec208) + std::locale::facet (0x0x7f510869eb40) 0 + primary-for std::collate (0x0x7f51084ec270) + +Class std::__sso_string::__str + size=32 align=8 + base size=32 base align=8 +std::__sso_string::__str (0x0x7f510869ec00) 0 + +Class std::__sso_string:: + size=32 align=8 + base size=32 base align=8 +std::__sso_string:: (0x0x7f510869ec60) 0 + +Class std::__sso_string + size=32 align=8 + base size=32 base align=8 +std::__sso_string (0x0x7f510869eba0) 0 + +Vtable for std::logic_error +std::logic_error::_ZTVSt11logic_error: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::logic_error::~logic_error +24 (int (*)(...))std::logic_error::~logic_error +32 (int (*)(...))std::logic_error::what + +Class std::logic_error + size=16 align=8 + base size=16 base align=8 +std::logic_error (0x0x7f51084ec2d8) 0 + vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u) + std::exception (0x0x7f510869ecc0) 0 nearly-empty + primary-for std::logic_error (0x0x7f51084ec2d8) + +Vtable for std::domain_error +std::domain_error::_ZTVSt12domain_error: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::domain_error::~domain_error +24 (int (*)(...))std::domain_error::~domain_error +32 (int (*)(...))std::logic_error::what + +Class std::domain_error + size=16 align=8 + base size=16 base align=8 +std::domain_error (0x0x7f51084ec340) 0 + vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u) + std::logic_error (0x0x7f51084ec3a8) 0 + primary-for std::domain_error (0x0x7f51084ec340) + std::exception (0x0x7f510869ed20) 0 nearly-empty + primary-for std::logic_error (0x0x7f51084ec3a8) + +Vtable for std::invalid_argument +std::invalid_argument::_ZTVSt16invalid_argument: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::invalid_argument::~invalid_argument +24 (int (*)(...))std::invalid_argument::~invalid_argument +32 (int (*)(...))std::logic_error::what + +Class std::invalid_argument + size=16 align=8 + base size=16 base align=8 +std::invalid_argument (0x0x7f51084ec410) 0 + vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u) + std::logic_error (0x0x7f51084ec478) 0 + primary-for std::invalid_argument (0x0x7f51084ec410) + std::exception (0x0x7f510869ed80) 0 nearly-empty + primary-for std::logic_error (0x0x7f51084ec478) + +Vtable for std::length_error +std::length_error::_ZTVSt12length_error: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::length_error::~length_error +24 (int (*)(...))std::length_error::~length_error +32 (int (*)(...))std::logic_error::what + +Class std::length_error + size=16 align=8 + base size=16 base align=8 +std::length_error (0x0x7f51084ec4e0) 0 + vptr=((& std::length_error::_ZTVSt12length_error) + 16u) + std::logic_error (0x0x7f51084ec548) 0 + primary-for std::length_error (0x0x7f51084ec4e0) + std::exception (0x0x7f510869ede0) 0 nearly-empty + primary-for std::logic_error (0x0x7f51084ec548) + +Vtable for std::out_of_range +std::out_of_range::_ZTVSt12out_of_range: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::out_of_range::~out_of_range +24 (int (*)(...))std::out_of_range::~out_of_range +32 (int (*)(...))std::logic_error::what + +Class std::out_of_range + size=16 align=8 + base size=16 base align=8 +std::out_of_range (0x0x7f51084ec5b0) 0 + vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u) + std::logic_error (0x0x7f51084ec618) 0 + primary-for std::out_of_range (0x0x7f51084ec5b0) + std::exception (0x0x7f510869ee40) 0 nearly-empty + primary-for std::logic_error (0x0x7f51084ec618) + +Vtable for std::runtime_error +std::runtime_error::_ZTVSt13runtime_error: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::runtime_error::~runtime_error +24 (int (*)(...))std::runtime_error::~runtime_error +32 (int (*)(...))std::runtime_error::what + +Class std::runtime_error + size=16 align=8 + base size=16 base align=8 +std::runtime_error (0x0x7f51084ec680) 0 + vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u) + std::exception (0x0x7f510869eea0) 0 nearly-empty + primary-for std::runtime_error (0x0x7f51084ec680) + +Vtable for std::range_error +std::range_error::_ZTVSt11range_error: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::range_error::~range_error +24 (int (*)(...))std::range_error::~range_error +32 (int (*)(...))std::runtime_error::what + +Class std::range_error + size=16 align=8 + base size=16 base align=8 +std::range_error (0x0x7f51084ec6e8) 0 + vptr=((& std::range_error::_ZTVSt11range_error) + 16u) + std::runtime_error (0x0x7f51084ec750) 0 + primary-for std::range_error (0x0x7f51084ec6e8) + std::exception (0x0x7f510869ef00) 0 nearly-empty + primary-for std::runtime_error (0x0x7f51084ec750) + +Vtable for std::overflow_error +std::overflow_error::_ZTVSt14overflow_error: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::overflow_error::~overflow_error +24 (int (*)(...))std::overflow_error::~overflow_error +32 (int (*)(...))std::runtime_error::what + +Class std::overflow_error + size=16 align=8 + base size=16 base align=8 +std::overflow_error (0x0x7f51084ec7b8) 0 + vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u) + std::runtime_error (0x0x7f51084ec820) 0 + primary-for std::overflow_error (0x0x7f51084ec7b8) + std::exception (0x0x7f510869ef60) 0 nearly-empty + primary-for std::runtime_error (0x0x7f51084ec820) + +Vtable for std::underflow_error +std::underflow_error::_ZTVSt15underflow_error: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::underflow_error::~underflow_error +24 (int (*)(...))std::underflow_error::~underflow_error +32 (int (*)(...))std::runtime_error::what + +Class std::underflow_error + size=16 align=8 + base size=16 base align=8 +std::underflow_error (0x0x7f51084ec888) 0 + vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u) + std::runtime_error (0x0x7f51084ec8f0) 0 + primary-for std::underflow_error (0x0x7f51084ec888) + std::exception (0x0x7f510811c000) 0 nearly-empty + primary-for std::runtime_error (0x0x7f51084ec8f0) + +Vtable for std::ios_base::failure +std::ios_base::failure::_ZTVNSt8ios_base7failureE: 5u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::ios_base::failure::~failure +24 (int (*)(...))std::ios_base::failure::~failure +32 (int (*)(...))std::ios_base::failure::what + +Class std::ios_base::failure + size=16 align=8 + base size=16 base align=8 +std::ios_base::failure (0x0x7f51084ec958) 0 + vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureE) + 16u) + std::exception (0x0x7f510811c0c0) 0 nearly-empty + primary-for std::ios_base::failure (0x0x7f51084ec958) + +Class std::ios_base::_Callback_list + size=24 align=8 + base size=24 base align=8 +std::ios_base::_Callback_list (0x0x7f510811c120) 0 + +Class std::ios_base::_Words + size=16 align=8 + base size=16 base align=8 +std::ios_base::_Words (0x0x7f510811c180) 0 + +Class std::ios_base::Init + size=1 align=1 + base size=0 base align=1 +std::ios_base::Init (0x0x7f510811c1e0) 0 empty + +Vtable for std::ios_base +std::ios_base::_ZTVSt8ios_base: 4u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::ios_base::~ios_base +24 (int (*)(...))std::ios_base::~ios_base + +Class std::ios_base + size=216 align=8 + base size=216 base align=8 +std::ios_base (0x0x7f510811c060) 0 + vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u) + +Vtable for std::basic_streambuf +std::basic_streambuf::_ZTVSt15basic_streambufIcSt11char_traitsIcEE: 16u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::~basic_streambuf > +24 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::~basic_streambuf > +32 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::imbue > +40 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::setbuf > +48 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::seekoff > +56 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::seekpos > +64 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::sync > +72 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::showmanyc > +80 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::xsgetn > +88 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::underflow > +96 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::uflow > +104 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::pbackfail > +112 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::xsputn > +120 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::overflow > + +Class std::basic_streambuf + size=64 align=8 + base size=64 base align=8 +std::basic_streambuf (0x0x7f510811c2a0) 0 + vptr=((& std::basic_streambuf::_ZTVSt15basic_streambufIcSt11char_traitsIcEE) + 16u) + +Vtable for std::basic_streambuf +std::basic_streambuf::_ZTVSt15basic_streambufIwSt11char_traitsIwEE: 16u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::~basic_streambuf > +24 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::~basic_streambuf > +32 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::imbue > +40 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::setbuf > +48 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::seekoff > +56 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::seekpos > +64 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::sync > +72 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::showmanyc > +80 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::xsgetn > +88 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::underflow > +96 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::uflow > +104 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::pbackfail > +112 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::xsputn > +120 (int (*)(...))std::basic_streambuf<_CharT, _Traits>::overflow > + +Class std::basic_streambuf + size=64 align=8 + base size=64 base align=8 +std::basic_streambuf (0x0x7f510811c780) 0 + vptr=((& std::basic_streambuf::_ZTVSt15basic_streambufIwSt11char_traitsIwEE) + 16u) + +Class std::ctype_base + size=1 align=1 + base size=0 base align=1 +std::ctype_base (0x0x7f510811c900) 0 empty + +Vtable for std::ctype +std::ctype::_ZTVSt5ctypeIcE: 12u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::ctype::~ctype +24 (int (*)(...))std::ctype::~ctype +32 (int (*)(...))std::ctype::do_toupper +40 (int (*)(...))std::ctype::do_toupper +48 (int (*)(...))std::ctype::do_tolower +56 (int (*)(...))std::ctype::do_tolower +64 (int (*)(...))std::ctype::do_widen +72 (int (*)(...))std::ctype::do_widen +80 (int (*)(...))std::ctype::do_narrow +88 (int (*)(...))std::ctype::do_narrow + +Class std::ctype + size=576 align=8 + base size=570 base align=8 +std::ctype (0x0x7f5108244a10) 0 + vptr=((& std::ctype::_ZTVSt5ctypeIcE) + 16u) + std::locale::facet (0x0x7f510811cba0) 0 + primary-for std::ctype (0x0x7f5108244a10) + std::ctype_base (0x0x7f510811cc00) 0 empty + +Vtable for std::__ctype_abstract_base +std::__ctype_abstract_base::_ZTVSt21__ctype_abstract_baseIwE: 16u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 0u +24 0u +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))__cxa_pure_virtual +64 (int (*)(...))__cxa_pure_virtual +72 (int (*)(...))__cxa_pure_virtual +80 (int (*)(...))__cxa_pure_virtual +88 (int (*)(...))__cxa_pure_virtual +96 (int (*)(...))__cxa_pure_virtual +104 (int (*)(...))__cxa_pure_virtual +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class std::__ctype_abstract_base + size=16 align=8 + base size=12 base align=8 +std::__ctype_abstract_base (0x0x7f5108268bd0) 0 + vptr=((& std::__ctype_abstract_base::_ZTVSt21__ctype_abstract_baseIwE) + 16u) + std::locale::facet (0x0x7f510811cc60) 0 + primary-for std::__ctype_abstract_base (0x0x7f5108268bd0) + std::ctype_base (0x0x7f510811ccc0) 0 empty + +Vtable for std::ctype +std::ctype::_ZTVSt5ctypeIwE: 16u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::ctype::~ctype +24 (int (*)(...))std::ctype::~ctype +32 (int (*)(...))std::ctype::do_is +40 (int (*)(...))std::ctype::do_is +48 (int (*)(...))std::ctype::do_scan_is +56 (int (*)(...))std::ctype::do_scan_not +64 (int (*)(...))std::ctype::do_toupper +72 (int (*)(...))std::ctype::do_toupper +80 (int (*)(...))std::ctype::do_tolower +88 (int (*)(...))std::ctype::do_tolower +96 (int (*)(...))std::ctype::do_widen +104 (int (*)(...))std::ctype::do_widen +112 (int (*)(...))std::ctype::do_narrow +120 (int (*)(...))std::ctype::do_narrow + +Class std::ctype + size=1344 align=8 + base size=1344 base align=8 +std::ctype (0x0x7f5108248138) 0 + vptr=((& std::ctype::_ZTVSt5ctypeIwE) + 16u) + std::__ctype_abstract_base (0x0x7f5108268cb0) 0 + primary-for std::ctype (0x0x7f5108248138) + std::locale::facet (0x0x7f510811cd20) 0 + primary-for std::__ctype_abstract_base (0x0x7f5108268cb0) + std::ctype_base (0x0x7f510811cd80) 0 empty + +Vtable for std::ctype_byname +std::ctype_byname::_ZTVSt12ctype_bynameIcE: 12u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::ctype_byname::~ctype_byname +24 (int (*)(...))std::ctype_byname::~ctype_byname +32 (int (*)(...))std::ctype::do_toupper +40 (int (*)(...))std::ctype::do_toupper +48 (int (*)(...))std::ctype::do_tolower +56 (int (*)(...))std::ctype::do_tolower +64 (int (*)(...))std::ctype::do_widen +72 (int (*)(...))std::ctype::do_widen +80 (int (*)(...))std::ctype::do_narrow +88 (int (*)(...))std::ctype::do_narrow + +Class std::ctype_byname + size=576 align=8 + base size=570 base align=8 +std::ctype_byname (0x0x7f51082482d8) 0 + vptr=((& std::ctype_byname::_ZTVSt12ctype_bynameIcE) + 16u) + std::ctype (0x0x7f5108291070) 0 + primary-for std::ctype_byname (0x0x7f51082482d8) + std::locale::facet (0x0x7f510811ce40) 0 + primary-for std::ctype (0x0x7f5108291070) + std::ctype_base (0x0x7f510811cea0) 0 empty + +Vtable for std::ctype_byname +std::ctype_byname::_ZTVSt12ctype_bynameIwE: 16u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::ctype_byname::~ctype_byname +24 (int (*)(...))std::ctype_byname::~ctype_byname +32 (int (*)(...))std::ctype::do_is +40 (int (*)(...))std::ctype::do_is +48 (int (*)(...))std::ctype::do_scan_is +56 (int (*)(...))std::ctype::do_scan_not +64 (int (*)(...))std::ctype::do_toupper +72 (int (*)(...))std::ctype::do_toupper +80 (int (*)(...))std::ctype::do_tolower +88 (int (*)(...))std::ctype::do_tolower +96 (int (*)(...))std::ctype::do_widen +104 (int (*)(...))std::ctype::do_widen +112 (int (*)(...))std::ctype::do_narrow +120 (int (*)(...))std::ctype::do_narrow + +Class std::ctype_byname + size=1344 align=8 + base size=1344 base align=8 +std::ctype_byname (0x0x7f5108248340) 0 + vptr=((& std::ctype_byname::_ZTVSt12ctype_bynameIwE) + 16u) + std::ctype (0x0x7f51082483a8) 0 + primary-for std::ctype_byname (0x0x7f5108248340) + std::__ctype_abstract_base (0x0x7f51082911c0) 0 + primary-for std::ctype (0x0x7f51082483a8) + std::locale::facet (0x0x7f510811cf00) 0 + primary-for std::__ctype_abstract_base (0x0x7f51082911c0) + std::ctype_base (0x0x7f510811cf60) 0 empty + +Class std::__num_base + size=1 align=1 + base size=0 base align=1 +std::__num_base (0x0x7f51082a4000) 0 empty + +Vtable for std::numpunct +std::numpunct::_ZTVSt8numpunctIcE: 9u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::numpunct<_CharT>::~numpunct +24 (int (*)(...))std::numpunct<_CharT>::~numpunct +32 (int (*)(...))std::numpunct<_CharT>::do_decimal_point +40 (int (*)(...))std::numpunct<_CharT>::do_thousands_sep +48 (int (*)(...))std::numpunct<_CharT>::do_grouping +56 (int (*)(...))std::numpunct<_CharT>::do_truename +64 (int (*)(...))std::numpunct<_CharT>::do_falsename + +Class std::numpunct + size=24 align=8 + base size=24 base align=8 +std::numpunct (0x0x7f5108248680) 0 + vptr=((& std::numpunct::_ZTVSt8numpunctIcE) + 16u) + std::locale::facet (0x0x7f51082a4120) 0 + primary-for std::numpunct (0x0x7f5108248680) + +Vtable for std::numpunct +std::numpunct::_ZTVSt8numpunctIwE: 9u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::numpunct<_CharT>::~numpunct +24 (int (*)(...))std::numpunct<_CharT>::~numpunct +32 (int (*)(...))std::numpunct<_CharT>::do_decimal_point +40 (int (*)(...))std::numpunct<_CharT>::do_thousands_sep +48 (int (*)(...))std::numpunct<_CharT>::do_grouping +56 (int (*)(...))std::numpunct<_CharT>::do_truename +64 (int (*)(...))std::numpunct<_CharT>::do_falsename + +Class std::numpunct + size=24 align=8 + base size=24 base align=8 +std::numpunct (0x0x7f51082486e8) 0 + vptr=((& std::numpunct::_ZTVSt8numpunctIwE) + 16u) + std::locale::facet (0x0x7f51082a4180) 0 + primary-for std::numpunct (0x0x7f51082486e8) + +Class __gnu_cxx::__conditional_type, __gnu_cxx::__numeric_traits_floating > + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__conditional_type, __gnu_cxx::__numeric_traits_floating > (0x0x7f51082a43c0) 0 empty + +Class __gnu_cxx::__numeric_traits_integer + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__numeric_traits_integer (0x0x7f51082a4420) 0 empty + +Class __gnu_cxx::__numeric_traits + size=1 align=1 + base size=1 base align=1 +__gnu_cxx::__numeric_traits (0x0x7f51082489c0) 0 empty + __gnu_cxx::__numeric_traits_integer (0x0x7f51082a4480) 0 empty + +Class __gnu_cxx::__conditional_type + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__conditional_type (0x0x7f51082a44e0) 0 empty + +Vtable for std::numpunct_byname +std::numpunct_byname::_ZTVSt15numpunct_bynameIcE: 9u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::numpunct_byname<_CharT>::~numpunct_byname +24 (int (*)(...))std::numpunct_byname<_CharT>::~numpunct_byname +32 (int (*)(...))std::numpunct<_CharT>::do_decimal_point +40 (int (*)(...))std::numpunct<_CharT>::do_thousands_sep +48 (int (*)(...))std::numpunct<_CharT>::do_grouping +56 (int (*)(...))std::numpunct<_CharT>::do_truename +64 (int (*)(...))std::numpunct<_CharT>::do_falsename + +Class std::numpunct_byname + size=24 align=8 + base size=24 base align=8 +std::numpunct_byname (0x0x7f5108248d68) 0 + vptr=((& std::numpunct_byname::_ZTVSt15numpunct_bynameIcE) + 16u) + std::numpunct (0x0x7f5108248dd0) 0 + primary-for std::numpunct_byname (0x0x7f5108248d68) + std::locale::facet (0x0x7f51082a47e0) 0 + primary-for std::numpunct (0x0x7f5108248dd0) + +Vtable for std::num_get +std::num_get::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE: 15u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::num_get<_CharT, _InIter>::~num_get > > +24 (int (*)(...))std::num_get<_CharT, _InIter>::~num_get > > +32 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +40 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +48 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +56 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +64 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +72 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +80 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +88 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +96 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +104 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +112 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > + +Class std::num_get + size=16 align=8 + base size=12 base align=8 +std::num_get (0x0x7f5108248e38) 0 + vptr=((& std::num_get::_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE) + 16u) + std::locale::facet (0x0x7f51082a4840) 0 + primary-for std::num_get (0x0x7f5108248e38) + +Vtable for std::num_put +std::num_put::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE: 12u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::num_put<_CharT, _OutIter>::~num_put > > +24 (int (*)(...))std::num_put<_CharT, _OutIter>::~num_put > > +32 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +40 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +48 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +56 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +64 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +72 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +80 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +88 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > + +Class std::num_put + size=16 align=8 + base size=12 base align=8 +std::num_put (0x0x7f5108248ea0) 0 + vptr=((& std::num_put::_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE) + 16u) + std::locale::facet (0x0x7f51082a4900) 0 + primary-for std::num_put (0x0x7f5108248ea0) + +Vtable for std::numpunct_byname +std::numpunct_byname::_ZTVSt15numpunct_bynameIwE: 9u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::numpunct_byname<_CharT>::~numpunct_byname +24 (int (*)(...))std::numpunct_byname<_CharT>::~numpunct_byname +32 (int (*)(...))std::numpunct<_CharT>::do_decimal_point +40 (int (*)(...))std::numpunct<_CharT>::do_thousands_sep +48 (int (*)(...))std::numpunct<_CharT>::do_grouping +56 (int (*)(...))std::numpunct<_CharT>::do_truename +64 (int (*)(...))std::numpunct<_CharT>::do_falsename + +Class std::numpunct_byname + size=24 align=8 + base size=24 base align=8 +std::numpunct_byname (0x0x7f5108248f08) 0 + vptr=((& std::numpunct_byname::_ZTVSt15numpunct_bynameIwE) + 16u) + std::numpunct (0x0x7f5108248f70) 0 + primary-for std::numpunct_byname (0x0x7f5108248f08) + std::locale::facet (0x0x7f51082a49c0) 0 + primary-for std::numpunct (0x0x7f5108248f70) + +Vtable for std::num_get +std::num_get::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE: 15u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::num_get<_CharT, _InIter>::~num_get > > +24 (int (*)(...))std::num_get<_CharT, _InIter>::~num_get > > +32 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +40 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +48 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +56 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +64 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +72 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +80 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +88 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +96 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +104 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > +112 (int (*)(...))std::num_get<_CharT, _InIter>::do_get > > + +Class std::num_get + size=16 align=8 + base size=12 base align=8 +std::num_get (0x0x7f5107fbc000) 0 + vptr=((& std::num_get::_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE) + 16u) + std::locale::facet (0x0x7f51082a4a20) 0 + primary-for std::num_get (0x0x7f5107fbc000) + +Vtable for std::num_put +std::num_put::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE: 12u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::num_put<_CharT, _OutIter>::~num_put > > +24 (int (*)(...))std::num_put<_CharT, _OutIter>::~num_put > > +32 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +40 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +48 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +56 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +64 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +72 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +80 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > +88 (int (*)(...))std::num_put<_CharT, _OutIter>::do_put > > + +Class std::num_put + size=16 align=8 + base size=12 base align=8 +std::num_put (0x0x7f5107fbc0d0) 0 + vptr=((& std::num_put::_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE) + 16u) + std::locale::facet (0x0x7f51082a4a80) 0 + primary-for std::num_put (0x0x7f5107fbc0d0) + +Vtable for std::basic_ios +std::basic_ios::_ZTVSt9basic_iosIcSt11char_traitsIcEE: 4u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::basic_ios<_CharT, _Traits>::~basic_ios > +24 (int (*)(...))std::basic_ios<_CharT, _Traits>::~basic_ios > + +Class std::basic_ios + size=264 align=8 + base size=264 base align=8 +std::basic_ios (0x0x7f5107fbc410) 0 + vptr=((& std::basic_ios::_ZTVSt9basic_iosIcSt11char_traitsIcEE) + 16u) + std::ios_base (0x0x7f51082a4b40) 0 + primary-for std::basic_ios (0x0x7f5107fbc410) + +Vtable for std::basic_ios +std::basic_ios::_ZTVSt9basic_iosIwSt11char_traitsIwEE: 4u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))std::basic_ios<_CharT, _Traits>::~basic_ios > +24 (int (*)(...))std::basic_ios<_CharT, _Traits>::~basic_ios > + +Class std::basic_ios + size=264 align=8 + base size=264 base align=8 +std::basic_ios (0x0x7f5107fbc4e0) 0 + vptr=((& std::basic_ios::_ZTVSt9basic_iosIwSt11char_traitsIwEE) + 16u) + std::ios_base (0x0x7f51082a4c60) 0 + primary-for std::basic_ios (0x0x7f5107fbc4e0) + +Vtable for std::basic_ostream +std::basic_ostream::_ZTVSo: 10u entries +0 8u +8 (int (*)(...))0 +16 (int (*)(...))0 +24 (int (*)(...))std::basic_ostream<_CharT, _Traits>::~basic_ostream > +32 (int (*)(...))std::basic_ostream<_CharT, _Traits>::~basic_ostream > +40 18446744073709551608u +48 (int (*)(...))-8 +56 (int (*)(...))0 +64 (int (*)(...))std::basic_ostream::_ZTv0_n24_NSoD1Ev +72 (int (*)(...))std::basic_ostream::_ZTv0_n24_NSoD0Ev + +VTT for std::basic_ostream +std::basic_ostream::_ZTTSo: 2u entries +0 ((& std::basic_ostream::_ZTVSo) + 24u) +8 ((& std::basic_ostream::_ZTVSo) + 64u) + +Class std::basic_ostream + size=272 align=8 + base size=8 base align=8 +std::basic_ostream (0x0x7f5107fbc9c0) 0 nearly-empty + vptridx=0u vptr=((& std::basic_ostream::_ZTVSo) + 24u) + std::basic_ios (0x0x7f5107fbca28) 8 virtual + vptridx=8u vbaseoffset=-24 vptr=((& std::basic_ostream::_ZTVSo) + 64u) + std::ios_base (0x0x7f51082a4ea0) 8 + primary-for std::basic_ios (0x0x7f5107fbca28) + +Class std::basic_ostream::sentry + size=16 align=8 + base size=16 base align=8 +std::basic_ostream::sentry (0x0x7f51082a4f00) 0 + +Vtable for std::basic_ostream +std::basic_ostream::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE: 10u entries +0 8u +8 (int (*)(...))0 +16 (int (*)(...))0 +24 (int (*)(...))std::basic_ostream<_CharT, _Traits>::~basic_ostream > +32 (int (*)(...))std::basic_ostream<_CharT, _Traits>::~basic_ostream > +40 18446744073709551608u +48 (int (*)(...))-8 +56 (int (*)(...))0 +64 (int (*)(...))std::basic_ostream::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev +72 (int (*)(...))std::basic_ostream::_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev + +VTT for std::basic_ostream +std::basic_ostream::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries +0 ((& std::basic_ostream::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u) +8 ((& std::basic_ostream::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u) + +Class std::basic_ostream + size=272 align=8 + base size=8 base align=8 +std::basic_ostream (0x0x7f5107fbcc30) 0 nearly-empty + vptridx=0u vptr=((& std::basic_ostream::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u) + std::basic_ios (0x0x7f5107fbcc98) 8 virtual + vptridx=8u vbaseoffset=-24 vptr=((& std::basic_ostream::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u) + std::ios_base (0x0x7f51082a4f60) 8 + primary-for std::basic_ios (0x0x7f5107fbcc98) + +Class std::basic_ostream::sentry + size=16 align=8 + base size=16 base align=8 +std::basic_ostream::sentry (0x0x7f51080ae000) 0 + +Vtable for std::basic_istream +std::basic_istream::_ZTVSi: 10u entries +0 16u +8 (int (*)(...))0 +16 (int (*)(...))0 +24 (int (*)(...))std::basic_istream<_CharT, _Traits>::~basic_istream > +32 (int (*)(...))std::basic_istream<_CharT, _Traits>::~basic_istream > +40 18446744073709551600u +48 (int (*)(...))-16 +56 (int (*)(...))0 +64 (int (*)(...))std::basic_istream::_ZTv0_n24_NSiD1Ev +72 (int (*)(...))std::basic_istream::_ZTv0_n24_NSiD0Ev + +VTT for std::basic_istream +std::basic_istream::_ZTTSi: 2u entries +0 ((& std::basic_istream::_ZTVSi) + 24u) +8 ((& std::basic_istream::_ZTVSi) + 64u) + +Class std::basic_istream + size=280 align=8 + base size=16 base align=8 +std::basic_istream (0x0x7f5107fbcd68) 0 + vptridx=0u vptr=((& std::basic_istream::_ZTVSi) + 24u) + std::basic_ios (0x0x7f51080df000) 16 virtual + vptridx=8u vbaseoffset=-24 vptr=((& std::basic_istream::_ZTVSi) + 64u) + std::ios_base (0x0x7f51080ae0c0) 16 + primary-for std::basic_ios (0x0x7f51080df000) + +Vtable for std::basic_istream +std::basic_istream::_ZTVSt13basic_istreamIwSt11char_traitsIwEE: 10u entries +0 16u +8 (int (*)(...))0 +16 (int (*)(...))0 +24 (int (*)(...))std::basic_istream<_CharT, _Traits>::~basic_istream > +32 (int (*)(...))std::basic_istream<_CharT, _Traits>::~basic_istream > +40 18446744073709551600u +48 (int (*)(...))-16 +56 (int (*)(...))0 +64 (int (*)(...))std::basic_istream::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev +72 (int (*)(...))std::basic_istream::_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev + +VTT for std::basic_istream +std::basic_istream::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries +0 ((& std::basic_istream::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u) +8 ((& std::basic_istream::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u) + +Class std::basic_istream + size=280 align=8 + base size=16 base align=8 +std::basic_istream (0x0x7f51080df208) 0 + vptridx=0u vptr=((& std::basic_istream::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u) + std::basic_ios (0x0x7f51080df270) 16 virtual + vptridx=8u vbaseoffset=-24 vptr=((& std::basic_istream::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u) + std::ios_base (0x0x7f51080ae120) 16 + primary-for std::basic_ios (0x0x7f51080df270) + +Class __gnu_cxx::__conditional_type, __gnu_cxx::__numeric_traits_floating > + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__conditional_type, __gnu_cxx::__numeric_traits_floating > (0x0x7f51080ae2a0) 0 empty + +Class __gnu_cxx::__numeric_traits_integer + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__numeric_traits_integer (0x0x7f51080ae300) 0 empty + +Class __gnu_cxx::__numeric_traits + size=1 align=1 + base size=1 base align=1 +__gnu_cxx::__numeric_traits (0x0x7f51080df6e8) 0 empty + __gnu_cxx::__numeric_traits_integer (0x0x7f51080ae360) 0 empty + +Class __gnu_cxx::__conditional_type, __gnu_cxx::__numeric_traits_floating > + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__conditional_type, __gnu_cxx::__numeric_traits_floating > (0x0x7f51080ae3c0) 0 empty + +Class __gnu_cxx::__numeric_traits_integer + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__numeric_traits_integer (0x0x7f51080ae420) 0 empty + +Class __gnu_cxx::__numeric_traits + size=1 align=1 + base size=1 base align=1 +__gnu_cxx::__numeric_traits (0x0x7f51080dfbc8) 0 empty + __gnu_cxx::__numeric_traits_integer (0x0x7f51080ae480) 0 empty + +Class std::basic_istream::sentry + size=1 align=1 + base size=1 base align=1 +std::basic_istream::sentry (0x0x7f51080ae4e0) 0 + +Vtable for std::basic_iostream +std::basic_iostream::_ZTVSd: 15u entries +0 24u +8 (int (*)(...))0 +16 (int (*)(...))0 +24 (int (*)(...))std::basic_iostream<_CharT, _Traits>::~basic_iostream > +32 (int (*)(...))std::basic_iostream<_CharT, _Traits>::~basic_iostream > +40 8u +48 (int (*)(...))-16 +56 (int (*)(...))0 +64 (int (*)(...))std::basic_iostream::_ZThn16_NSdD1Ev +72 (int (*)(...))std::basic_iostream::_ZThn16_NSdD0Ev +80 18446744073709551592u +88 (int (*)(...))-24 +96 (int (*)(...))0 +104 (int (*)(...))std::basic_iostream::_ZTv0_n24_NSdD1Ev +112 (int (*)(...))std::basic_iostream::_ZTv0_n24_NSdD0Ev + +Construction vtable for std::basic_istream (0x0x7f51080df7b8 instance) in std::basic_iostream +std::basic_iostream::_ZTCSd0_Si: 10u entries +0 24u +8 (int (*)(...))0 +16 (int (*)(...))0 +24 0u +32 0u +40 18446744073709551592u +48 (int (*)(...))-24 +56 (int (*)(...))0 +64 0u +72 0u + +Construction vtable for std::basic_ostream (0x0x7f5107d98000 instance) in std::basic_iostream +std::basic_iostream::_ZTCSd16_So: 10u entries +0 8u +8 (int (*)(...))0 +16 (int (*)(...))0 +24 0u +32 0u +40 18446744073709551608u +48 (int (*)(...))-8 +56 (int (*)(...))0 +64 0u +72 0u + +VTT for std::basic_iostream +std::basic_iostream::_ZTTSd: 7u entries +0 ((& std::basic_iostream::_ZTVSd) + 24u) +8 ((& std::basic_iostream::_ZTCSd0_Si) + 24u) +16 ((& std::basic_iostream::_ZTCSd0_Si) + 64u) +24 ((& std::basic_iostream::_ZTCSd16_So) + 24u) +32 ((& std::basic_iostream::_ZTCSd16_So) + 64u) +40 ((& std::basic_iostream::_ZTVSd) + 104u) +48 ((& std::basic_iostream::_ZTVSd) + 64u) + +Class std::basic_iostream + size=288 align=8 + base size=24 base align=8 +std::basic_iostream (0x0x7f5107d7d930) 0 + vptridx=0u vptr=((& std::basic_iostream::_ZTVSd) + 24u) + std::basic_istream (0x0x7f51080df7b8) 0 + primary-for std::basic_iostream (0x0x7f5107d7d930) + subvttidx=8u + std::basic_ios (0x0x7f51080dfdd0) 24 virtual + vptridx=40u vbaseoffset=-24 vptr=((& std::basic_iostream::_ZTVSd) + 104u) + std::ios_base (0x0x7f51080ae540) 24 + primary-for std::basic_ios (0x0x7f51080dfdd0) + std::basic_ostream (0x0x7f5107d98000) 16 nearly-empty + subvttidx=24u vptridx=48u vptr=((& std::basic_iostream::_ZTVSd) + 64u) + std::basic_ios (0x0x7f51080dfdd0) alternative-path + +Class std::basic_istream::sentry + size=1 align=1 + base size=1 base align=1 +std::basic_istream::sentry (0x0x7f51080ae5a0) 0 + +Vtable for std::basic_iostream +std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE: 15u entries +0 24u +8 (int (*)(...))0 +16 (int (*)(...))0 +24 (int (*)(...))std::basic_iostream<_CharT, _Traits>::~basic_iostream > +32 (int (*)(...))std::basic_iostream<_CharT, _Traits>::~basic_iostream > +40 8u +48 (int (*)(...))-16 +56 (int (*)(...))0 +64 (int (*)(...))std::basic_iostream::_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev +72 (int (*)(...))std::basic_iostream::_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev +80 18446744073709551592u +88 (int (*)(...))-24 +96 (int (*)(...))0 +104 (int (*)(...))std::basic_iostream::_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev +112 (int (*)(...))std::basic_iostream::_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev + +Construction vtable for std::basic_istream (0x0x7f5107d983a8 instance) in std::basic_iostream +std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries +0 24u +8 (int (*)(...))0 +16 (int (*)(...))0 +24 0u +32 0u +40 18446744073709551592u +48 (int (*)(...))-24 +56 (int (*)(...))0 +64 0u +72 0u + +Construction vtable for std::basic_ostream (0x0x7f5107d98478 instance) in std::basic_iostream +std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries +0 8u +8 (int (*)(...))0 +16 (int (*)(...))0 +24 0u +32 0u +40 18446744073709551608u +48 (int (*)(...))-8 +56 (int (*)(...))0 +64 0u +72 0u + +VTT for std::basic_iostream +std::basic_iostream::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries +0 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u) +8 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u) +16 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u) +24 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u) +32 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u) +40 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u) +48 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u) + +Class std::basic_iostream + size=288 align=8 + base size=24 base align=8 +std::basic_iostream (0x0x7f5107dae150) 0 + vptridx=0u vptr=((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u) + std::basic_istream (0x0x7f5107d983a8) 0 + primary-for std::basic_iostream (0x0x7f5107dae150) + subvttidx=8u + std::basic_ios (0x0x7f5107d98410) 24 virtual + vptridx=40u vbaseoffset=-24 vptr=((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u) + std::ios_base (0x0x7f51080ae600) 24 + primary-for std::basic_ios (0x0x7f5107d98410) + std::basic_ostream (0x0x7f5107d98478) 16 nearly-empty + subvttidx=24u vptridx=48u vptr=((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u) + std::basic_ios (0x0x7f5107d98410) alternative-path + +Vtable for base1 +base1::_ZTV5base1: 3u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))base1::m1 + +Class base1 + size=8 align=1 + base size=8 base align=1 +base1 (0x0x7f51080ae660) 0 nearly-empty + vptr=((& base1::_ZTV5base1) + 16u) + +Vtable for base2 +base2::_ZTV5base2: 3u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))base2::m2 + +Class base2 + size=8 align=1 + base size=8 base align=1 +base2 (0x0x7f51080ae6c0) 0 nearly-empty + vptr=((& base2::_ZTV5base2) + 16u) + +Vtable for base3 +base3::_ZTV5base3: 3u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))base3::m3 + +Class base3 + size=8 align=1 + base size=8 base align=1 +base3 (0x0x7f51080ae720) 0 nearly-empty + vptr=((& base3::_ZTV5base3) + 16u) + +Vtable for base4 +base4::_ZTV5base4: 3u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))base4::m4 + +Class base4 + size=8 align=1 + base size=8 base align=1 +base4 (0x0x7f51080ae780) 0 nearly-empty + vptr=((& base4::_ZTV5base4) + 16u) + +Vtable for base5 +base5::_ZTV5base5: 3u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))base5::m5 + +Class base5 + size=8 align=1 + base size=8 base align=1 +base5 (0x0x7f51080ae7e0) 0 nearly-empty + vptr=((& base5::_ZTV5base5) + 16u) + +Vtable for cls1 +cls1::_ZTV4cls1: 10u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))base2::m2 +24 (int (*)(...))cls1::c1 +32 (int (*)(...))-8 +40 (int (*)(...))0 +48 (int (*)(...))base1::m1 +56 (int (*)(...))-16 +64 (int (*)(...))0 +72 (int (*)(...))base3::m3 + +Class cls1 + size=24 align=1 + base size=24 base align=1 +cls1 (0x0x7f5107d66690) 0 + vptr=((& cls1::_ZTV4cls1) + 16u) + base2 (0x0x7f51080ae840) 0 nearly-empty + primary-for cls1 (0x0x7f5107d66690) + base1 (0x0x7f51080ae8a0) 8 nearly-empty + vptr=((& cls1::_ZTV4cls1) + 48u) + base3 (0x0x7f51080ae900) 16 nearly-empty + vptr=((& cls1::_ZTV4cls1) + 72u) + +Vtable for cls2 +cls2::_ZTV4cls2: 6u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))base4::m4 +24 (int (*)(...))-8 +32 (int (*)(...))0 +40 (int (*)(...))base5::m5 + +Class cls2 + size=16 align=1 + base size=16 base align=1 +cls2 (0x0x7f5107daee00) 0 + vptr=((& cls2::_ZTV4cls2) + 16u) + base4 (0x0x7f51080ae960) 0 nearly-empty + primary-for cls2 (0x0x7f5107daee00) + base5 (0x0x7f51080ae9c0) 8 nearly-empty + vptr=((& cls2::_ZTV4cls2) + 40u) + +Vtable for cls +cls::_ZTV3cls: 17u entries +0 (int (*)(...))0 +8 (int (*)(...))0 +16 (int (*)(...))base2::m2 +24 (int (*)(...))cls1::c1 +32 (int (*)(...))cls::m7 +40 (int (*)(...))-8 +48 (int (*)(...))0 +56 (int (*)(...))base1::m1 +64 (int (*)(...))-16 +72 (int (*)(...))0 +80 (int (*)(...))base3::m3 +88 (int (*)(...))-24 +96 (int (*)(...))0 +104 (int (*)(...))base4::m4 +112 (int (*)(...))-32 +120 (int (*)(...))0 +128 (int (*)(...))base5::m5 + +Class cls + size=40 align=1 + base size=40 base align=1 +cls (0x0x7f5107daeee0) 0 + vptr=((& cls::_ZTV3cls) + 16u) + cls1 (0x0x7f5107d66780) 0 + primary-for cls (0x0x7f5107daeee0) + base2 (0x0x7f51080aea20) 0 nearly-empty + primary-for cls1 (0x0x7f5107d66780) + base1 (0x0x7f51080aea80) 8 nearly-empty + vptr=((& cls::_ZTV3cls) + 56u) + base3 (0x0x7f51080aeae0) 16 nearly-empty + vptr=((& cls::_ZTV3cls) + 80u) + cls2 (0x0x7f5107daef50) 24 + vptr=((& cls::_ZTV3cls) + 104u) + base4 (0x0x7f51080aeb40) 24 nearly-empty + primary-for cls2 (0x0x7f5107daef50) + base5 (0x0x7f51080aeba0) 32 nearly-empty + vptr=((& cls::_ZTV3cls) + 128u) +