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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Class std::__is_integer<long int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<long int> (0x0x7f22d4787480) 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> (0x0x7f22d47874e0) 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> (0x0x7f22d4787540) 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> (0x0x7f22d47875a0) 0 empty

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

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

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

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

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

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

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

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

Class __gnu_cxx::__add_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<char> (0x0x7f22d4787ea0) 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> (0x0x7f22d4787f00) 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> (0x0x7f22d4787f60) 0 empty

Class __gnu_cxx::__add_unsigned<int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<int> (0x0x7f22d47bf000) 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> (0x0x7f22d47bf060) 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> (0x0x7f22d47bf0c0) 0 empty

Class __gnu_cxx::__remove_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__remove_unsigned<char> (0x0x7f22d47bf180) 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> (0x0x7f22d47bf1e0) 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> (0x0x7f22d47bf240) 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> (0x0x7f22d47bf2a0) 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> (0x0x7f22d47bf300) 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> (0x0x7f22d47bf360) 0 empty

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

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

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

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

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

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

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

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

Class std::forward_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::forward_iterator_tag (0x0x7f22d46beea0) 0 empty
  std::input_iterator_tag (0x0x7f22d47bfa20) 0 empty

Class std::bidirectional_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::bidirectional_iterator_tag (0x0x7f22d46bef08) 0 empty
  std::forward_iterator_tag (0x0x7f22d46bef70) 0 empty
    std::input_iterator_tag (0x0x7f22d47bfa80) 0 empty

Class std::random_access_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::random_access_iterator_tag (0x0x7f22d46bed00) 0 empty
  std::bidirectional_iterator_tag (0x0x7f22d48a1000) 0 empty
    std::forward_iterator_tag (0x0x7f22d48a10d0) 0 empty
      std::input_iterator_tag (0x0x7f22d47bfae0) 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> (0x0x7f22d47bfde0) 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 (0x0x7f22d485b000) 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 (0x0x7f22d485b060) 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 (0x0x7f22d485b0c0) 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 (0x0x7f22d485b120) 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 (0x0x7f22d485b180) 0 empty

Class std::__iter_swap<true>
   size=1 align=1
   base size=0 base align=1
std::__iter_swap<true> (0x0x7f22d485b5a0) 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> (0x0x7f22d485b720) 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> (0x0x7f22d485b840) 0 empty

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

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

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

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

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

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

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

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

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

Class std::_Rb_tree_node_base
   size=32 align=8
   base size=32 base align=8
std::_Rb_tree_node_base (0x0x7f22d42aede0) 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*> (0x0x7f22d431f060) 0

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

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

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

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

Class lconv
   size=96 align=8
   base size=96 base align=8
lconv (0x0x7f22d431f8a0) 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 (0x0x7f22d431f900) 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 (0x0x7f22d431f960) 0

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

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

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

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

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

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

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

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

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

Class __pthread_cleanup_class
   size=24 align=8
   base size=24 base align=8
__pthread_cleanup_class (0x0x7f22d431fd20) 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> > (0x0x7f22d431ff00) 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> (0x0x7f22d431ff60) 0 empty

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

Class std::allocator<char>::rebind<char>
   size=1 align=1
   base size=0 base align=1
std::allocator<char>::rebind<char> (0x0x7f22d3e39180) 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 (0x0x7f22d42a89c0) 0
  std::allocator<char> (0x0x7f22d42a8a28) 0 empty
    __gnu_cxx::new_allocator<char> (0x0x7f22d3e391e0) 0 empty

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

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

Class std::basic_string<char>::_Rep
   size=24 align=8
   base size=24 base align=8
std::basic_string<char>::_Rep (0x0x7f22d42a8c30) 0
  std::basic_string<char>::_Rep_base (0x0x7f22d3e392a0) 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> (0x0x7f22d3e39360) 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 (0x0x7f22d42a8d68) 0
  std::allocator<wchar_t> (0x0x7f22d42a8dd0) 0 empty
    __gnu_cxx::new_allocator<wchar_t> (0x0x7f22d3e393c0) 0 empty

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

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

Class BoardPosition
   size=8 align=4
   base size=8 base align=4
BoardPosition (0x0x7f22d3e39540) 0

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

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

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

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

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

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

Class std::_Bit_iterator
   size=16 align=8
   base size=12 base align=8
std::_Bit_iterator (0x0x7f22d42a8888) 0
  std::_Bit_iterator_base (0x0x7f22d42a88f0) 0
    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f22d3e39b40) 0 empty

Class std::_Bit_const_iterator
   size=16 align=8
   base size=12 base align=8
std::_Bit_const_iterator (0x0x7f22d42a8958) 0
  std::_Bit_iterator_base (0x0x7f22d42a8d00) 0
    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f22d3e39ba0) 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> (0x0x7f22d3e39d20) 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> (0x0x7f22d3e39d80) 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> (0x0x7f22d3d40208) 0
  std::iterator<std::random_access_iterator_tag, bool, long int, std::_Bit_reference*, std::_Bit_reference> (0x0x7f22d3e39de0) 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> (0x0x7f22d3e39e40) 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> (0x0x7f22d3e39ea0) 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> (0x0x7f22d3d40340) 0
  std::iterator<std::random_access_iterator_tag, bool, long int, const bool*, bool> (0x0x7f22d3e39f00) 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> > (0x0x7f22d3e39f60) 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> (0x0x7f22d399d000) 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> (0x0x7f22d3d40478) 0 empty
  __gnu_cxx::__numeric_traits_integer<long int> (0x0x7f22d399d060) 0 empty

Class __gnu_cxx::new_allocator<BoardPosition>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<BoardPosition> (0x0x7f22d399d1e0) 0 empty

Class std::allocator<BoardPosition>
   size=1 align=1
   base size=1 base align=1
std::allocator<BoardPosition> (0x0x7f22d3d40750) 0 empty
  __gnu_cxx::new_allocator<BoardPosition> (0x0x7f22d399d240) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<BoardPosition> >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<BoardPosition> > (0x0x7f22d399d180) 0 empty

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

Class __gnu_cxx::__alloc_traits<std::allocator<BoardPosition> >::rebind<BoardPosition>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<BoardPosition> >::rebind<BoardPosition> (0x0x7f22d399d300) 0 empty

Class std::_Vector_base<BoardPosition, std::allocator<BoardPosition> >::_Vector_impl
   size=24 align=8
   base size=24 base align=8
std::_Vector_base<BoardPosition, std::allocator<BoardPosition> >::_Vector_impl (0x0x7f22d3d408f0) 0
  std::allocator<BoardPosition> (0x0x7f22d3d40958) 0 empty
    __gnu_cxx::new_allocator<BoardPosition> (0x0x7f22d399d3c0) 0 empty

Class std::_Vector_base<BoardPosition, std::allocator<BoardPosition> >
   size=24 align=8
   base size=24 base align=8
std::_Vector_base<BoardPosition, std::allocator<BoardPosition> > (0x0x7f22d399d120) 0

Class std::vector<BoardPosition>
   size=24 align=8
   base size=24 base align=8
std::vector<BoardPosition> (0x0x7f22d3d409c0) 0
  std::_Vector_base<BoardPosition, std::allocator<BoardPosition> > (0x0x7f22d399d420) 0

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

Class std::allocator<Piece*>
   size=1 align=1
   base size=1 base align=1
std::allocator<Piece*> (0x0x7f22d3d40b60) 0 empty
  __gnu_cxx::new_allocator<Piece*> (0x0x7f22d399d660) 0 empty

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

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

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

Class std::_Vector_base<Piece*, std::allocator<Piece*> >::_Vector_impl
   size=24 align=8
   base size=24 base align=8
std::_Vector_base<Piece*, std::allocator<Piece*> >::_Vector_impl (0x0x7f22d3d40d00) 0
  std::allocator<Piece*> (0x0x7f22d3d40d68) 0 empty
    __gnu_cxx::new_allocator<Piece*> (0x0x7f22d399d7e0) 0 empty

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

Class std::vector<Piece*>
   size=24 align=8
   base size=24 base align=8
std::vector<Piece*> (0x0x7f22d3d40dd0) 0
  std::_Vector_base<Piece*, std::allocator<Piece*> > (0x0x7f22d399d840) 0

Class StatSnapshot
   size=48 align=8
   base size=48 base align=8
StatSnapshot (0x0x7f22d399d0c0) 0

Class __gnu_cxx::new_allocator<StatSnapshot>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<StatSnapshot> (0x0x7f22d399dd80) 0 empty

Class std::allocator<StatSnapshot>
   size=1 align=1
   base size=1 base align=1
std::allocator<StatSnapshot> (0x0x7f22d3d402d8) 0 empty
  __gnu_cxx::new_allocator<StatSnapshot> (0x0x7f22d399dde0) 0 empty

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

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

Class std::_Deque_iterator<StatSnapshot, StatSnapshot&, StatSnapshot*>
   size=32 align=8
   base size=32 base align=8
std::_Deque_iterator<StatSnapshot, StatSnapshot&, StatSnapshot*> (0x0x7f22d399df60) 0

Class std::_Deque_base<StatSnapshot, std::allocator<StatSnapshot> >::_Deque_impl
   size=80 align=8
   base size=80 base align=8
std::_Deque_base<StatSnapshot, std::allocator<StatSnapshot> >::_Deque_impl (0x0x7f22d3d404e0) 0
  std::allocator<StatSnapshot> (0x0x7f22d3d405b0) 0 empty
    __gnu_cxx::new_allocator<StatSnapshot> (0x0x7f22d399df00) 0 empty

Class std::_Deque_base<StatSnapshot, std::allocator<StatSnapshot> >
   size=80 align=8
   base size=80 base align=8
std::_Deque_base<StatSnapshot, std::allocator<StatSnapshot> > (0x0x7f22d399dd20) 0

Class std::deque<StatSnapshot, std::allocator<StatSnapshot> >
   size=80 align=8
   base size=80 base align=8
std::deque<StatSnapshot, std::allocator<StatSnapshot> > (0x0x7f22d3d40618) 0
  std::_Deque_base<StatSnapshot, std::allocator<StatSnapshot> > (0x0x7f22d37f7060) 0

Class std::stack<StatSnapshot>
   size=80 align=8
   base size=80 base align=8
std::stack<StatSnapshot> (0x0x7f22d399dcc0) 0

Class Piece
   size=88 align=8
   base size=88 base align=8
Piece (0x0x7f22d399dc60) 0

Class BoardMove::LegalMapInitializer
   size=1 align=1
   base size=0 base align=1
BoardMove::LegalMapInitializer (0x0x7f22d37f71e0) 0 empty

Class BoardMove
   size=32 align=8
   base size=28 base align=8
BoardMove (0x0x7f22d37f7180) 0

Class __gnu_cxx::new_allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > (0x0x7f22d37f7300) 0 empty

Class std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> >
   size=1 align=1
   base size=1 base align=1
std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > (0x0x7f22d3d407b8) 0 empty
  __gnu_cxx::new_allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > (0x0x7f22d37f7360) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > > (0x0x7f22d37f73c0) 0 empty

Class std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> >::rebind<std::pair<const Piece::Type, bool (BoardMove::*)() const> >
   size=1 align=1
   base size=0 base align=1
std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> >::rebind<std::pair<const Piece::Type, bool (BoardMove::*)() const> > (0x0x7f22d37f75a0) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > >::rebind<std::pair<const Piece::Type, bool (BoardMove::*)() const> >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > >::rebind<std::pair<const Piece::Type, bool (BoardMove::*)() const> > (0x0x7f22d37f7540) 0 empty

Class std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> >::rebind<std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > >
   size=1 align=1
   base size=0 base align=1
std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> >::rebind<std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > > (0x0x7f22d37f76c0) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > >::rebind<std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > >::rebind<std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > > (0x0x7f22d37f7660) 0 empty

Class std::binary_function<Piece::Type, Piece::Type, bool>
   size=1 align=1
   base size=0 base align=1
std::binary_function<Piece::Type, Piece::Type, bool> (0x0x7f22d37f77e0) 0 empty

Class std::less<Piece::Type>
   size=1 align=1
   base size=1 base align=1
std::less<Piece::Type> (0x0x7f22d3899138) 0 empty
  std::binary_function<Piece::Type, Piece::Type, bool> (0x0x7f22d37f7840) 0 empty

Class __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > > (0x0x7f22d37f78a0) 0 empty

Class std::allocator<std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > >
   size=1 align=1
   base size=1 base align=1
std::allocator<std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > > (0x0x7f22d38991a0) 0 empty
  __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > > (0x0x7f22d37f79c0) 0 empty

Class std::_Rb_tree<Piece::Type, std::pair<const Piece::Type, bool (BoardMove::*)() const>, std::_Select1st<std::pair<const Piece::Type, bool (BoardMove::*)() const> >, std::less<Piece::Type>, std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > >::_Rb_tree_impl<std::less<Piece::Type>, false>
   size=48 align=8
   base size=48 base align=8
std::_Rb_tree<Piece::Type, std::pair<const Piece::Type, bool (BoardMove::*)() const>, std::_Select1st<std::pair<const Piece::Type, bool (BoardMove::*)() const> >, std::less<Piece::Type>, std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > >::_Rb_tree_impl<std::less<Piece::Type>, false> (0x0x7f22d3899208) 0
  std::allocator<std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > > (0x0x7f22d3899270) 0 empty
    __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > > (0x0x7f22d37f7ae0) 0 empty

Class std::_Rb_tree<Piece::Type, std::pair<const Piece::Type, bool (BoardMove::*)() const>, std::_Select1st<std::pair<const Piece::Type, bool (BoardMove::*)() const> >, std::less<Piece::Type>, std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > >
   size=48 align=8
   base size=48 base align=8
std::_Rb_tree<Piece::Type, std::pair<const Piece::Type, bool (BoardMove::*)() const>, std::_Select1st<std::pair<const Piece::Type, bool (BoardMove::*)() const> >, std::less<Piece::Type>, std::allocator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > > (0x0x7f22d37f7600) 0

Class std::map<Piece::Type, bool (BoardMove::*)() const>
   size=48 align=8
   base size=48 base align=8
std::map<Piece::Type, bool (BoardMove::*)() const> (0x0x7f22d37f72a0) 0

Class std::pair<const Piece::Type, bool (BoardMove::*)() const>
   size=24 align=8
   base size=24 base align=8
std::pair<const Piece::Type, bool (BoardMove::*)() const> (0x0x7f22d37f7cc0) 0

Class std::_Rb_tree_iterator<std::pair<const Piece::Type, bool (BoardMove::*)() const> >
   size=8 align=8
   base size=8 base align=8
std::_Rb_tree_iterator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > (0x0x7f22d37f7d20) 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*> (0x0x7f22d37f7de0) 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> (0x0x7f22d37f7e40) 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*> (0x0x7f22d38994e0) 0 empty
  std::_Iter_base<long unsigned int*, false> (0x0x7f22d37f7ea0) 0 empty

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

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

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

Class std::__is_scalar<int>
   size=1 align=1
   base size=1 base align=1
std::__is_scalar<int> (0x0x7f22d3899680) 0 empty
  std::__traitor<std::__is_arithmetic<int>, std::__is_pointer<int> > (0x0x7f22d3961120) 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> (0x0x7f22d3961180) 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> (0x0x7f22d39611e0) 0 empty

Class std::iterator_traits<const BoardPosition*>
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<const BoardPosition*> (0x0x7f22d39612a0) 0 empty

Class __gnu_cxx::__normal_iterator<const BoardPosition*, std::vector<BoardPosition> >
   size=8 align=8
   base size=8 base align=8
__gnu_cxx::__normal_iterator<const BoardPosition*, std::vector<BoardPosition> > (0x0x7f22d3961240) 0

Class std::__are_same<const BoardPosition*, BoardPosition*>
   size=1 align=1
   base size=0 base align=1
std::__are_same<const BoardPosition*, BoardPosition*> (0x0x7f22d3961300) 0 empty

Class __gnu_cxx::__enable_if<false, std::vector<BoardPosition> >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__enable_if<false, std::vector<BoardPosition> > (0x0x7f22d3961360) 0 empty

Class std::iterator_traits<Piece* const*>
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<Piece* const*> (0x0x7f22d3961420) 0 empty

Class __gnu_cxx::__normal_iterator<Piece* const*, std::vector<Piece*> >
   size=8 align=8
   base size=8 base align=8
__gnu_cxx::__normal_iterator<Piece* const*, std::vector<Piece*> > (0x0x7f22d39613c0) 0

Class std::__are_same<Piece* const*, Piece**>
   size=1 align=1
   base size=0 base align=1
std::__are_same<Piece* const*, Piece**> (0x0x7f22d3961480) 0 empty

Class __gnu_cxx::__enable_if<false, std::vector<Piece*> >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__enable_if<false, std::vector<Piece*> > (0x0x7f22d39614e0) 0 empty

Class std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> >
   size=56 align=8
   base size=56 base align=8
std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > (0x0x7f22d38998f0) 0
  std::_Rb_tree_node_base (0x0x7f22d3961540) 0

Class std::_Deque_iterator<StatSnapshot, const StatSnapshot&, const StatSnapshot*>
   size=32 align=8
   base size=32 base align=8
std::_Deque_iterator<StatSnapshot, const StatSnapshot&, const StatSnapshot*> (0x0x7f22d3961660) 0

Class std::_Rb_tree_const_iterator<std::pair<const Piece::Type, bool (BoardMove::*)() const> >
   size=8 align=8
   base size=8 base align=8
std::_Rb_tree_const_iterator<std::pair<const Piece::Type, bool (BoardMove::*)() const> > (0x0x7f22d3961720) 0

Class std::iterator_traits<__gnu_cxx::__normal_iterator<const BoardPosition*, std::vector<BoardPosition> > >
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<__gnu_cxx::__normal_iterator<const BoardPosition*, std::vector<BoardPosition> > > (0x0x7f22d3961840) 0 empty

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

Class std::__uninitialized_copy<false>
   size=1 align=1
   base size=0 base align=1
std::__uninitialized_copy<false> (0x0x7f22d3961900) 0 empty

Class std::iterator_traits<__gnu_cxx::__normal_iterator<Piece* const*, std::vector<Piece*> > >
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<__gnu_cxx::__normal_iterator<Piece* const*, std::vector<Piece*> > > (0x0x7f22d3961960) 0 empty

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

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

Class std::allocator<StatSnapshot*>
   size=1 align=1
   base size=1 base align=1
std::allocator<StatSnapshot*> (0x0x7f22d364c138) 0 empty
  __gnu_cxx::new_allocator<StatSnapshot*> (0x0x7f22d3961b40) 0 empty

Class std::unary_function<std::pair<const Piece::Type, bool (BoardMove::*)() const>, const Piece::Type>
   size=1 align=1
   base size=0 base align=1
std::unary_function<std::pair<const Piece::Type, bool (BoardMove::*)() const>, const Piece::Type> (0x0x7f22d3961c00) 0 empty

Class std::_Select1st<std::pair<const Piece::Type, bool (BoardMove::*)() const> >
   size=1 align=1
   base size=1 base align=1
std::_Select1st<std::pair<const Piece::Type, bool (BoardMove::*)() const> > (0x0x7f22d364c4e0) 0 empty
  std::unary_function<std::pair<const Piece::Type, bool (BoardMove::*)() const>, const Piece::Type> (0x0x7f22d3961d20) 0 empty

Class std::iterator_traits<std::_Deque_iterator<StatSnapshot, const StatSnapshot&, const StatSnapshot*> >
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<std::_Deque_iterator<StatSnapshot, const StatSnapshot&, const StatSnapshot*> > (0x0x7f22d3961d80) 0 empty

Class std::iterator_traits<std::_Deque_iterator<StatSnapshot, StatSnapshot&, StatSnapshot*> >
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<std::_Deque_iterator<StatSnapshot, StatSnapshot&, StatSnapshot*> > (0x0x7f22d3961ea0) 0 empty

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

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

Class std::_Miter_base<__gnu_cxx::__normal_iterator<Piece* const*, std::vector<Piece*> > >
   size=1 align=1
   base size=1 base align=1
std::_Miter_base<__gnu_cxx::__normal_iterator<Piece* const*, std::vector<Piece*> > > (0x0x7f22d364cd00) 0 empty
  std::_Iter_base<__gnu_cxx::__normal_iterator<Piece* const*, std::vector<Piece*> >, false> (0x0x7f22d36cc4e0) 0 empty

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

Class std::_Destroy_aux<false>
   size=1 align=1
   base size=0 base align=1
std::_Destroy_aux<false> (0x0x7f22d36cc660) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<const Piece::Type, bool (BoardMove::*)() const> > > > (0x0x7f22d36cc840) 0 empty

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

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

Class std::_Niter_base<__gnu_cxx::__normal_iterator<Piece* const*, std::vector<Piece*> > >
   size=1 align=1
   base size=1 base align=1
std::_Niter_base<__gnu_cxx::__normal_iterator<Piece* const*, std::vector<Piece*> > > (0x0x7f22d3707750) 0 empty
  std::_Iter_base<__gnu_cxx::__normal_iterator<Piece* const*, std::vector<Piece*> >, true> (0x0x7f22d36ccba0) 0 empty

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

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

Class std::_Niter_base<Piece**>
   size=1 align=1
   base size=1 base align=1
std::_Niter_base<Piece**> (0x0x7f22d37077b8) 0 empty
  std::_Iter_base<Piece**, false> (0x0x7f22d36ccd20) 0 empty

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

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

Class std::__is_pointer<Piece* const*>
   size=1 align=1
   base size=0 base align=1
std::__is_pointer<Piece* const*> (0x0x7f22d36ccea0) 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> (0x0x7f22d36ccf00) 0 empty

