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 (0x0x7f7ac59bcea0) 0 nearly-empty
    vptr=((& NoCopy::_ZTV6NoCopy) + 16u)

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

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

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

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

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

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

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

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

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

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

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

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

Class std::__is_integer<long int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<long int> (0x0x7f7ac5a3f660) 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> (0x0x7f7ac5a3f6c0) 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> (0x0x7f7ac5a3f720) 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> (0x0x7f7ac5a3f780) 0 empty

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

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

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

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

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

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

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

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

Class __gnu_cxx::__add_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<char> (0x0x7f7ac5a730c0) 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> (0x0x7f7ac5a73120) 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> (0x0x7f7ac5a73180) 0 empty

Class __gnu_cxx::__add_unsigned<int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<int> (0x0x7f7ac5a731e0) 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> (0x0x7f7ac5a73240) 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> (0x0x7f7ac5a732a0) 0 empty

Class __gnu_cxx::__remove_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__remove_unsigned<char> (0x0x7f7ac5a73360) 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> (0x0x7f7ac5a733c0) 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> (0x0x7f7ac5a73420) 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> (0x0x7f7ac5a73480) 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> (0x0x7f7ac5a734e0) 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> (0x0x7f7ac5a73540) 0 empty

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

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

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

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

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

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

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

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

Class std::forward_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::forward_iterator_tag (0x0x7f7ac59dec98) 0 empty
  std::input_iterator_tag (0x0x7f7ac5a73c00) 0 empty

Class std::bidirectional_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::bidirectional_iterator_tag (0x0x7f7ac59ded00) 0 empty
  std::forward_iterator_tag (0x0x7f7ac59ded68) 0 empty
    std::input_iterator_tag (0x0x7f7ac5a73c60) 0 empty

Class std::random_access_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::random_access_iterator_tag (0x0x7f7ac59dedd0) 0 empty
  std::bidirectional_iterator_tag (0x0x7f7ac59dee38) 0 empty
    std::forward_iterator_tag (0x0x7f7ac59deea0) 0 empty
      std::input_iterator_tag (0x0x7f7ac5a73cc0) 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> (0x0x7f7ac5ae9000) 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 (0x0x7f7ac5ae91e0) 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 (0x0x7f7ac5ae9240) 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 (0x0x7f7ac5ae92a0) 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 (0x0x7f7ac5ae9300) 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 (0x0x7f7ac5ae9360) 0 empty

Class std::__iter_swap<true>
   size=1 align=1
   base size=0 base align=1
std::__iter_swap<true> (0x0x7f7ac5ae9780) 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> (0x0x7f7ac5ae9900) 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> (0x0x7f7ac5ae9a20) 0 empty

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

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

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

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

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

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

Class std::char_traits<wchar_t>
   size=1 align=1
   base size=0 base align=1
std::char_traits<wchar_t> (0x0x7f7ac52333c0) 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 (0x0x7f7ac5233420) 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 (0x0x7f7ac5af7138) 0 nearly-empty
    vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
  std::exception (0x0x7f7ac5233480) 0 nearly-empty
      primary-for std::bad_exception (0x0x7f7ac5af7138)

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

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

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

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

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

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

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

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

Class <anonymous struct>
   size=8 align=4
   base size=8 base align=4
<anonymous struct> (0x0x7f7ac5233ba0) 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 (0x0x7f7ac5233c00) 0 nearly-empty
    vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Class <anonymous struct>::<anonymous struct>
   size=72 align=8
   base size=72 base align=8
<anonymous struct>::<anonymous struct> (0x0x7f7ac5032000) 0

Class <anonymous struct>
   size=104 align=8
   base size=104 base align=8
<anonymous struct> (0x0x7f7ac4fb9f60) 0

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

Class __pthread_cleanup_class
   size=24 align=8
   base size=24 base align=8
__pthread_cleanup_class (0x0x7f7ac50320c0) 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> > (0x0x7f7ac50322a0) 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> (0x0x7f7ac5032300) 0 empty

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

Class std::allocator<char>::rebind<char>
   size=1 align=1
   base size=0 base align=1
std::allocator<char>::rebind<char> (0x0x7f7ac50324e0) 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 (0x0x7f7ac4fb05b0) 0
  std::allocator<char> (0x0x7f7ac4fb0618) 0 empty
    __gnu_cxx::new_allocator<char> (0x0x7f7ac5032540) 0 empty

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

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

Class std::basic_string<char>::_Rep
   size=24 align=8
   base size=24 base align=8
std::basic_string<char>::_Rep (0x0x7f7ac4fb0820) 0
  std::basic_string<char>::_Rep_base (0x0x7f7ac5032600) 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> (0x0x7f7ac50326c0) 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 (0x0x7f7ac4fb0958) 0
  std::allocator<wchar_t> (0x0x7f7ac4fb09c0) 0 empty
    __gnu_cxx::new_allocator<wchar_t> (0x0x7f7ac5032720) 0 empty

Class std::basic_string<wchar_t>
   size=8 align=8
   base size=8 base align=8
std::basic_string<wchar_t> (0x0x7f7ac5032660) 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 (0x0x7f7ac5032780) 0

Class std::allocator<wchar_t>::rebind<char>
   size=1 align=1
   base size=0 base align=1
std::allocator<wchar_t>::rebind<char> (0x0x7f7ac5032840) 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 (0x0x7f7ac4fb0a28) 0
  std::basic_string<wchar_t>::_Rep_base (0x0x7f7ac50327e0) 0

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

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

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

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

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

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

Class std::_Bit_iterator
   size=16 align=8
   base size=12 base align=8
std::_Bit_iterator (0x0x7f7ac4fb0c30) 0
  std::_Bit_iterator_base (0x0x7f7ac4fb0c98) 0
    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f7ac5032f00) 0 empty

Class std::_Bit_const_iterator
   size=16 align=8
   base size=12 base align=8
std::_Bit_const_iterator (0x0x7f7ac4fb0d00) 0
  std::_Bit_iterator_base (0x0x7f7ac4fb0d68) 0
    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f7ac5032f60) 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> (0x0x7f7ac4bdc120) 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> (0x0x7f7ac4bdc180) 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> (0x0x7f7ac4fb03a8) 0
  std::iterator<std::random_access_iterator_tag, bool, long int, std::_Bit_reference*, std::_Bit_reference> (0x0x7f7ac4bdc1e0) 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> (0x0x7f7ac4bdc240) 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> (0x0x7f7ac4bdc2a0) 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> (0x0x7f7ac4fb0548) 0
  std::iterator<std::random_access_iterator_tag, bool, long int, const bool*, bool> (0x0x7f7ac4bdc300) 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> > (0x0x7f7ac4bdc360) 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> (0x0x7f7ac4bdc3c0) 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> (0x0x7f7ac4fb08f0) 0 empty
  __gnu_cxx::__numeric_traits_integer<long int> (0x0x7f7ac4bdc420) 0 empty

Class StringTool
   size=1 align=1
   base size=0 base align=1
StringTool (0x0x7f7ac4bdc480) 0 empty

Class V2
   size=8 align=4
   base size=8 base align=4
V2 (0x0x7f7ac4bdc4e0) 0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Vtable for InputProvider
InputProvider::_ZTV13InputProvider: 10u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI13InputProvider)
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

Class InputProvider
   size=8 align=8
   base size=8 base align=8
InputProvider (0x0x7f7ac49eaa20) 0 nearly-empty
    vptr=((& InputProvider::_ZTV13InputProvider) + 16u)

Vtable for InputHandler
InputHandler::_ZTV12InputHandler: 17u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI12InputHandler)
16    (int (*)(...))InputHandler::~InputHandler
24    (int (*)(...))InputHandler::~InputHandler
32    (int (*)(...))InputHandler::isPressed
40    (int (*)(...))InputHandler::isLeftPressed
48    (int (*)(...))InputHandler::isRightPressed
56    (int (*)(...))InputHandler::isMiddlePressed
64    (int (*)(...))InputHandler::getMouseLoc
72    (int (*)(...))InputHandler::toString
80    (int (*)(...))InputHandler::keyEvent
88    (int (*)(...))InputHandler::keyUp
96    (int (*)(...))InputHandler::mouseEvent
104   (int (*)(...))-8
112   (int (*)(...))(& _ZTI12InputHandler)
120   (int (*)(...))InputHandler::_ZThn8_N12InputHandlerD1Ev
128   (int (*)(...))InputHandler::_ZThn8_N12InputHandlerD0Ev

Class InputHandler
   size=40 align=8
   base size=36 base align=8
InputHandler (0x0x7f7ac4a87230) 0
    vptr=((& InputHandler::_ZTV12InputHandler) + 16u)
  InputProvider (0x0x7f7ac49eaa80) 0 nearly-empty
      primary-for InputHandler (0x0x7f7ac4a87230)
  NoCopy (0x0x7f7ac49eaae0) 8 nearly-empty
      vptr=((& InputHandler::_ZTV12InputHandler) + 120u)

Vtable for StateInput
StateInput::_ZTV10StateInput: 24u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI10StateInput)
16    (int (*)(...))StateInput::~StateInput
24    (int (*)(...))StateInput::~StateInput
32    (int (*)(...))InputHandler::isPressed
40    (int (*)(...))InputHandler::isLeftPressed
48    (int (*)(...))InputHandler::isRightPressed
56    (int (*)(...))InputHandler::isMiddlePressed
64    (int (*)(...))InputHandler::getMouseLoc
72    (int (*)(...))InputHandler::toString
80    (int (*)(...))StateInput::keyEvent
88    (int (*)(...))InputHandler::keyUp
96    (int (*)(...))InputHandler::mouseEvent
104   (int (*)(...))StateInput::quitState
112   (int (*)(...))StateInput::enableConsole
120   (int (*)(...))StateInput::enableHelp
128   (int (*)(...))StateInput::enableMenu
136   (int (*)(...))StateInput::enableSubtitles
144   (int (*)(...))StateInput::specStroke
152   (int (*)(...))StateInput::specKey
160   (int (*)(...))-8
168   (int (*)(...))(& _ZTI10StateInput)
176   (int (*)(...))StateInput::_ZThn8_N10StateInputD1Ev
184   (int (*)(...))StateInput::_ZThn8_N10StateInputD0Ev

Class StateInput
   size=56 align=8
   base size=56 base align=8
StateInput (0x0x7f7ac4c85208) 0
    vptr=((& StateInput::_ZTV10StateInput) + 16u)
  InputHandler (0x0x7f7ac4a87620) 0
      primary-for StateInput (0x0x7f7ac4c85208)
    InputProvider (0x0x7f7ac49eab40) 0 nearly-empty
        primary-for InputHandler (0x0x7f7ac4a87620)
    NoCopy (0x0x7f7ac49eaba0) 8 nearly-empty
        vptr=((& StateInput::_ZTV10StateInput) + 176u)

Vtable for ConsoleInput
ConsoleInput::_ZTV12ConsoleInput: 24u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI12ConsoleInput)
16    (int (*)(...))ConsoleInput::~ConsoleInput
24    (int (*)(...))ConsoleInput::~ConsoleInput
32    (int (*)(...))InputHandler::isPressed
40    (int (*)(...))InputHandler::isLeftPressed
48    (int (*)(...))InputHandler::isRightPressed
56    (int (*)(...))InputHandler::isMiddlePressed
64    (int (*)(...))InputHandler::getMouseLoc
72    (int (*)(...))InputHandler::toString
80    (int (*)(...))StateInput::keyEvent
88    (int (*)(...))InputHandler::keyUp
96    (int (*)(...))InputHandler::mouseEvent
104   (int (*)(...))StateInput::quitState
112   (int (*)(...))ConsoleInput::enableConsole
120   (int (*)(...))StateInput::enableHelp
128   (int (*)(...))StateInput::enableMenu
136   (int (*)(...))ConsoleInput::enableSubtitles
144   (int (*)(...))ConsoleInput::specStroke
152   (int (*)(...))ConsoleInput::specKey
160   (int (*)(...))-8
168   (int (*)(...))(& _ZTI12ConsoleInput)
176   (int (*)(...))ConsoleInput::_ZThn8_N12ConsoleInputD1Ev
184   (int (*)(...))ConsoleInput::_ZThn8_N12ConsoleInputD0Ev

Class ConsoleInput
   size=64 align=8
   base size=64 base align=8
ConsoleInput (0x0x7f7ac4c85270) 0
    vptr=((& ConsoleInput::_ZTV12ConsoleInput) + 16u)
  StateInput (0x0x7f7ac4c852d8) 0
      primary-for ConsoleInput (0x0x7f7ac4c85270)
    InputHandler (0x0x7f7ac4a878c0) 0
        primary-for StateInput (0x0x7f7ac4c852d8)
      InputProvider (0x0x7f7ac49eac00) 0 nearly-empty
          primary-for InputHandler (0x0x7f7ac4a878c0)
      NoCopy (0x0x7f7ac49eac60) 8 nearly-empty
          vptr=((& ConsoleInput::_ZTV12ConsoleInput) + 176u)

Class KeyStroke
   size=12 align=4
   base size=10 base align=4
KeyStroke (0x0x7f7ac49eacc0) 0

Class stroke_less
   size=1 align=1
   base size=0 base align=1
stroke_less (0x0x7f7ac49ead20) 0 empty

Class KeyDesc
   size=16 align=8
   base size=16 base align=8
KeyDesc (0x0x7f7ac49ead80) 0

Class std::_Rb_tree_node_base
   size=32 align=8
   base size=32 base align=8
std::_Rb_tree_node_base (0x0x7f7ac49eade0) 0

Class std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*>
   size=16 align=8
   base size=16 base align=8
std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> (0x0x7f7ac4af1060) 0

Class __gnu_cxx::new_allocator<std::pair<const KeyStroke, KeyDesc> >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<std::pair<const KeyStroke, KeyDesc> > (0x0x7f7ac4af1300) 0 empty

Class std::allocator<std::pair<const KeyStroke, KeyDesc> >
   size=1 align=1
   base size=1 base align=1
std::allocator<std::pair<const KeyStroke, KeyDesc> > (0x0x7f7ac4c855b0) 0 empty
  __gnu_cxx::new_allocator<std::pair<const KeyStroke, KeyDesc> > (0x0x7f7ac4af1360) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<std::pair<const KeyStroke, KeyDesc> > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<std::pair<const KeyStroke, KeyDesc> > > (0x0x7f7ac4af13c0) 0 empty

Class std::allocator<std::pair<const KeyStroke, KeyDesc> >::rebind<std::pair<const KeyStroke, KeyDesc> >
   size=1 align=1
   base size=0 base align=1
std::allocator<std::pair<const KeyStroke, KeyDesc> >::rebind<std::pair<const KeyStroke, KeyDesc> > (0x0x7f7ac4af14e0) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<std::pair<const KeyStroke, KeyDesc> > >::rebind<std::pair<const KeyStroke, KeyDesc> >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<std::pair<const KeyStroke, KeyDesc> > >::rebind<std::pair<const KeyStroke, KeyDesc> > (0x0x7f7ac4af1480) 0 empty

Class std::allocator<std::pair<const KeyStroke, KeyDesc> >::rebind<std::_Rb_tree_node<std::pair<const KeyStroke, KeyDesc> > >
   size=1 align=1
   base size=0 base align=1
std::allocator<std::pair<const KeyStroke, KeyDesc> >::rebind<std::_Rb_tree_node<std::pair<const KeyStroke, KeyDesc> > > (0x0x7f7ac4af1600) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<std::pair<const KeyStroke, KeyDesc> > >::rebind<std::_Rb_tree_node<std::pair<const KeyStroke, KeyDesc> > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<std::pair<const KeyStroke, KeyDesc> > >::rebind<std::_Rb_tree_node<std::pair<const KeyStroke, KeyDesc> > > (0x0x7f7ac4af15a0) 0 empty

Class __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const KeyStroke, KeyDesc> > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const KeyStroke, KeyDesc> > > (0x0x7f7ac4af1660) 0 empty

Class std::allocator<std::_Rb_tree_node<std::pair<const KeyStroke, KeyDesc> > >
   size=1 align=1
   base size=1 base align=1
std::allocator<std::_Rb_tree_node<std::pair<const KeyStroke, KeyDesc> > > (0x0x7f7ac4c858f0) 0 empty
  __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const KeyStroke, KeyDesc> > > (0x0x7f7ac4af16c0) 0 empty

Class std::_Rb_tree<KeyStroke, std::pair<const KeyStroke, KeyDesc>, std::_Select1st<std::pair<const KeyStroke, KeyDesc> >, stroke_less, std::allocator<std::pair<const KeyStroke, KeyDesc> > >::_Rb_tree_impl<stroke_less, true>
   size=48 align=8
   base size=48 base align=8
std::_Rb_tree<KeyStroke, std::pair<const KeyStroke, KeyDesc>, std::_Select1st<std::pair<const KeyStroke, KeyDesc> >, stroke_less, std::allocator<std::pair<const KeyStroke, KeyDesc> > >::_Rb_tree_impl<stroke_less, true> (0x0x7f7ac4c85958) 0
  std::allocator<std::_Rb_tree_node<std::pair<const KeyStroke, KeyDesc> > > (0x0x7f7ac4c859c0) 0 empty
    __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const KeyStroke, KeyDesc> > > (0x0x7f7ac4af1720) 0 empty

Class std::_Rb_tree<KeyStroke, std::pair<const KeyStroke, KeyDesc>, std::_Select1st<std::pair<const KeyStroke, KeyDesc> >, stroke_less, std::allocator<std::pair<const KeyStroke, KeyDesc> > >
   size=48 align=8
   base size=48 base align=8
std::_Rb_tree<KeyStroke, std::pair<const KeyStroke, KeyDesc>, std::_Select1st<std::pair<const KeyStroke, KeyDesc> >, stroke_less, std::allocator<std::pair<const KeyStroke, KeyDesc> > > (0x0x7f7ac4af1540) 0

Class std::map<KeyStroke, KeyDesc, stroke_less>
   size=48 align=8
   base size=48 base align=8
std::map<KeyStroke, KeyDesc, stroke_less> (0x0x7f7ac4af12a0) 0

Class Keymap
   size=48 align=8
   base size=48 base align=8
Keymap (0x0x7f7ac4af1240) 0

Vtable for INamed
INamed::_ZTV6INamed: 5u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI6INamed)
16    0u
24    0u
32    (int (*)(...))__cxa_pure_virtual

Class INamed
   size=8 align=8
   base size=8 base align=8
INamed (0x0x7f7ac4af1900) 0 nearly-empty
    vptr=((& INamed::_ZTV6INamed) + 16u)

Vtable for BaseListener
BaseListener::_ZTV12BaseListener: 8u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI12BaseListener)
16    0u
24    0u
32    (int (*)(...))__cxa_pure_virtual
40    (int (*)(...))BaseListener::receiveSimple
48    (int (*)(...))BaseListener::receiveInt
56    (int (*)(...))BaseListener::receiveString

Class BaseListener
   size=8 align=8
   base size=8 base align=8
BaseListener (0x0x7f7ac4c85a28) 0 nearly-empty
    vptr=((& BaseListener::_ZTV12BaseListener) + 16u)
  INamed (0x0x7f7ac4af1960) 0 nearly-empty
      primary-for BaseListener (0x0x7f7ac4c85a28)

Vtable for GameState
GameState::_ZTV9GameState: 20u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI9GameState)
16    0u
24    0u
32    (int (*)(...))__cxa_pure_virtual
40    (int (*)(...))GameState::receiveSimple
48    (int (*)(...))BaseListener::receiveInt
56    (int (*)(...))BaseListener::receiveString
64    (int (*)(...))__cxa_pure_virtual
72    (int (*)(...))__cxa_pure_virtual
80    (int (*)(...))__cxa_pure_virtual
88    (int (*)(...))__cxa_pure_virtual
96    (int (*)(...))__cxa_pure_virtual
104   (int (*)(...))GameState::own_noteBg
112   (int (*)(...))GameState::own_noteFg
120   (int (*)(...))GameState::allowBg
128   (int (*)(...))-8
136   (int (*)(...))(& _ZTI9GameState)
144   0u
152   0u

Class GameState
   size=56 align=8
   base size=56 base align=8
GameState (0x0x7f7ac48cf150) 0
    vptr=((& GameState::_ZTV9GameState) + 16u)
  BaseListener (0x0x7f7ac4c85a90) 0 nearly-empty
      primary-for GameState (0x0x7f7ac48cf150)
    INamed (0x0x7f7ac4af19c0) 0 nearly-empty
        primary-for BaseListener (0x0x7f7ac4c85a90)
  NoCopy (0x0x7f7ac4af1a20) 8 nearly-empty
      vptr=((& GameState::_ZTV9GameState) + 144u)

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 (0x0x7f7ac4c85af8) 0 nearly-empty
    vptr=((& Drawable::_ZTV8Drawable) + 16u)
  NoCopy (0x0x7f7ac4af1a80) 0 nearly-empty
      primary-for Drawable (0x0x7f7ac4c85af8)

Class Color
   size=4 align=1
   base size=4 base align=1
Color (0x0x7f7ac4c85b60) 0
  SDL_Color (0x0x7f7ac4af1ae0) 0

Vtable for KeyConsole
KeyConsole::_ZTV10KeyConsole: 26u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI10KeyConsole)
16    (int (*)(...))KeyConsole::~KeyConsole
24    (int (*)(...))KeyConsole::~KeyConsole
32    (int (*)(...))KeyConsole::getName
40    (int (*)(...))GameState::receiveSimple
48    (int (*)(...))BaseListener::receiveInt
56    (int (*)(...))BaseListener::receiveString
64    (int (*)(...))KeyConsole::own_initState
72    (int (*)(...))KeyConsole::own_updateState
80    (int (*)(...))KeyConsole::own_pauseState
88    (int (*)(...))KeyConsole::own_resumeState
96    (int (*)(...))KeyConsole::own_cleanState
104   (int (*)(...))GameState::own_noteBg
112   (int (*)(...))GameState::own_noteFg
120   (int (*)(...))KeyConsole::allowBg
128   (int (*)(...))KeyConsole::drawOn
136   (int (*)(...))-8
144   (int (*)(...))(& _ZTI10KeyConsole)
152   (int (*)(...))KeyConsole::_ZThn8_N10KeyConsoleD1Ev
160   (int (*)(...))KeyConsole::_ZThn8_N10KeyConsoleD0Ev
168   (int (*)(...))-56
176   (int (*)(...))(& _ZTI10KeyConsole)
184   (int (*)(...))KeyConsole::_ZThn56_N10KeyConsoleD1Ev
192   (int (*)(...))KeyConsole::_ZThn56_N10KeyConsoleD0Ev
200   (int (*)(...))KeyConsole::_ZThn56_N10KeyConsole6drawOnEP11SDL_Surface

Class KeyConsole
   size=88 align=8
   base size=88 base align=8
KeyConsole (0x0x7f7ac48cfc40) 0
    vptr=((& KeyConsole::_ZTV10KeyConsole) + 16u)
  GameState (0x0x7f7ac48cfcb0) 0
      primary-for KeyConsole (0x0x7f7ac48cfc40)
    BaseListener (0x0x7f7ac4c85bc8) 0 nearly-empty
        primary-for GameState (0x0x7f7ac48cfcb0)
      INamed (0x0x7f7ac4af1b40) 0 nearly-empty
          primary-for BaseListener (0x0x7f7ac4c85bc8)
    NoCopy (0x0x7f7ac4af1ba0) 8 nearly-empty
        vptr=((& KeyConsole::_ZTV10KeyConsole) + 152u)
  Drawable (0x0x7f7ac4c85c30) 56 nearly-empty
      vptr=((& KeyConsole::_ZTV10KeyConsole) + 184u)
    NoCopy (0x0x7f7ac4af1c00) 56 nearly-empty
        primary-for Drawable (0x0x7f7ac4c85c30)

Class ExInfo
   size=8 align=8
   base size=8 base align=8
ExInfo (0x0x7f7ac4af1c60) 0

Class Log
   size=1 align=1
   base size=0 base align=1
Log (0x0x7f7ac4af1cc0) 0 empty

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

Class __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >
   size=8 align=8
   base size=8 base align=8
__gnu_cxx::__normal_iterator<char*, std::basic_string<char> > (0x0x7f7ac4af1d20) 0

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

Class __gnu_cxx::__enable_if<true, std::basic_string<char> >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__enable_if<true, std::basic_string<char> > (0x0x7f7ac4af1e40) 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*> (0x0x7f7ac4af1f60) 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> (0x0x7f7ac493e000) 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*> (0x0x7f7ac4c85e38) 0 empty
  std::_Iter_base<long unsigned int*, false> (0x0x7f7ac493e060) 0 empty

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

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

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

Class std::__is_scalar<int>
   size=1 align=1
   base size=1 base align=1
std::__is_scalar<int> (0x0x7f7ac4c85000) 0 empty
  std::__traitor<std::__is_arithmetic<int>, std::__is_pointer<int> > (0x0x7f7ac493e2a0) 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> (0x0x7f7ac493e300) 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> (0x0x7f7ac493e360) 0 empty

