Vtable for NoCopy
NoCopy::_ZTV6NoCopy: 4u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI6NoCopy)
16    (int (*)(...))NoCopy::~NoCopy
24    (int (*)(...))NoCopy::~NoCopy

Class NoCopy
   size=8 align=8
   base size=8 base align=8
NoCopy (0x0x7f597a460900) 0 nearly-empty
    vptr=((& NoCopy::_ZTV6NoCopy) + 16u)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Vtable for Drawable
Drawable::_ZTV8Drawable: 5u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI8Drawable)
16    0u
24    0u
32    (int (*)(...))__cxa_pure_virtual

Class Drawable
   size=8 align=8
   base size=8 base align=8
Drawable (0x0x7f597a458ea0) 0 nearly-empty
    vptr=((& Drawable::_ZTV8Drawable) + 16u)
  NoCopy (0x0x7f5979bd45a0) 0 nearly-empty
      primary-for Drawable (0x0x7f597a458ea0)

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

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

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

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

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

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

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

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

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

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

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

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

Class std::__is_integer<long int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<long int> (0x0x7f5979bd4d20) 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> (0x0x7f5979bd4d80) 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> (0x0x7f5979bd4de0) 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> (0x0x7f5979bd4e40) 0 empty

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

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

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

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

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

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

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

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

Class __gnu_cxx::__add_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<char> (0x0x7f5979c21780) 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> (0x0x7f5979c217e0) 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> (0x0x7f5979c21840) 0 empty

Class __gnu_cxx::__add_unsigned<int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<int> (0x0x7f5979c218a0) 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> (0x0x7f5979c21900) 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> (0x0x7f5979c21960) 0 empty

Class __gnu_cxx::__remove_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__remove_unsigned<char> (0x0x7f5979c21a20) 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> (0x0x7f5979c21a80) 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> (0x0x7f5979c21ae0) 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> (0x0x7f5979c21b40) 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> (0x0x7f5979c21ba0) 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> (0x0x7f5979c21c00) 0 empty

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

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

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

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

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

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

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

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

Class std::forward_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::forward_iterator_tag (0x0x7f5979c5d068) 0 empty
  std::input_iterator_tag (0x0x7f5979c53300) 0 empty

Class std::bidirectional_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::bidirectional_iterator_tag (0x0x7f5979c5d0d0) 0 empty
  std::forward_iterator_tag (0x0x7f5979c5d138) 0 empty
    std::input_iterator_tag (0x0x7f5979c53360) 0 empty

Class std::random_access_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::random_access_iterator_tag (0x0x7f5979c5d1a0) 0 empty
  std::bidirectional_iterator_tag (0x0x7f5979c5d208) 0 empty
    std::forward_iterator_tag (0x0x7f5979c5d270) 0 empty
      std::input_iterator_tag (0x0x7f5979c533c0) 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> (0x0x7f5979c536c0) 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 (0x0x7f5979c538a0) 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 (0x0x7f5979c53900) 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 (0x0x7f5979c53960) 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 (0x0x7f5979c539c0) 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 (0x0x7f5979c53a20) 0 empty

Class std::__iter_swap<true>
   size=1 align=1
   base size=0 base align=1
std::__iter_swap<true> (0x0x7f5979c53e40) 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> (0x0x7f5979d2f000) 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> (0x0x7f5979d2f120) 0 empty

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

Class std::__lexicographical_compare<true>
   size=1 align=1
   base size=0 base align=1
std::__lexicographical_compare<true> (0x0x7f5979d2f3c0) 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 (0x0x7f5979d2f420) 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 (0x0x7f5979c5d548) 0 nearly-empty
    vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
  std::exception (0x0x7f5979d2f480) 0 nearly-empty
      primary-for std::bad_exception (0x0x7f5979c5d548)

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 (0x0x7f5979c5d5b0) 0 nearly-empty
    vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
  std::exception (0x0x7f5979d2f4e0) 0 nearly-empty
      primary-for std::bad_alloc (0x0x7f5979c5d5b0)

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 (0x0x7f5979c5d618) 0 nearly-empty
    vptr=((& std::bad_array_length::_ZTVSt16bad_array_length) + 16u)
  std::bad_alloc (0x0x7f5979c5d680) 0 nearly-empty
      primary-for std::bad_array_length (0x0x7f5979c5d618)
    std::exception (0x0x7f5979d2f540) 0 nearly-empty
        primary-for std::bad_alloc (0x0x7f5979c5d680)

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

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

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

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

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

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

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

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

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

Class std::_Bit_reference
   size=16 align=8
   base size=16 base align=8
std::_Bit_reference (0x0x7f5979a410c0) 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> (0x0x7f5979a41120) 0 empty

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

Class std::_Bit_iterator
   size=16 align=8
   base size=12 base align=8
std::_Bit_iterator (0x0x7f5979c5d958) 0
  std::_Bit_iterator_base (0x0x7f5979c5d9c0) 0
    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f5979a411e0) 0 empty

Class std::_Bit_const_iterator
   size=16 align=8
   base size=12 base align=8
std::_Bit_const_iterator (0x0x7f5979c5da28) 0
  std::_Bit_iterator_base (0x0x7f5979c5da90) 0
    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f5979a41240) 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> (0x0x7f5979a413c0) 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> (0x0x7f5979a41420) 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> (0x0x7f5979c5dd00) 0
  std::iterator<std::random_access_iterator_tag, bool, long int, std::_Bit_reference*, std::_Bit_reference> (0x0x7f5979a41480) 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> (0x0x7f5979a414e0) 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> (0x0x7f5979a41540) 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> (0x0x7f5979c5de38) 0
  std::iterator<std::random_access_iterator_tag, bool, long int, const bool*, bool> (0x0x7f5979a415a0) 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> > (0x0x7f5979a41600) 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> (0x0x7f5979a41660) 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> (0x0x7f5979c5df70) 0 empty
  __gnu_cxx::__numeric_traits_integer<long int> (0x0x7f5979a416c0) 0 empty

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

Class std::allocator<Drawable*>
   size=1 align=1
   base size=1 base align=1
std::allocator<Drawable*> (0x0x7f59797be000) 0 empty
  __gnu_cxx::new_allocator<Drawable*> (0x0x7f5979a418a0) 0 empty

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

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

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

Class std::_Vector_base<Drawable*, std::allocator<Drawable*> >::_Vector_impl
   size=24 align=8
   base size=24 base align=8
std::_Vector_base<Drawable*, std::allocator<Drawable*> >::_Vector_impl (0x0x7f59797be1a0) 0
  std::allocator<Drawable*> (0x0x7f59797be208) 0 empty
    __gnu_cxx::new_allocator<Drawable*> (0x0x7f5979a41a20) 0 empty

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

Class std::vector<Drawable*>
   size=24 align=8
   base size=24 base align=8
std::vector<Drawable*> (0x0x7f59797be270) 0
  std::_Vector_base<Drawable*, std::allocator<Drawable*> > (0x0x7f5979a41a80) 0

Vtable for MultiDrawer
MultiDrawer::_ZTV11MultiDrawer: 5u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI11MultiDrawer)
16    (int (*)(...))MultiDrawer::~MultiDrawer
24    (int (*)(...))MultiDrawer::~MultiDrawer
32    (int (*)(...))MultiDrawer::drawOn

Class MultiDrawer
   size=32 align=8
   base size=32 base align=8
MultiDrawer (0x0x7f5979c5ddd0) 0
    vptr=((& MultiDrawer::_ZTV11MultiDrawer) + 16u)
  Drawable (0x0x7f5979c5df08) 0 nearly-empty
      primary-for MultiDrawer (0x0x7f5979c5ddd0)
    NoCopy (0x0x7f5979a41720) 0 nearly-empty
        primary-for Drawable (0x0x7f5979c5df08)

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

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

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

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

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*> (0x0x7f5979a41d20) 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> (0x0x7f5979a41d80) 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*> (0x0x7f59797be7b8) 0 empty
  std::_Iter_base<long unsigned int*, false> (0x0x7f5979a41de0) 0 empty

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

Class std::__is_floating<int>
   size=1 align=1
   base size=0 base align=1
std::__is_floating<int> (0x0x7f5979a41f60) 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> > (0x0x7f5979a41f00) 0 empty

Class std::__is_arithmetic<int>
   size=1 align=1
   base size=1 base align=1
std::__is_arithmetic<int> (0x0x7f59797be888) 0 empty
  std::__traitor<std::__is_integer<int>, std::__is_floating<int> > (0x0x7f5979850000) 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> > (0x0x7f5979a41e40) 0 empty

Class std::__is_scalar<int>
   size=1 align=1
   base size=1 base align=1
std::__is_scalar<int> (0x0x7f59797be958) 0 empty
  std::__traitor<std::__is_arithmetic<int>, std::__is_pointer<int> > (0x0x7f5979850060) 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> (0x0x7f59798500c0) 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> (0x0x7f5979850120) 0 empty

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

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

Class std::_Miter_base<Drawable**>
   size=1 align=1
   base size=1 base align=1
std::_Miter_base<Drawable**> (0x0x7f59797beea0) 0 empty
  std::_Iter_base<Drawable**, false> (0x0x7f5979850300) 0 empty

Class std::__is_move_iterator<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> > >
   size=1 align=1
   base size=0 base align=1
std::__is_move_iterator<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> > > (0x0x7f5979850360) 0 empty

Class std::_Iter_base<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> >, false>
   size=1 align=1
   base size=0 base align=1
std::_Iter_base<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> >, false> (0x0x7f5979850480) 0 empty

Class std::_Miter_base<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> > >
   size=1 align=1
   base size=1 base align=1
std::_Miter_base<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> > > (0x0x7f59797be5b0) 0 empty
  std::_Iter_base<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> >, false> (0x0x7f59798505a0) 0 empty

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

Class std::_Niter_base<Drawable**>
   size=1 align=1
   base size=1 base align=1
std::_Niter_base<Drawable**> (0x0x7f59797be618) 0 empty
  std::_Iter_base<Drawable**, false> (0x0x7f5979850720) 0 empty

Class std::__is_normal_iterator<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> > >
   size=1 align=1
   base size=0 base align=1
std::__is_normal_iterator<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> > > (0x0x7f5979850780) 0 empty

Class std::_Iter_base<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> >, true>
   size=1 align=1
   base size=0 base align=1
std::_Iter_base<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> >, true> (0x0x7f59798508a0) 0 empty

Class std::_Niter_base<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> > >
   size=1 align=1
   base size=1 base align=1
std::_Niter_base<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> > > (0x0x7f59797be750) 0 empty
  std::_Iter_base<__gnu_cxx::__normal_iterator<Drawable**, std::vector<Drawable*> >, true> (0x0x7f59798509c0) 0 empty

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

Class std::__is_pointer<Drawable**>
   size=1 align=1
   base size=0 base align=1
std::__is_pointer<Drawable**> (0x0x7f5979850ae0) 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> (0x0x7f5979850b40) 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> (0x0x7f5979850ba0) 0 empty

