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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Class std::__is_integer<long int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<long int> (0x0x7f0a07032780) 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> (0x0x7f0a070327e0) 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> (0x0x7f0a07032840) 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> (0x0x7f0a070328a0) 0 empty

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

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

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

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

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

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

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

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

Class __gnu_cxx::__add_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<char> (0x0x7f0a070971e0) 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> (0x0x7f0a07097240) 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> (0x0x7f0a070972a0) 0 empty

Class __gnu_cxx::__add_unsigned<int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<int> (0x0x7f0a07097300) 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> (0x0x7f0a07097360) 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> (0x0x7f0a070973c0) 0 empty

Class __gnu_cxx::__remove_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__remove_unsigned<char> (0x0x7f0a07097480) 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> (0x0x7f0a070974e0) 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> (0x0x7f0a07097540) 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> (0x0x7f0a070975a0) 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> (0x0x7f0a07097600) 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> (0x0x7f0a07097660) 0 empty

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

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

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

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

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

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

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

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

Class std::forward_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::forward_iterator_tag (0x0x7f0a072d2680) 0 empty
  std::input_iterator_tag (0x0x7f0a07097d20) 0 empty

Class std::bidirectional_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::bidirectional_iterator_tag (0x0x7f0a072d26e8) 0 empty
  std::forward_iterator_tag (0x0x7f0a072d2750) 0 empty
    std::input_iterator_tag (0x0x7f0a07097d80) 0 empty

Class std::random_access_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::random_access_iterator_tag (0x0x7f0a072d27b8) 0 empty
  std::bidirectional_iterator_tag (0x0x7f0a072d2820) 0 empty
    std::forward_iterator_tag (0x0x7f0a072d2888) 0 empty
      std::input_iterator_tag (0x0x7f0a07097de0) 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> (0x0x7f0a070dd120) 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 (0x0x7f0a070dd300) 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 (0x0x7f0a070dd360) 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 (0x0x7f0a070dd3c0) 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 (0x0x7f0a070dd420) 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 (0x0x7f0a070dd480) 0 empty

Class std::__iter_swap<true>
   size=1 align=1
   base size=0 base align=1
std::__iter_swap<true> (0x0x7f0a070dd8a0) 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> (0x0x7f0a070dda20) 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> (0x0x7f0a070ddb40) 0 empty

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Class std::_Bit_iterator
   size=16 align=8
   base size=12 base align=8
std::_Bit_iterator (0x0x7f0a072d2f70) 0
  std::_Bit_iterator_base (0x0x7f0a072d2000) 0
    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f0a06e00c00) 0 empty

Class std::_Bit_const_iterator
   size=16 align=8
   base size=12 base align=8
std::_Bit_const_iterator (0x0x7f0a072d20d0) 0
  std::_Bit_iterator_base (0x0x7f0a072d24e0) 0
    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f0a06e00c60) 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> (0x0x7f0a06e00de0) 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> (0x0x7f0a06e00e40) 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> (0x0x7f0a06f56208) 0
  std::iterator<std::random_access_iterator_tag, bool, long int, std::_Bit_reference*, std::_Bit_reference> (0x0x7f0a06e00ea0) 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> (0x0x7f0a06e00f00) 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> (0x0x7f0a06e00f60) 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> (0x0x7f0a06f56340) 0
  std::iterator<std::random_access_iterator_tag, bool, long int, const bool*, bool> (0x0x7f0a06fa4000) 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> > (0x0x7f0a06fa4060) 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> (0x0x7f0a06fa40c0) 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> (0x0x7f0a06f56478) 0 empty
  __gnu_cxx::__numeric_traits_integer<long int> (0x0x7f0a06fa4120) 0 empty

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

Class std::allocator<BoardPosition>
   size=1 align=1
   base size=1 base align=1
std::allocator<BoardPosition> (0x0x7f0a06f56750) 0 empty
  __gnu_cxx::new_allocator<BoardPosition> (0x0x7f0a06fa4300) 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> > (0x0x7f0a06fa4240) 0 empty

Class std::allocator<BoardPosition>::rebind<BoardPosition>
   size=1 align=1
   base size=0 base align=1
std::allocator<BoardPosition>::rebind<BoardPosition> (0x0x7f0a06fa4420) 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> (0x0x7f0a06fa43c0) 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 (0x0x7f0a06f568f0) 0
  std::allocator<BoardPosition> (0x0x7f0a06f56958) 0 empty
    __gnu_cxx::new_allocator<BoardPosition> (0x0x7f0a06fa4480) 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> > (0x0x7f0a06fa41e0) 0

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

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

Class std::allocator<Piece*>
   size=1 align=1
   base size=1 base align=1
std::allocator<Piece*> (0x0x7f0a06f56b60) 0 empty
  __gnu_cxx::new_allocator<Piece*> (0x0x7f0a06fa4720) 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*> > (0x0x7f0a06fa4660) 0 empty

Class std::allocator<Piece*>::rebind<Piece*>
   size=1 align=1
   base size=0 base align=1
std::allocator<Piece*>::rebind<Piece*> (0x0x7f0a06fa4840) 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*> (0x0x7f0a06fa47e0) 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 (0x0x7f0a06f56d00) 0
  std::allocator<Piece*> (0x0x7f0a06f56d68) 0 empty
    __gnu_cxx::new_allocator<Piece*> (0x0x7f0a06fa48a0) 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*> > (0x0x7f0a06fa4600) 0

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

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

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

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

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

Class std::allocator<StatSnapshot>::rebind<StatSnapshot>
   size=1 align=1
   base size=0 base align=1
std::allocator<StatSnapshot>::rebind<StatSnapshot> (0x0x7f0a06fa4f60) 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*> (0x0x7f0a06a09060) 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 (0x0x7f0a06f564e0) 0
  std::allocator<StatSnapshot> (0x0x7f0a06f565b0) 0 empty
    __gnu_cxx::new_allocator<StatSnapshot> (0x0x7f0a06a09000) 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> > (0x0x7f0a06fa4de0) 0

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

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

Class Piece
   size=88 align=8
   base size=88 base align=8
Piece (0x0x7f0a06fa4d20) 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*> (0x0x7f0a06a09240) 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> (0x0x7f0a06a092a0) 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*> (0x0x7f0a06f567b8) 0 empty
  std::_Iter_base<long unsigned int*, false> (0x0x7f0a06a09300) 0 empty

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

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

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

Class std::__is_scalar<int>
   size=1 align=1
   base size=1 base align=1
std::__is_scalar<int> (0x0x7f0a06a90000) 0 empty
  std::__traitor<std::__is_arithmetic<int>, std::__is_pointer<int> > (0x0x7f0a06a09540) 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> (0x0x7f0a06a095a0) 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> (0x0x7f0a06a09600) 0 empty

Class std::iterator_traits<const BoardPosition*>
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<const BoardPosition*> (0x0x7f0a06a096c0) 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> > (0x0x7f0a06a09660) 0

Class std::__are_same<const BoardPosition*, BoardPosition*>
   size=1 align=1
   base size=0 base align=1
std::__are_same<const BoardPosition*, BoardPosition*> (0x0x7f0a06a09720) 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> > (0x0x7f0a06a09780) 0 empty

Class std::iterator_traits<Piece* const*>
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<Piece* const*> (0x0x7f0a06a09840) 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*> > (0x0x7f0a06a097e0) 0

Class std::__are_same<Piece* const*, Piece**>
   size=1 align=1
   base size=0 base align=1
std::__are_same<Piece* const*, Piece**> (0x0x7f0a06a098a0) 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*> > (0x0x7f0a06a09900) 0 empty

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*> (0x0x7f0a06a09a20) 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> > > (0x0x7f0a06a09a80) 0 empty

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

Class std::__uninitialized_copy<false>
   size=1 align=1
   base size=0 base align=1
std::__uninitialized_copy<false> (0x0x7f0a06a09b40) 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*> > > (0x0x7f0a06a09ba0) 0 empty

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

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

Class std::allocator<StatSnapshot*>
   size=1 align=1
   base size=1 base align=1
std::allocator<StatSnapshot*> (0x0x7f0a06a908f0) 0 empty
  __gnu_cxx::new_allocator<StatSnapshot*> (0x0x7f0a06a09d80) 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*> > (0x0x7f0a06a09e40) 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*> > (0x0x7f0a06a09f60) 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*> > > (0x0x7f0a067c3060) 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> (0x0x7f0a067c3180) 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*> > > (0x0x7f0a067bb0d0) 0 empty
  std::_Iter_base<__gnu_cxx::__normal_iterator<Piece* const*, std::vector<Piece*> >, false> (0x0x7f0a067c32a0) 0 empty

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

Class std::_Destroy_aux<false>
   size=1 align=1
   base size=0 base align=1
std::_Destroy_aux<false> (0x0x7f0a067c3420) 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*> > > (0x0x7f0a067c3480) 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> (0x0x7f0a067c35a0) 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*> > > (0x0x7f0a067bb820) 0 empty
  std::_Iter_base<__gnu_cxx::__normal_iterator<Piece* const*, std::vector<Piece*> >, true> (0x0x7f0a067c36c0) 0 empty

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

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

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

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

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

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

