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

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

Class timespec
   size=16 align=8
   base size=16 base align=8
timespec (0x0x7f717fc7d060) 0

Class timeval
   size=16 align=8
   base size=16 base align=8
timeval (0x0x7f717fc7d0c0) 0

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

Class pthread_attr_t
   size=56 align=8
   base size=56 base align=8
pthread_attr_t (0x0x7f717fc7d180) 0

Class __pthread_internal_list
   size=16 align=8
   base size=16 base align=8
__pthread_internal_list (0x0x7f717fc7d1e0) 0

Class <anonymous union>::__pthread_mutex_s
   size=40 align=8
   base size=40 base align=8
<anonymous union>::__pthread_mutex_s (0x0x7f717fc7d2a0) 0

Class <anonymous union>
   size=40 align=8
   base size=40 base align=8
<anonymous union> (0x0x7f717fc7d240) 0

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

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

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

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

Class <anonymous union>::<anonymous struct>
   size=56 align=8
   base size=56 base align=8
<anonymous union>::<anonymous struct> (0x0x7f717fc7d4e0) 0

Class <anonymous union>
   size=56 align=8
   base size=56 base align=8
<anonymous union> (0x0x7f717fc7d480) 0

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

Class <anonymous union>
   size=32 align=8
   base size=32 base align=8
<anonymous union> (0x0x7f717fc7d5a0) 0

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

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

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

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

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

Class _IO_marker
   size=24 align=8
   base size=24 base align=8
_IO_marker (0x0x7f717fc7d7e0) 0

Class _IO_FILE
   size=216 align=8
   base size=216 base align=8
_IO_FILE (0x0x7f717fc7d840) 0

Class <anonymous struct>
   size=32 align=8
   base size=32 base align=8
<anonymous struct> (0x0x7f717fc7d8a0) 0

Class wait::<anonymous struct>
   size=4 align=4
   base size=4 base align=4
wait::<anonymous struct> (0x0x7f717fc7dae0) 0

Class wait::<anonymous struct>
   size=4 align=4
   base size=4 base align=4
wait::<anonymous struct> (0x0x7f717fc7db40) 0

Class wait
   size=4 align=4
   base size=4 base align=4
wait (0x0x7f717fc7da80) 0

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

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

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

Class __locale_struct
   size=232 align=8
   base size=232 base align=8
__locale_struct (0x0x7f717fc7dcc0) 0

Class random_data
   size=48 align=8
   base size=48 base align=8
random_data (0x0x7f717fc7dd20) 0

Class drand48_data
   size=24 align=8
   base size=24 base align=8
drand48_data (0x0x7f717fc7dd80) 0

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

Class SDL_RWops::<anonymous union>::<anonymous struct>
   size=16 align=8
   base size=16 base align=8
SDL_RWops::<anonymous union>::<anonymous struct> (0x0x7f717fc7df60) 0

Class SDL_RWops::<anonymous union>::<anonymous struct>
   size=24 align=8
   base size=24 base align=8
SDL_RWops::<anonymous union>::<anonymous struct> (0x0x7f717f2d7000) 0

Class SDL_RWops::<anonymous union>::<anonymous struct>
   size=8 align=8
   base size=8 base align=8
SDL_RWops::<anonymous union>::<anonymous struct> (0x0x7f717f2d7060) 0

Class SDL_RWops::<anonymous union>
   size=24 align=8
   base size=24 base align=8
SDL_RWops::<anonymous union> (0x0x7f717fc7df00) 0

Class SDL_RWops
   size=64 align=8
   base size=64 base align=8
SDL_RWops (0x0x7f717fc7dea0) 0

Class SDL_AudioSpec
   size=32 align=8
   base size=32 base align=8
SDL_AudioSpec (0x0x7f717f2d70c0) 0

Class SDL_AudioCVT
   size=136 align=8
   base size=136 base align=8
SDL_AudioCVT (0x0x7f717f2d7180) 0

Class SDL_CDtrack
   size=12 align=4
   base size=12 base align=4
SDL_CDtrack (0x0x7f717f2d71e0) 0

Class SDL_CD
   size=1220 align=4
   base size=1220 base align=4
SDL_CD (0x0x7f717f2d7240) 0

Class SDL_keysym
   size=16 align=4
   base size=16 base align=4
SDL_keysym (0x0x7f717f2d72a0) 0

Class SDL_Rect
   size=8 align=2
   base size=8 base align=2
SDL_Rect (0x0x7f717f2d7300) 0

Class SDL_Color
   size=4 align=1
   base size=4 base align=1
SDL_Color (0x0x7f717f2d7360) 0

Class SDL_Palette
   size=16 align=8
   base size=16 base align=8
SDL_Palette (0x0x7f717f2d73c0) 0

Class SDL_PixelFormat
   size=48 align=8
   base size=48 base align=8
SDL_PixelFormat (0x0x7f717f2d7420) 0

Class SDL_Surface
   size=88 align=8
   base size=88 base align=8
SDL_Surface (0x0x7f717f2d7480) 0

Class SDL_VideoInfo
   size=24 align=8
   base size=24 base align=8
SDL_VideoInfo (0x0x7f717f2d74e0) 0

Class SDL_Overlay
   size=56 align=8
   base size=56 base align=8
SDL_Overlay (0x0x7f717f2d7540) 0

Class SDL_Cursor
   size=56 align=8
   base size=56 base align=8
SDL_Cursor (0x0x7f717f2d75a0) 0

Class SDL_ActiveEvent
   size=3 align=1
   base size=3 base align=1
SDL_ActiveEvent (0x0x7f717f2d7600) 0

Class SDL_KeyboardEvent
   size=20 align=4
   base size=20 base align=4
SDL_KeyboardEvent (0x0x7f717f2d7660) 0

Class SDL_MouseMotionEvent
   size=12 align=2
   base size=12 base align=2
SDL_MouseMotionEvent (0x0x7f717f2d76c0) 0

Class SDL_MouseButtonEvent
   size=8 align=2
   base size=8 base align=2
SDL_MouseButtonEvent (0x0x7f717f2d7720) 0

Class SDL_JoyAxisEvent
   size=6 align=2
   base size=6 base align=2
SDL_JoyAxisEvent (0x0x7f717f2d7780) 0

Class SDL_JoyBallEvent
   size=8 align=2
   base size=8 base align=2
SDL_JoyBallEvent (0x0x7f717f2d77e0) 0

Class SDL_JoyHatEvent
   size=4 align=1
   base size=4 base align=1
SDL_JoyHatEvent (0x0x7f717f2d7840) 0

Class SDL_JoyButtonEvent
   size=4 align=1
   base size=4 base align=1
SDL_JoyButtonEvent (0x0x7f717f2d78a0) 0

Class SDL_ResizeEvent
   size=12 align=4
   base size=12 base align=4
SDL_ResizeEvent (0x0x7f717f2d7900) 0

Class SDL_ExposeEvent
   size=1 align=1
   base size=1 base align=1
SDL_ExposeEvent (0x0x7f717f2d7960) 0

Class SDL_QuitEvent
   size=1 align=1
   base size=1 base align=1
SDL_QuitEvent (0x0x7f717f2d79c0) 0

Class SDL_UserEvent
   size=24 align=8
   base size=24 base align=8
SDL_UserEvent (0x0x7f717f2d7a20) 0

Class SDL_SysWMEvent
   size=16 align=8
   base size=16 base align=8
SDL_SysWMEvent (0x0x7f717f2d7a80) 0

Class SDL_Event
   size=24 align=8
   base size=24 base align=8
SDL_Event (0x0x7f717f2d7ae0) 0

Class SDL_version
   size=3 align=1
   base size=3 base align=1
SDL_version (0x0x7f717f2d7b40) 0

Class Rect
   size=8 align=2
   base size=8 base align=2
Rect (0x0x7f717f2d7ba0) 0

Class Color
   size=3 align=1
   base size=3 base align=1
Color (0x0x7f717f2d7c00) 0

Class dirent
   size=280 align=8
   base size=280 base align=8
dirent (0x0x7f717f2d7c60) 0

Class dirent64
   size=280 align=8
   base size=280 base align=8
dirent64 (0x0x7f717f2d7cc0) 0

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

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

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

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

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

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

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

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

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

Class std::__is_integer<short int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<short int> (0x0x7f717f3bf300) 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> (0x0x7f717f3bf360) 0 empty

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

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

Class std::__is_integer<long int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<long int> (0x0x7f717f3bf480) 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> (0x0x7f717f3bf4e0) 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> (0x0x7f717f3bf540) 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> (0x0x7f717f3bf5a0) 0 empty

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

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

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

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

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

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

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

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

Class __gnu_cxx::__add_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<char> (0x0x7f717f3bfea0) 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> (0x0x7f717f3bff00) 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> (0x0x7f717f3bff60) 0 empty

Class __gnu_cxx::__add_unsigned<int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<int> (0x0x7f717f3f8000) 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> (0x0x7f717f3f8060) 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> (0x0x7f717f3f80c0) 0 empty

Class __gnu_cxx::__remove_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__remove_unsigned<char> (0x0x7f717f3f8180) 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> (0x0x7f717f3f81e0) 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> (0x0x7f717f3f8240) 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> (0x0x7f717f3f82a0) 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> (0x0x7f717f3f8300) 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> (0x0x7f717f3f8360) 0 empty

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

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

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

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

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

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

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

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

Class std::forward_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::forward_iterator_tag (0x0x7f717fc671a0) 0 empty
  std::input_iterator_tag (0x0x7f717f3f8a20) 0 empty

Class std::bidirectional_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::bidirectional_iterator_tag (0x0x7f717fc67208) 0 empty
  std::forward_iterator_tag (0x0x7f717fc67270) 0 empty
    std::input_iterator_tag (0x0x7f717f3f8a80) 0 empty

Class std::random_access_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::random_access_iterator_tag (0x0x7f717fc672d8) 0 empty
  std::bidirectional_iterator_tag (0x0x7f717fc67340) 0 empty
    std::forward_iterator_tag (0x0x7f717fc673a8) 0 empty
      std::input_iterator_tag (0x0x7f717f3f8ae0) 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> (0x0x7f717f3f8de0) 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 (0x0x7f717f494000) 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 (0x0x7f717f494060) 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 (0x0x7f717f4940c0) 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 (0x0x7f717f494120) 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 (0x0x7f717f494180) 0 empty

Class std::__iter_swap<true>
   size=1 align=1
   base size=0 base align=1
std::__iter_swap<true> (0x0x7f717f4945a0) 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> (0x0x7f717f494720) 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> (0x0x7f717f494840) 0 empty

Class std::__equal<true>
   size=1 align=1
   base size=0 base align=1
std::__equal<true> (0x0x7f717f494960) 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> (0x0x7f717f494a20) 0 empty

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

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

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

Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTISt9exception)
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 (0x0x7f717f1db120) 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 (*)(...))(& _ZTISt13bad_exception)
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 (0x0x7f717fc676e8) 0 nearly-empty
    vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
  std::exception (0x0x7f717f1db180) 0 nearly-empty
      primary-for std::bad_exception (0x0x7f717fc676e8)

Vtable for std::bad_alloc
std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTISt9bad_alloc)
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 (0x0x7f717fc67750) 0 nearly-empty
    vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
  std::exception (0x0x7f717f1db1e0) 0 nearly-empty
      primary-for std::bad_alloc (0x0x7f717fc67750)

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

Class std::bad_array_length
   size=8 align=8
   base size=8 base align=8
std::bad_array_length (0x0x7f717fc677b8) 0 nearly-empty
    vptr=((& std::bad_array_length::_ZTVSt16bad_array_length) + 16u)
  std::bad_alloc (0x0x7f717fc67820) 0 nearly-empty
      primary-for std::bad_array_length (0x0x7f717fc677b8)
    std::exception (0x0x7f717f1db240) 0 nearly-empty
        primary-for std::bad_alloc (0x0x7f717fc67820)

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

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

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

Class std::allocator<char>
   size=1 align=1
   base size=1 base align=1
std::allocator<char> (0x0x7f717fc678f0) 0 empty
  __gnu_cxx::new_allocator<char> (0x0x7f717f1db5a0) 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> (0x0x7f717f1db600) 0 empty

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

Class lconv
   size=96 align=8
   base size=96 base align=8
lconv (0x0x7f717f1db840) 0

Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
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 (0x0x7f717f1db8a0) 0 nearly-empty
    vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)

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

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

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

Class timex
   size=208 align=8
   base size=208 base align=8
timex (0x0x7f717ef0d4e0) 0

Class tm
   size=56 align=8
   base size=56 base align=8
tm (0x0x7f717ef0d540) 0

Class itimerspec
   size=32 align=8
   base size=32 base align=8
itimerspec (0x0x7f717ef0d5a0) 0

Class _pthread_cleanup_buffer
   size=32 align=8
   base size=32 base align=8
_pthread_cleanup_buffer (0x0x7f717ef0d600) 0

Class <anonymous struct>::<anonymous struct>
   size=528 align=16
   base size=528 base align=16
<anonymous struct>::<anonymous struct> (0x0x7f717ef0d6c0) 0

Class <anonymous struct>
   size=560 align=16
   base size=560 base align=16
<anonymous struct> (0x0x7f717ef0d660) 0

Class __pthread_cleanup_frame
   size=24 align=8
   base size=24 base align=8
__pthread_cleanup_frame (0x0x7f717ef0d720) 0

Class __pthread_cleanup_class
   size=24 align=8
   base size=24 base align=8
__pthread_cleanup_class (0x0x7f717ef0d780) 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> > (0x0x7f717ef0d960) 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> (0x0x7f717ef0d9c0) 0 empty

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

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

Class std::basic_string<char>::_Alloc_hider
   size=8 align=8
   base size=8 base align=8
std::basic_string<char>::_Alloc_hider (0x0x7f717eec8b60) 0
  std::allocator<char> (0x0x7f717eec8bc8) 0 empty
    __gnu_cxx::new_allocator<char> (0x0x7f717ef0dc00) 0 empty

Class std::basic_string<char>
   size=8 align=8
   base size=8 base align=8
std::basic_string<char> (0x0x7f717ef0db40) 0

Class std::basic_string<char>::_Rep_base
   size=24 align=8
   base size=24 base align=8
std::basic_string<char>::_Rep_base (0x0x7f717ef0dc60) 0

Class std::basic_string<char>::_Rep
   size=24 align=8
   base size=24 base align=8
std::basic_string<char>::_Rep (0x0x7f717eec8dd0) 0
  std::basic_string<char>::_Rep_base (0x0x7f717ef0dcc0) 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> (0x0x7f717ef0dd80) 0 empty

Class std::basic_string<wchar_t>::_Alloc_hider
   size=8 align=8
   base size=8 base align=8
std::basic_string<wchar_t>::_Alloc_hider (0x0x7f717eec8f08) 0
  std::allocator<wchar_t> (0x0x7f717eec8f70) 0 empty
    __gnu_cxx::new_allocator<wchar_t> (0x0x7f717ef0dde0) 0 empty

Class std::basic_string<wchar_t>
   size=8 align=8
   base size=8 base align=8
std::basic_string<wchar_t> (0x0x7f717ef0dd20) 0

Class std::basic_string<wchar_t>::_Rep_base
   size=24 align=8
   base size=24 base align=8
std::basic_string<wchar_t>::_Rep_base (0x0x7f717ef0de40) 0

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

Class std::basic_string<wchar_t>::_Rep
   size=24 align=8
   base size=24 base align=8
std::basic_string<wchar_t>::_Rep (0x0x7f717eec8958) 0
  std::basic_string<wchar_t>::_Rep_base (0x0x7f717ef0dea0) 0

Class Directory
   size=16 align=8
   base size=16 base align=8
Directory (0x0x7f717ef0df60) 0

Vtable for MemBuffer
MemBuffer::_ZTV9MemBuffer: 12u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI9MemBuffer)
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

Class MemBuffer
   size=8 align=8
   base size=8 base align=8
MemBuffer (0x0x7f717ee0a000) 0 nearly-empty
    vptr=((& MemBuffer::_ZTV9MemBuffer) + 16u)

Vtable for File
File::_ZTV4File: 12u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI4File)
16    (int (*)(...))File::~File
24    (int (*)(...))File::~File
32    (int (*)(...))File::Read
40    (int (*)(...))File::Read8
48    (int (*)(...))File::Read16
56    (int (*)(...))File::Read32
64    (int (*)(...))File::Write
72    (int (*)(...))File::Write8
80    (int (*)(...))File::Write16
88    (int (*)(...))File::Write32

Class File
   size=24 align=8
   base size=24 base align=8
File (0x0x7f717eec8a90) 0
    vptr=((& File::_ZTV4File) + 16u)
  MemBuffer (0x0x7f717ee0a060) 0 nearly-empty
      primary-for File (0x0x7f717eec8a90)

Class Surface
   size=16 align=8
   base size=16 base align=8
Surface (0x0x7f717eec8af8) 0
  Rect (0x0x7f717ee0a0c0) 0

Class SurfaceLock
   size=16 align=8
   base size=9 base align=8
SurfaceLock (0x0x7f717ee0a240) 0

Class Image
   size=16 align=8
   base size=16 base align=8
Image (0x0x7f717ee56000) 0
  Rect (0x0x7f717ee0a2a0) 0

Vtable for Node
Node::_ZTV4Node: 4u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI4Node)
16    (int (*)(...))Node::~Node
24    (int (*)(...))Node::~Node

Class Node
   size=24 align=8
   base size=24 base align=8
Node (0x0x7f717ee0a300) 0
    vptr=((& Node::_ZTV4Node) + 16u)

Class List
   size=48 align=8
   base size=48 base align=8
List (0x0x7f717ee0a360) 0

Class Font
   size=16 align=8
   base size=13 base align=8
Font (0x0x7f717ee0a3c0) 0

Class std::_Destroy_aux<true>
   size=1 align=1
   base size=0 base align=1
std::_Destroy_aux<true> (0x0x7f717ee0a540) 0 empty

Class std::__uninitialized_copy<true>
   size=1 align=1
   base size=0 base align=1
std::__uninitialized_copy<true> (0x0x7f717ee0a600) 0 empty

Class std::__uninitialized_fill<true>
   size=1 align=1
   base size=0 base align=1
std::__uninitialized_fill<true> (0x0x7f717ee0a6c0) 0 empty

Class std::__uninitialized_fill_n<true>
   size=1 align=1
   base size=0 base align=1
std::__uninitialized_fill_n<true> (0x0x7f717ee0a780) 0 empty

Class std::_Bit_reference
   size=16 align=8
   base size=16 base align=8
std::_Bit_reference (0x0x7f717ee0a960) 0

Class std::iterator<std::random_access_iterator_tag, bool>
   size=1 align=1
   base size=0 base align=1
std::iterator<std::random_access_iterator_tag, bool> (0x0x7f717ee0a9c0) 0 empty

Class std::_Bit_iterator_base
   size=16 align=8
   base size=12 base align=8
std::_Bit_iterator_base (0x0x7f717ee56138) 0
  std::iterator<std::random_access_iterator_tag, bool> (0x0x7f717ee0aa20) 0 empty

Class std::_Bit_iterator
   size=16 align=8
   base size=12 base align=8
std::_Bit_iterator (0x0x7f717ee561a0) 0
  std::_Bit_iterator_base (0x0x7f717ee56208) 0
    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f717ee0aa80) 0 empty

Class std::_Bit_const_iterator
   size=16 align=8
   base size=12 base align=8
std::_Bit_const_iterator (0x0x7f717ee56270) 0
  std::_Bit_iterator_base (0x0x7f717ee562d8) 0
    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f717ee0aae0) 0 empty

Class std::iterator_traits<std::_Bit_iterator>
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<std::_Bit_iterator> (0x0x7f717ee0ac60) 0 empty

Class std::iterator<std::random_access_iterator_tag, bool, long int, std::_Bit_reference*, std::_Bit_reference>
   size=1 align=1
   base size=0 base align=1
std::iterator<std::random_access_iterator_tag, bool, long int, std::_Bit_reference*, std::_Bit_reference> (0x0x7f717ee0acc0) 0 empty

Class std::reverse_iterator<std::_Bit_iterator>
   size=16 align=8
   base size=16 base align=8
std::reverse_iterator<std::_Bit_iterator> (0x0x7f717ee56548) 0
  std::iterator<std::random_access_iterator_tag, bool, long int, std::_Bit_reference*, std::_Bit_reference> (0x0x7f717ee0ad20) 0 empty

Class std::iterator_traits<std::_Bit_const_iterator>
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<std::_Bit_const_iterator> (0x0x7f717ee0ad80) 0 empty

Class std::iterator<std::random_access_iterator_tag, bool, long int, const bool*, bool>
   size=1 align=1
   base size=0 base align=1
std::iterator<std::random_access_iterator_tag, bool, long int, const bool*, bool> (0x0x7f717ee0ade0) 0 empty

Class std::reverse_iterator<std::_Bit_const_iterator>
   size=16 align=8
   base size=16 base align=8
std::reverse_iterator<std::_Bit_const_iterator> (0x0x7f717ee56680) 0
  std::iterator<std::random_access_iterator_tag, bool, long int, const bool*, bool> (0x0x7f717ee0ae40) 0 empty

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

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

Class __gnu_cxx::__numeric_traits<long int>
   size=1 align=1
   base size=1 base align=1
__gnu_cxx::__numeric_traits<long int> (0x0x7f717ee567b8) 0 empty
  __gnu_cxx::__numeric_traits_integer<long int> (0x0x7f717ee0af60) 0 empty

Vtable for Widget
Widget::_ZTV6Widget: 12u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI6Widget)
16    0u
24    0u
32    (int (*)(...))__cxa_pure_virtual
40    (int (*)(...))Widget::Push
48    (int (*)(...))Widget::Release
56    (int (*)(...))Widget::MouseDown
64    (int (*)(...))Widget::MouseUp
72    (int (*)(...))Widget::KeyDown
80    (int (*)(...))Widget::KeyUp
88    (int (*)(...))Widget::MouseMove

Class Widget
   size=72 align=8
   base size=65 base align=8
Widget (0x0x7f717ee56a28) 0
    vptr=((& Widget::_ZTV6Widget) + 16u)
  Rect (0x0x7f717ec3f000) 8

Vtable for WidgetHook
WidgetHook::_ZTV10WidgetHook: 5u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI10WidgetHook)
16    0u
24    0u
32    (int (*)(...))__cxa_pure_virtual

Class WidgetHook
   size=8 align=8
   base size=8 base align=8
WidgetHook (0x0x7f717ec3f060) 0 nearly-empty
    vptr=((& WidgetHook::_ZTV10WidgetHook) + 16u)

Vtable for UserActionHook
UserActionHook::_ZTV14UserActionHook: 3u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI14UserActionHook)
16    (int (*)(...))__cxa_pure_virtual

Class UserActionHook
   size=8 align=8
   base size=8 base align=8
UserActionHook (0x0x7f717ec3f0c0) 0 nearly-empty
    vptr=((& UserActionHook::_ZTV14UserActionHook) + 16u)

Class __gnu_cxx::new_allocator<Widget*>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<Widget*> (0x0x7f717ec3f240) 0 empty

Class std::allocator<Widget*>
   size=1 align=1
   base size=1 base align=1
std::allocator<Widget*> (0x0x7f717ee56b60) 0 empty
  __gnu_cxx::new_allocator<Widget*> (0x0x7f717ec3f2a0) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<Widget*> >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<Widget*> > (0x0x7f717ec3f1e0) 0 empty

Class std::allocator<Widget*>::rebind<Widget*>
   size=1 align=1
   base size=0 base align=1
std::allocator<Widget*>::rebind<Widget*> (0x0x7f717ec3f3c0) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<Widget*> >::rebind<Widget*>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<Widget*> >::rebind<Widget*> (0x0x7f717ec3f360) 0 empty

Class std::_Vector_base<Widget*, std::allocator<Widget*> >::_Vector_impl
   size=24 align=8
   base size=24 base align=8
std::_Vector_base<Widget*, std::allocator<Widget*> >::_Vector_impl (0x0x7f717ee56d00) 0
  std::allocator<Widget*> (0x0x7f717ee56d68) 0 empty
    __gnu_cxx::new_allocator<Widget*> (0x0x7f717ec3f420) 0 empty

Class std::_Vector_base<Widget*, std::allocator<Widget*> >
   size=24 align=8
   base size=24 base align=8
std::_Vector_base<Widget*, std::allocator<Widget*> > (0x0x7f717ec3f180) 0

Class std::vector<Widget*>
   size=24 align=8
   base size=24 base align=8
std::vector<Widget*> (0x0x7f717ee56dd0) 0
  std::_Vector_base<Widget*, std::allocator<Widget*> > (0x0x7f717ec3f480) 0

Vtable for CompositeWidget
CompositeWidget::_ZTV15CompositeWidget: 12u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI15CompositeWidget)
16    (int (*)(...))CompositeWidget::~CompositeWidget
24    (int (*)(...))CompositeWidget::~CompositeWidget
32    (int (*)(...))CompositeWidget::Draw
40    (int (*)(...))Widget::Push
48    (int (*)(...))Widget::Release
56    (int (*)(...))CompositeWidget::MouseDown
64    (int (*)(...))CompositeWidget::MouseUp
72    (int (*)(...))CompositeWidget::KeyDown
80    (int (*)(...))CompositeWidget::KeyUp
88    (int (*)(...))CompositeWidget::MouseMove

Class CompositeWidget
   size=96 align=8
   base size=96 base align=8
CompositeWidget (0x0x7f717ee56a90) 0
    vptr=((& CompositeWidget::_ZTV15CompositeWidget) + 16u)
  Widget (0x0x7f717ee56af8) 0
      primary-for CompositeWidget (0x0x7f717ee56a90)
    Rect (0x0x7f717ec3f120) 8

Vtable for Window
Window::_ZTV6Window: 10u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI6Window)
16    (int (*)(...))Window::~Window
24    (int (*)(...))Window::~Window
32    (int (*)(...))Window::Draw
40    (int (*)(...))Window::DrawBack
48    (int (*)(...))Window::HandleEvent
56    (int (*)(...))Window::EventLoop
64    (int (*)(...))Window::VideoModeChange
72    (int (*)(...))Window::Close

Class Window
   size=80 align=8
   base size=74 base align=8
Window (0x0x7f717e8da0e0) 0
    vptr=((& Window::_ZTV6Window) + 16u)
  Surface (0x0x7f717ee56ea0) 24
    Rect (0x0x7f717ec3f4e0) 24
  Node (0x0x7f717ec3f540) 0
      primary-for Window (0x0x7f717e8da0e0)

Class View
   size=104 align=8
   base size=104 base align=8
View (0x0x7f717ee56f08) 0
  Surface (0x0x7f717ee56f70) 0
    Rect (0x0x7f717ec3f5a0) 0

Class GUIOptions
   size=32 align=8
   base size=32 base align=8
GUIOptions (0x0x7f717ec3f600) 0

Class std::__is_normal_iterator<long unsigned int*>
   size=1 align=1
   base size=0 base align=1
std::__is_normal_iterator<long unsigned int*> (0x0x7f717ec3f6c0) 0 empty

Class std::_Iter_base<long unsigned int*, false>
   size=1 align=1
   base size=0 base align=1
std::_Iter_base<long unsigned int*, false> (0x0x7f717ec3f720) 0 empty

Class std::_Niter_base<long unsigned int*>
   size=1 align=1
   base size=1 base align=1
std::_Niter_base<long unsigned int*> (0x0x7f717ee56410) 0 empty
  std::_Iter_base<long unsigned int*, false> (0x0x7f717ec3f780) 0 empty

Class std::__is_pointer<int>
   size=1 align=1
   base size=0 base align=1
std::__is_pointer<int> (0x0x7f717ec3f840) 0 empty

Class std::__is_floating<int>
   size=1 align=1
   base size=0 base align=1
std::__is_floating<int> (0x0x7f717ec3f900) 0 empty

Class std::__traitor<std::__is_integer<int>, std::__is_floating<int> >
   size=1 align=1
   base size=0 base align=1
std::__traitor<std::__is_integer<int>, std::__is_floating<int> > (0x0x7f717ec3f8a0) 0 empty

Class std::__is_arithmetic<int>
   size=1 align=1
   base size=1 base align=1
std::__is_arithmetic<int> (0x0x7f717ee56750) 0 empty
  std::__traitor<std::__is_integer<int>, std::__is_floating<int> > (0x0x7f717ec3f960) 0 empty

Class std::__traitor<std::__is_arithmetic<int>, std::__is_pointer<int> >
   size=1 align=1
   base size=0 base align=1
std::__traitor<std::__is_arithmetic<int>, std::__is_pointer<int> > (0x0x7f717ec3f7e0) 0 empty

Class std::__is_scalar<int>
   size=1 align=1
   base size=1 base align=1
std::__is_scalar<int> (0x0x7f717ee568f0) 0 empty
  std::__traitor<std::__is_arithmetic<int>, std::__is_pointer<int> > (0x0x7f717ec3f9c0) 0 empty

Class __gnu_cxx::__enable_if<true, void>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__enable_if<true, void> (0x0x7f717ec3fa20) 0 empty

Class __gnu_cxx::__enable_if<false, void>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__enable_if<false, void> (0x0x7f717ec3fa80) 0 empty

Class std::iterator_traits<Widget**>
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<Widget**> (0x0x7f717ec3fb40) 0 empty

Class __gnu_cxx::__normal_iterator<Widget**, std::vector<Widget*> >
   size=8 align=8
   base size=8 base align=8
__gnu_cxx::__normal_iterator<Widget**, std::vector<Widget*> > (0x0x7f717ec3fae0) 0

Class std::__are_same<Widget**, Widget**>
   size=1 align=1
   base size=0 base align=1
std::__are_same<Widget**, Widget**> (0x0x7f717ec3fba0) 0 empty

Class __gnu_cxx::__enable_if<true, std::vector<Widget*> >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__enable_if<true, std::vector<Widget*> > (0x0x7f717ec3fc00) 0 empty

Class std::__is_move_iterator<Widget**>
   size=1 align=1
   base size=0 base align=1
std::__is_move_iterator<Widget**> (0x0x7f717ec3fd20) 0 empty

Class std::_Iter_base<Widget**, false>
   size=1 align=1
   base size=0 base align=1
std::_Iter_base<Widget**, false> (0x0x7f717ec3fd80) 0 empty

Class std::_Miter_base<Widget**>
   size=1 align=1
   base size=1 base align=1
std::_Miter_base<Widget**> (0x0x7f717e94d478) 0 empty
  std::_Iter_base<Widget**, false> (0x0x7f717ec3fde0) 0 empty

Class std::__is_normal_iterator<Widget**>
   size=1 align=1
   base size=0 base align=1
std::__is_normal_iterator<Widget**> (0x0x7f717ec3fe40) 0 empty

Class std::_Niter_base<Widget**>
   size=1 align=1
   base size=1 base align=1
std::_Niter_base<Widget**> (0x0x7f717e94d888) 0 empty
  std::_Iter_base<Widget**, false> (0x0x7f717ec3fea0) 0 empty

Class std::__are_same<Widget*, Widget*>
   size=1 align=1
   base size=0 base align=1
std::__are_same<Widget*, Widget*> (0x0x7f717ec3ff00) 0 empty

Class std::__is_pointer<Widget**>
   size=1 align=1
   base size=0 base align=1
std::__is_pointer<Widget**> (0x0x7f717ec3ff60) 0 empty

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

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

