Class std::__true_type
   size=1 align=1
   base size=0 base align=1
std::__true_type (0x0x7f715d283900) 0 empty

Class std::__false_type
   size=1 align=1
   base size=0 base align=1
std::__false_type (0x0x7f715d283960) 0 empty

Class std::__truth_type<true>
   size=1 align=1
   base size=0 base align=1
std::__truth_type<true> (0x0x7f715d283a20) 0 empty

Class std::__is_void<void>
   size=1 align=1
   base size=0 base align=1
std::__is_void<void> (0x0x7f715d283c00) 0 empty

Class std::__is_integer<bool>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<bool> (0x0x7f715d283cc0) 0 empty

Class std::__is_integer<char>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<char> (0x0x7f715d283d20) 0 empty

Class std::__is_integer<signed char>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<signed char> (0x0x7f715d283d80) 0 empty

Class std::__is_integer<unsigned char>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<unsigned char> (0x0x7f715d283de0) 0 empty

Class std::__is_integer<wchar_t>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<wchar_t> (0x0x7f715d283e40) 0 empty

Class std::__is_integer<short int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<short int> (0x0x7f715d283ea0) 0 empty

Class std::__is_integer<short unsigned int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<short unsigned int> (0x0x7f715d283f00) 0 empty

Class std::__is_integer<int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<int> (0x0x7f715d283f60) 0 empty

Class std::__is_integer<unsigned int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<unsigned int> (0x0x7f715cbf7000) 0 empty

Class std::__is_integer<long int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<long int> (0x0x7f715cbf7060) 0 empty

Class std::__is_integer<long unsigned int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<long unsigned int> (0x0x7f715cbf70c0) 0 empty

Class std::__is_integer<long long int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<long long int> (0x0x7f715cbf7120) 0 empty

Class std::__is_integer<long long unsigned int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<long long unsigned int> (0x0x7f715cbf7180) 0 empty

Class std::__is_floating<float>
   size=1 align=1
   base size=0 base align=1
std::__is_floating<float> (0x0x7f715cbf7240) 0 empty

Class std::__is_floating<double>
   size=1 align=1
   base size=0 base align=1
std::__is_floating<double> (0x0x7f715cbf72a0) 0 empty

Class std::__is_floating<long double>
   size=1 align=1
   base size=0 base align=1
std::__is_floating<long double> (0x0x7f715cbf7300) 0 empty

Class std::__is_char<char>
   size=1 align=1
   base size=0 base align=1
std::__is_char<char> (0x0x7f715cbf7600) 0 empty

Class std::__is_char<wchar_t>
   size=1 align=1
   base size=0 base align=1
std::__is_char<wchar_t> (0x0x7f715cbf7660) 0 empty

Class std::__is_byte<char>
   size=1 align=1
   base size=0 base align=1
std::__is_byte<char> (0x0x7f715cbf7720) 0 empty

Class std::__is_byte<signed char>
   size=1 align=1
   base size=0 base align=1
std::__is_byte<signed char> (0x0x7f715cbf7780) 0 empty

Class std::__is_byte<unsigned char>
   size=1 align=1
   base size=0 base align=1
std::__is_byte<unsigned char> (0x0x7f715cbf77e0) 0 empty

Class __gnu_cxx::__add_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<char> (0x0x7f715cbf7a80) 0 empty

Class __gnu_cxx::__add_unsigned<signed char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<signed char> (0x0x7f715cbf7ae0) 0 empty

Class __gnu_cxx::__add_unsigned<short int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<short int> (0x0x7f715cbf7b40) 0 empty

Class __gnu_cxx::__add_unsigned<int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<int> (0x0x7f715cbf7ba0) 0 empty

Class __gnu_cxx::__add_unsigned<long int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<long int> (0x0x7f715cbf7c00) 0 empty

Class __gnu_cxx::__add_unsigned<long long int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<long long int> (0x0x7f715cbf7c60) 0 empty

Class __gnu_cxx::__remove_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__remove_unsigned<char> (0x0x7f715cbf7d20) 0 empty

Class __gnu_cxx::__remove_unsigned<unsigned char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__remove_unsigned<unsigned char> (0x0x7f715cbf7d80) 0 empty

Class __gnu_cxx::__remove_unsigned<short unsigned int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__remove_unsigned<short unsigned int> (0x0x7f715cbf7de0) 0 empty

Class __gnu_cxx::__remove_unsigned<unsigned int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__remove_unsigned<unsigned int> (0x0x7f715cbf7e40) 0 empty

Class __gnu_cxx::__remove_unsigned<long unsigned int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__remove_unsigned<long unsigned int> (0x0x7f715cbf7ea0) 0 empty

Class __gnu_cxx::__remove_unsigned<long long unsigned int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__remove_unsigned<long long unsigned int> (0x0x7f715cbf7f00) 0 empty

Class std::__is_integer<long double>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<long double> (0x0x7f715cc2c060) 0 empty

Class __gnu_cxx::__promote<long double>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__promote<long double> (0x0x7f715cc2c0c0) 0 empty

Class std::__is_integer<double>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<double> (0x0x7f715cc2c120) 0 empty

Class __gnu_cxx::__promote<double>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__promote<double> (0x0x7f715cc2c180) 0 empty

Class std::__is_integer<float>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<float> (0x0x7f715cc2c1e0) 0 empty

Class __gnu_cxx::__promote<float>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__promote<float> (0x0x7f715cc2c240) 0 empty

Class std::input_iterator_tag
   size=1 align=1
   base size=0 base align=1
std::input_iterator_tag (0x0x7f715cc2c540) 0 empty

Class std::output_iterator_tag
   size=1 align=1
   base size=0 base align=1
std::output_iterator_tag (0x0x7f715cc2c5a0) 0 empty

Class std::forward_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::forward_iterator_tag (0x0x7f715d2ab2d8) 0 empty
  std::input_iterator_tag (0x0x7f715cc2c600) 0 empty

Class std::bidirectional_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::bidirectional_iterator_tag (0x0x7f715d2ab340) 0 empty
  std::forward_iterator_tag (0x0x7f715d2ab3a8) 0 empty
    std::input_iterator_tag (0x0x7f715cc2c660) 0 empty

Class std::random_access_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::random_access_iterator_tag (0x0x7f715d2ab410) 0 empty
  std::bidirectional_iterator_tag (0x0x7f715d2ab478) 0 empty
    std::forward_iterator_tag (0x0x7f715d2ab4e0) 0 empty
      std::input_iterator_tag (0x0x7f715cc2c6c0) 0 empty

Class std::iterator<std::output_iterator_tag, void, void, void, void>
   size=1 align=1
   base size=0 base align=1
std::iterator<std::output_iterator_tag, void, void, void, void> (0x0x7f715cc2c9c0) 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 (0x0x7f715cc2cba0) 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 (0x0x7f715cc2cc00) 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 (0x0x7f715cc2cc60) 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 (0x0x7f715cc2ccc0) 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 (0x0x7f715cc2cd20) 0 empty

Class std::__iter_swap<true>
   size=1 align=1
   base size=0 base align=1
std::__iter_swap<true> (0x0x7f715ccf2180) 0 empty

Class std::__copy_move<false, false, std::random_access_iterator_tag>
   size=1 align=1
   base size=0 base align=1
std::__copy_move<false, false, std::random_access_iterator_tag> (0x0x7f715ccf2300) 0 empty

Class std::__copy_move_backward<false, false, std::random_access_iterator_tag>
   size=1 align=1
   base size=0 base align=1
std::__copy_move_backward<false, false, std::random_access_iterator_tag> (0x0x7f715ccf2420) 0 empty

Class std::__equal<true>
   size=1 align=1
   base size=0 base align=1
std::__equal<true> (0x0x7f715ccf2540) 0 empty

Class std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>
   size=1 align=1
   base size=0 base align=1
std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag> (0x0x7f715ccf2600) 0 empty

Class std::__lexicographical_compare<true>
   size=1 align=1
   base size=0 base align=1
std::__lexicographical_compare<true> (0x0x7f715ccf26c0) 0 empty

Class <anonymous struct>::<anonymous union>
   size=4 align=4
   base size=4 base align=4
<anonymous struct>::<anonymous union> (0x0x7f715ccf2780) 0

Class <anonymous struct>
   size=8 align=4
   base size=8 base align=4
<anonymous struct> (0x0x7f715ccf2720) 0

Class __locale_struct
   size=116 align=4
   base size=116 base align=4
__locale_struct (0x0x7f715ccf27e0) 0

Class std::char_traits<char>
   size=1 align=1
   base size=0 base align=1
std::char_traits<char> (0x0x7f715ccf2d20) 0 empty

Class std::char_traits<wchar_t>
   size=1 align=1
   base size=0 base align=1
std::char_traits<wchar_t> (0x0x7f715ccf2d80) 0 empty

Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTISt9exception)
8     (int (*)(...))std::exception::~exception
12    (int (*)(...))std::exception::~exception
16    (int (*)(...))std::exception::what

Class std::exception
   size=4 align=4
   base size=4 base align=4
std::exception (0x0x7f715ccf2de0) 0 nearly-empty
    vptr=((& std::exception::_ZTVSt9exception) + 8u)

Vtable for std::bad_exception
std::bad_exception::_ZTVSt13bad_exception: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTISt13bad_exception)
8     (int (*)(...))std::bad_exception::~bad_exception
12    (int (*)(...))std::bad_exception::~bad_exception
16    (int (*)(...))std::bad_exception::what

Class std::bad_exception
   size=4 align=4
   base size=4 base align=4
std::bad_exception (0x0x7f715d2ab888) 0 nearly-empty
    vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 8u)
  std::exception (0x0x7f715ccf2e40) 0 nearly-empty
      primary-for std::bad_exception (0x0x7f715d2ab888)

Vtable for std::bad_alloc
std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTISt9bad_alloc)
8     (int (*)(...))std::bad_alloc::~bad_alloc
12    (int (*)(...))std::bad_alloc::~bad_alloc
16    (int (*)(...))std::bad_alloc::what

Class std::bad_alloc
   size=4 align=4
   base size=4 base align=4
std::bad_alloc (0x0x7f715d2ab8f0) 0 nearly-empty
    vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 8u)
  std::exception (0x0x7f715ccf2ea0) 0 nearly-empty
      primary-for std::bad_alloc (0x0x7f715d2ab8f0)

Vtable for std::bad_array_length
std::bad_array_length::_ZTVSt16bad_array_length: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTISt16bad_array_length)
8     (int (*)(...))std::bad_array_length::~bad_array_length
12    (int (*)(...))std::bad_array_length::~bad_array_length
16    (int (*)(...))std::bad_array_length::what

Class std::bad_array_length
   size=4 align=4
   base size=4 base align=4
std::bad_array_length (0x0x7f715d2ab958) 0 nearly-empty
    vptr=((& std::bad_array_length::_ZTVSt16bad_array_length) + 8u)
  std::bad_alloc (0x0x7f715d2ab9c0) 0 nearly-empty
      primary-for std::bad_array_length (0x0x7f715d2ab958)
    std::exception (0x0x7f715ccf2f00) 0 nearly-empty
        primary-for std::bad_alloc (0x0x7f715d2ab9c0)

Class std::nothrow_t
   size=1 align=1
   base size=0 base align=1
std::nothrow_t (0x0x7f715ccf2f60) 0 empty

Class std::allocator<void>
   size=1 align=1
   base size=0 base align=1
std::allocator<void> (0x0x7f715ca620c0) 0 empty

Class __gnu_cxx::new_allocator<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<char> (0x0x7f715ca62240) 0 empty

Class std::allocator<char>
   size=1 align=1
   base size=1 base align=1
std::allocator<char> (0x0x7f715d2aba90) 0 empty
  __gnu_cxx::new_allocator<char> (0x0x7f715ca622a0) 0 empty

Class __gnu_cxx::new_allocator<wchar_t>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<wchar_t> (0x0x7f715ca62300) 0 empty

Class std::allocator<wchar_t>
   size=1 align=1
   base size=1 base align=1
std::allocator<wchar_t> (0x0x7f715d2abaf8) 0 empty
  __gnu_cxx::new_allocator<wchar_t> (0x0x7f715ca62360) 0 empty

Class lconv
   size=56 align=4
   base size=56 base align=4
lconv (0x0x7f715ca62540) 0

Class <anonymous struct>
   size=8 align=4
   base size=8 base align=4
<anonymous struct> (0x0x7f715ca625a0) 0

Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
8     0u
12    0u
16    (int (*)(...))__cxa_pure_virtual

Class __cxxabiv1::__forced_unwind
   size=4 align=4
   base size=4 base align=4
__cxxabiv1::__forced_unwind (0x0x7f715ca62600) 0 nearly-empty
    vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)

Class timespec
   size=8 align=4
   base size=8 base align=4
timespec (0x0x7f715cb77120) 0

Class sched_param
   size=4 align=4
   base size=4 base align=4
sched_param (0x0x7f715cb77180) 0

Class __sched_param
   size=4 align=4
   base size=4 base align=4
__sched_param (0x0x7f715cb771e0) 0

Class <anonymous struct>
   size=128 align=4
   base size=128 base align=4
<anonymous struct> (0x0x7f715cb77240) 0

Class timeval
   size=8 align=4
   base size=8 base align=4
timeval (0x0x7f715cb772a0) 0

Class timex
   size=128 align=4
   base size=128 base align=4
timex (0x0x7f715cb77300) 0

Class tm
   size=44 align=4
   base size=44 base align=4
tm (0x0x7f715cb77360) 0

Class itimerspec
   size=16 align=4
   base size=16 base align=4
itimerspec (0x0x7f715cb773c0) 0

Class __time_t_must_be_integral
   size=4 align=4
   base size=4 base align=4
__time_t_must_be_integral (0x0x7f715cb77420) 0

Class pthread_attr_t
   size=36 align=4
   base size=36 base align=4
pthread_attr_t (0x0x7f715cb77480) 0

Class __pthread_internal_slist
   size=4 align=4
   base size=4 base align=4
__pthread_internal_slist (0x0x7f715cb774e0) 0

Class <anonymous union>::__pthread_mutex_s::<anonymous union>
   size=4 align=4
   base size=4 base align=4
<anonymous union>::__pthread_mutex_s::<anonymous union> (0x0x7f715cb77600) 0

Class <anonymous union>::__pthread_mutex_s
   size=24 align=4
   base size=24 base align=4
<anonymous union>::__pthread_mutex_s (0x0x7f715cb775a0) 0

Class <anonymous union>
   size=24 align=4
   base size=24 base align=4
<anonymous union> (0x0x7f715cb77540) 0

Class <anonymous union>
   size=4 align=4
   base size=4 base align=4
<anonymous union> (0x0x7f715cb776c0) 0

Class <anonymous union>::<anonymous struct>
   size=48 align=8
   base size=48 base align=8
<anonymous union>::<anonymous struct> (0x0x7f715cb77780) 0

Class <anonymous union>
   size=48 align=8
   base size=48 base align=8
<anonymous union> (0x0x7f715cb77720) 0

Class <anonymous union>
   size=4 align=4
   base size=4 base align=4
<anonymous union> (0x0x7f715cb777e0) 0

Class <anonymous union>::<anonymous struct>
   size=32 align=4
   base size=32 base align=4
<anonymous union>::<anonymous struct> (0x0x7f715cb778a0) 0

Class <anonymous union>
   size=32 align=4
   base size=32 base align=4
<anonymous union> (0x0x7f715cb77840) 0

Class <anonymous union>
   size=8 align=4
   base size=8 base align=4
<anonymous union> (0x0x7f715cb77900) 0

Class <anonymous union>
   size=20 align=4
   base size=20 base align=4
<anonymous union> (0x0x7f715cb77960) 0

Class <anonymous union>
   size=4 align=4
   base size=4 base align=4
<anonymous union> (0x0x7f715cb779c0) 0

Class __jmp_buf_internal_tag
   size=104 align=8
   base size=104 base align=8
__jmp_buf_internal_tag (0x0x7f715cb77a20) 0

Class _pthread_cleanup_buffer
   size=16 align=4
   base size=16 base align=4
_pthread_cleanup_buffer (0x0x7f715cb77a80) 0

Class <anonymous struct>::<anonymous struct>
   size=112 align=8
   base size=112 base align=8
<anonymous struct>::<anonymous struct> (0x0x7f715cb77b40) 0

Class <anonymous struct>
   size=128 align=8
   base size=128 base align=8
<anonymous struct> (0x0x7f715cb77ae0) 0

Class __pthread_cleanup_frame
   size=16 align=4
   base size=16 base align=4
__pthread_cleanup_frame (0x0x7f715cb77ba0) 0

Class __pthread_cleanup_class
   size=16 align=4
   base size=16 base align=4
__pthread_cleanup_class (0x0x7f715cb77c00) 0

Class __gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__conditional_type<true, __gnu_cxx::__numeric_traits_integer<int>, __gnu_cxx::__numeric_traits_floating<int> > (0x0x7f715cb77de0) 0 empty

Class __gnu_cxx::__numeric_traits_integer<int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__numeric_traits_integer<int> (0x0x7f715cb77e40) 0 empty

Class __gnu_cxx::__numeric_traits<int>
   size=1 align=1
   base size=1 base align=1
__gnu_cxx::__numeric_traits<int> (0x0x7f715cb23a28) 0 empty
  __gnu_cxx::__numeric_traits_integer<int> (0x0x7f715cb77ea0) 0 empty

Class std::allocator<char>::rebind<char>
   size=1 align=1
   base size=0 base align=1
std::allocator<char>::rebind<char> (0x0x7f715c961060) 0 empty

Class std::basic_string<char>::_Alloc_hider
   size=4 align=4
   base size=4 base align=4
std::basic_string<char>::_Alloc_hider (0x0x7f715cb23bc8) 0
  std::allocator<char> (0x0x7f715cb23c30) 0 empty
    __gnu_cxx::new_allocator<char> (0x0x7f715c9610c0) 0 empty

Class std::basic_string<char>
   size=4 align=4
   base size=4 base align=4
std::basic_string<char> (0x0x7f715c961000) 0

Class std::basic_string<char>::_Rep_base
   size=12 align=4
   base size=12 base align=4
std::basic_string<char>::_Rep_base (0x0x7f715c961120) 0

Class std::basic_string<char>::_Rep
   size=12 align=4
   base size=12 base align=4
std::basic_string<char>::_Rep (0x0x7f715cb23e38) 0
  std::basic_string<char>::_Rep_base (0x0x7f715c961180) 0

Class std::allocator<wchar_t>::rebind<wchar_t>
   size=1 align=1
   base size=0 base align=1
std::allocator<wchar_t>::rebind<wchar_t> (0x0x7f715c961240) 0 empty

Class std::basic_string<wchar_t>::_Alloc_hider
   size=4 align=4
   base size=4 base align=4
std::basic_string<wchar_t>::_Alloc_hider (0x0x7f715cb23f70) 0
  std::allocator<wchar_t> (0x0x7f715cb239c0) 0 empty
    __gnu_cxx::new_allocator<wchar_t> (0x0x7f715c9612a0) 0 empty

Class std::basic_string<wchar_t>
   size=4 align=4
   base size=4 base align=4
std::basic_string<wchar_t> (0x0x7f715c9611e0) 0

Class std::basic_string<wchar_t>::_Rep_base
   size=12 align=4
   base size=12 base align=4
std::basic_string<wchar_t>::_Rep_base (0x0x7f715c961300) 0

Class std::allocator<wchar_t>::rebind<char>
   size=1 align=1
   base size=0 base align=1
std::allocator<wchar_t>::rebind<char> (0x0x7f715c9613c0) 0 empty

Class std::basic_string<wchar_t>::_Rep
   size=12 align=4
   base size=12 base align=4
std::basic_string<wchar_t>::_Rep (0x0x7f715cb23a90) 0
  std::basic_string<wchar_t>::_Rep_base (0x0x7f715c961360) 0

Class <anonymous struct>
   size=12 align=4
   base size=12 base align=4
<anonymous struct> (0x0x7f715c961420) 0

Class <anonymous struct>
   size=16 align=8
   base size=16 base align=8
<anonymous struct> (0x0x7f715c961480) 0

Class _IO_marker
   size=12 align=4
   base size=12 base align=4
_IO_marker (0x0x7f715c9614e0) 0

Class _IO_FILE
   size=152 align=8
   base size=152 base align=8
_IO_FILE (0x0x7f715c961540) 0

Class <anonymous struct>
   size=16 align=4
   base size=16 base align=4
<anonymous struct> (0x0x7f715c9615a0) 0

Class <anonymous struct>
   size=128 align=4
   base size=128 base align=4
<anonymous struct> (0x0x7f715c961780) 0

Class <anonymous struct>
   size=128 align=4
   base size=128 base align=4
<anonymous struct> (0x0x7f715c9617e0) 0

Class FileDiff
   size=12 align=4
   base size=12 base align=4
FileDiff (0x0x7f715c961840) 0

Class Cleaner
   size=1 align=1
   base size=0 base align=1
Cleaner (0x0x7f715c9618a0) 0 empty

Vtable for cleanup
cleanup::_ZTV7cleanup: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTI7cleanup)
8     (int (*)(...))__cxa_pure_virtual
12    0u
16    0u

Class cleanup
   size=8 align=4
   base size=8 base align=4
cleanup (0x0x7f715c961900) 0
    vptr=((& cleanup::_ZTV7cleanup) + 8u)

Vtable for file_lock
file_lock::_ZTV9file_lock: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTI9file_lock)
8     (int (*)(...))file_lock::do_cleanup
12    (int (*)(...))file_lock::~file_lock
16    (int (*)(...))file_lock::~file_lock

Class file_lock
   size=16 align=4
   base size=16 base align=4
file_lock (0x0x7f715cb23f08) 0
    vptr=((& file_lock::_ZTV9file_lock) + 8u)
  cleanup (0x0x7f715c961960) 0
      primary-for file_lock (0x0x7f715cb23f08)

