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

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

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

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

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

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

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

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

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

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

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

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

Class std::__is_integer<long int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<long int> (0x0x14f845e7ae40) 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> (0x0x14f845e7aea0) 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> (0x0x14f845e7af00) 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> (0x0x14f845e7af60) 0 empty

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

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

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

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

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

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

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

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

Class __gnu_cxx::__add_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<char> (0x0x14f845ee28a0) 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> (0x0x14f845ee2900) 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> (0x0x14f845ee2960) 0 empty

Class __gnu_cxx::__add_unsigned<int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<int> (0x0x14f845ee29c0) 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> (0x0x14f845ee2a20) 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> (0x0x14f845ee2a80) 0 empty

Class __gnu_cxx::__remove_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__remove_unsigned<char> (0x0x14f845ee2b40) 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> (0x0x14f845ee2ba0) 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> (0x0x14f845ee2c00) 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> (0x0x14f845ee2c60) 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> (0x0x14f845ee2cc0) 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> (0x0x14f845ee2d20) 0 empty

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

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

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

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

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

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

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

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

Class std::forward_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::forward_iterator_tag (0x0x14f845d2d618) 0 empty
  std::input_iterator_tag (0x0x14f845a13420) 0 empty

Class std::bidirectional_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::bidirectional_iterator_tag (0x0x14f845d2d680) 0 empty
  std::forward_iterator_tag (0x0x14f845d2d6e8) 0 empty
    std::input_iterator_tag (0x0x14f845a13480) 0 empty

Class std::random_access_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::random_access_iterator_tag (0x0x14f845d2d750) 0 empty
  std::bidirectional_iterator_tag (0x0x14f845d2d7b8) 0 empty
    std::forward_iterator_tag (0x0x14f845d2d820) 0 empty
      std::input_iterator_tag (0x0x14f845a134e0) 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> (0x0x14f845a137e0) 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 (0x0x14f845a139c0) 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 (0x0x14f845a13a20) 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 (0x0x14f845a13a80) 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 (0x0x14f845a13ae0) 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 (0x0x14f845a13b40) 0 empty

Class std::__iter_swap<true>
   size=1 align=1
   base size=0 base align=1
std::__iter_swap<true> (0x0x14f845a13f60) 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> (0x0x14f845aec120) 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> (0x0x14f845aec240) 0 empty

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Class std::_Bit_iterator
   size=16 align=8
   base size=12 base align=8
std::_Bit_iterator (0x0x14f845d2df70) 0
  std::_Bit_iterator_base (0x0x14f845d2d000) 0
    std::iterator<std::random_access_iterator_tag, bool> (0x0x14f845bdb300) 0 empty

Class std::_Bit_const_iterator
   size=16 align=8
   base size=12 base align=8
std::_Bit_const_iterator (0x0x14f845d2d0d0) 0
  std::_Bit_iterator_base (0x0x14f845d2da28) 0
    std::iterator<std::random_access_iterator_tag, bool> (0x0x14f845bdb360) 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> (0x0x14f845bdb4e0) 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> (0x0x14f845bdb540) 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> (0x0x14f8458be208) 0
  std::iterator<std::random_access_iterator_tag, bool, long int, std::_Bit_reference*, std::_Bit_reference> (0x0x14f845bdb5a0) 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> (0x0x14f845bdb600) 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> (0x0x14f845bdb660) 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> (0x0x14f8458be340) 0
  std::iterator<std::random_access_iterator_tag, bool, long int, const bool*, bool> (0x0x14f845bdb6c0) 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> > (0x0x14f845bdb720) 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> (0x0x14f845bdb780) 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> (0x0x14f8458be478) 0 empty
  __gnu_cxx::__numeric_traits_integer<long int> (0x0x14f845bdb7e0) 0 empty

Class __gnu_cxx::new_allocator<Sudoku::Move*>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<Sudoku::Move*> (0x0x14f845bdb9c0) 0 empty

Class std::allocator<Sudoku::Move*>
   size=1 align=1
   base size=1 base align=1
std::allocator<Sudoku::Move*> (0x0x14f8458be750) 0 empty
  __gnu_cxx::new_allocator<Sudoku::Move*> (0x0x14f845bdba20) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<Sudoku::Move*> >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<Sudoku::Move*> > (0x0x14f845bdb960) 0 empty

Class std::allocator<Sudoku::Move*>::rebind<Sudoku::Move*>
   size=1 align=1
   base size=0 base align=1
std::allocator<Sudoku::Move*>::rebind<Sudoku::Move*> (0x0x14f845bdbb40) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<Sudoku::Move*> >::rebind<Sudoku::Move*>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<Sudoku::Move*> >::rebind<Sudoku::Move*> (0x0x14f845bdbae0) 0 empty

Class std::_Vector_base<Sudoku::Move*, std::allocator<Sudoku::Move*> >::_Vector_impl
   size=24 align=8
   base size=24 base align=8
std::_Vector_base<Sudoku::Move*, std::allocator<Sudoku::Move*> >::_Vector_impl (0x0x14f8458be8f0) 0
  std::allocator<Sudoku::Move*> (0x0x14f8458be958) 0 empty
    __gnu_cxx::new_allocator<Sudoku::Move*> (0x0x14f845bdbba0) 0 empty

Class std::_Vector_base<Sudoku::Move*, std::allocator<Sudoku::Move*> >
   size=24 align=8
   base size=24 base align=8
std::_Vector_base<Sudoku::Move*, std::allocator<Sudoku::Move*> > (0x0x14f845bdb900) 0

Class std::vector<Sudoku::Move*, std::allocator<Sudoku::Move*> >
   size=24 align=8
   base size=24 base align=8
std::vector<Sudoku::Move*, std::allocator<Sudoku::Move*> > (0x0x14f8458be9c0) 0
  std::_Vector_base<Sudoku::Move*, std::allocator<Sudoku::Move*> > (0x0x14f845bdbc00) 0

Class Sudoku::Vector<Sudoku::Move*>
   size=24 align=8
   base size=24 base align=8
Sudoku::Vector<Sudoku::Move*> (0x0x14f8458beb60) 0
  std::vector<Sudoku::Move*, std::allocator<Sudoku::Move*> > (0x0x14f8458bebc8) 0
    std::_Vector_base<Sudoku::Move*, std::allocator<Sudoku::Move*> > (0x0x14f845bdbd20) 0

Class Sudoku::History
   size=32 align=8
   base size=28 base align=8
Sudoku::History (0x0x14f845bdb8a0) 0

Vtable for Sudoku::Move
Sudoku::Move::_ZTVN6Sudoku4MoveE: 6u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTIN6Sudoku4MoveE)
16    0u
24    0u
32    (int (*)(...))__cxa_pure_virtual
40    (int (*)(...))__cxa_pure_virtual

Class Sudoku::Move
   size=8 align=8
   base size=8 base align=8
Sudoku::Move (0x0x14f845bdbd80) 0 nearly-empty
    vptr=((& Sudoku::Move::_ZTVN6Sudoku4MoveE) + 16u)

Vtable for Sudoku::SetMove
Sudoku::SetMove::_ZTVN6Sudoku7SetMoveE: 6u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTIN6Sudoku7SetMoveE)
16    (int (*)(...))Sudoku::SetMove::~SetMove
24    (int (*)(...))Sudoku::SetMove::~SetMove
32    (int (*)(...))Sudoku::SetMove::execute
40    (int (*)(...))Sudoku::SetMove::takeBack

Class Sudoku::SetMove
   size=32 align=8
   base size=28 base align=8
Sudoku::SetMove (0x0x14f8458bec30) 0
    vptr=((& Sudoku::SetMove::_ZTVN6Sudoku7SetMoveE) + 16u)
  Sudoku::Move (0x0x14f845bdbde0) 0 nearly-empty
      primary-for Sudoku::SetMove (0x0x14f8458bec30)

Class Sudoku::Pos
   size=4 align=4
   base size=4 base align=4
Sudoku::Pos (0x0x14f845bdbe40) 0

Vtable for Sudoku::Numbers
Sudoku::Numbers::_ZTVN6Sudoku7NumbersE: 10u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTIN6Sudoku7NumbersE)
16    (int (*)(...))Sudoku::Numbers::~Numbers
24    (int (*)(...))Sudoku::Numbers::~Numbers
32    (int (*)(...))Sudoku::Numbers::get_dump
40    (int (*)(...))Sudoku::Numbers::reset
48    (int (*)(...))Sudoku::Numbers::set_contents
56    (int (*)(...))Sudoku::Numbers::set
64    (int (*)(...))Sudoku::Numbers::get
72    (int (*)(...))Sudoku::Numbers::load_from_dump

Class Sudoku::Numbers
   size=344 align=8
   base size=344 base align=8
Sudoku::Numbers (0x0x14f845bdbea0) 0
    vptr=((& Sudoku::Numbers::_ZTVN6Sudoku7NumbersE) + 16u)

Vtable for Sudoku::Puzzle
Sudoku::Puzzle::_ZTVN6Sudoku6PuzzleE: 11u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTIN6Sudoku6PuzzleE)
16    (int (*)(...))Sudoku::Puzzle::~Puzzle
24    (int (*)(...))Sudoku::Puzzle::~Puzzle
32    (int (*)(...))Sudoku::Puzzle::get_dump
40    (int (*)(...))Sudoku::Puzzle::reset
48    (int (*)(...))Sudoku::Numbers::set_contents
56    (int (*)(...))Sudoku::Puzzle::set
64    (int (*)(...))Sudoku::Numbers::get
72    (int (*)(...))Sudoku::Puzzle::load_from_dump
80    (int (*)(...))Sudoku::Puzzle::reset

Class Sudoku::Puzzle
   size=2176 align=8
   base size=2176 base align=8
Sudoku::Puzzle (0x0x14f8458bec98) 0
    vptr=((& Sudoku::Puzzle::_ZTVN6Sudoku6PuzzleE) + 16u)
  Sudoku::Numbers (0x0x14f845bdbf00) 0
      primary-for Sudoku::Puzzle (0x0x14f8458bec98)

Vtable for Sudoku::PuzzleGame
Sudoku::PuzzleGame::_ZTVN6Sudoku10PuzzleGameE: 12u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTIN6Sudoku10PuzzleGameE)
16    (int (*)(...))Sudoku::PuzzleGame::~PuzzleGame
24    (int (*)(...))Sudoku::PuzzleGame::~PuzzleGame
32    (int (*)(...))Sudoku::Puzzle::get_dump
40    (int (*)(...))Sudoku::PuzzleGame::reset
48    (int (*)(...))Sudoku::Numbers::set_contents
56    (int (*)(...))Sudoku::Puzzle::set
64    (int (*)(...))Sudoku::Numbers::get
72    (int (*)(...))Sudoku::Puzzle::load_from_dump
80    (int (*)(...))Sudoku::PuzzleGame::reset
88    (int (*)(...))Sudoku::PuzzleGame::set_with_history

Class Sudoku::PuzzleGame
   size=2192 align=8
   base size=2192 base align=8
Sudoku::PuzzleGame (0x0x14f8458bed00) 0
    vptr=((& Sudoku::PuzzleGame::_ZTVN6Sudoku10PuzzleGameE) + 16u)
  Sudoku::Puzzle (0x0x14f8458bed68) 0
      primary-for Sudoku::PuzzleGame (0x0x14f8458bed00)
    Sudoku::Numbers (0x0x14f845bdbf60) 0
        primary-for Sudoku::Puzzle (0x0x14f8458bed68)

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*> (0x0x14f84564d000) 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> (0x0x14f84564d060) 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*> (0x0x14f8458bedd0) 0 empty
  std::_Iter_base<long unsigned int*, false> (0x0x14f84564d0c0) 0 empty

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

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

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

Class std::__is_scalar<int>
   size=1 align=1
   base size=1 base align=1
std::__is_scalar<int> (0x0x14f8458bef70) 0 empty
  std::__traitor<std::__is_arithmetic<int>, std::__is_pointer<int> > (0x0x14f84564d300) 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> (0x0x14f84564d360) 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> (0x0x14f84564d3c0) 0 empty

Class std::iterator_traits<Sudoku::Move**>
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<Sudoku::Move**> (0x0x14f84564d480) 0 empty

Class __gnu_cxx::__normal_iterator<Sudoku::Move**, std::vector<Sudoku::Move*, std::allocator<Sudoku::Move*> > >
   size=8 align=8
   base size=8 base align=8
__gnu_cxx::__normal_iterator<Sudoku::Move**, std::vector<Sudoku::Move*, std::allocator<Sudoku::Move*> > > (0x0x14f84564d420) 0

Class std::__are_same<Sudoku::Move**, Sudoku::Move**>
   size=1 align=1
   base size=0 base align=1
std::__are_same<Sudoku::Move**, Sudoku::Move**> (0x0x14f84564d4e0) 0 empty

Class __gnu_cxx::__enable_if<true, std::vector<Sudoku::Move*, std::allocator<Sudoku::Move*> > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__enable_if<true, std::vector<Sudoku::Move*, std::allocator<Sudoku::Move*> > > (0x0x14f84564d540) 0 empty

Class std::__is_move_iterator<Sudoku::Move**>
   size=1 align=1
   base size=0 base align=1
std::__is_move_iterator<Sudoku::Move**> (0x0x14f84564d6c0) 0 empty

Class std::_Iter_base<Sudoku::Move**, false>
   size=1 align=1
   base size=0 base align=1
std::_Iter_base<Sudoku::Move**, false> (0x0x14f84564d720) 0 empty

Class std::_Miter_base<Sudoku::Move**>
   size=1 align=1
   base size=1 base align=1
std::_Miter_base<Sudoku::Move**> (0x0x14f8456b3000) 0 empty
  std::_Iter_base<Sudoku::Move**, false> (0x0x14f84564d780) 0 empty

Class std::__is_normal_iterator<Sudoku::Move**>
   size=1 align=1
   base size=0 base align=1
std::__is_normal_iterator<Sudoku::Move**> (0x0x14f84564d7e0) 0 empty

Class std::_Niter_base<Sudoku::Move**>
   size=1 align=1
   base size=1 base align=1
std::_Niter_base<Sudoku::Move**> (0x0x14f8456b3340) 0 empty
  std::_Iter_base<Sudoku::Move**, false> (0x0x14f84564d840) 0 empty

Class std::__are_same<Sudoku::Move*, Sudoku::Move*>
   size=1 align=1
   base size=0 base align=1
std::__are_same<Sudoku::Move*, Sudoku::Move*> (0x0x14f84564d8a0) 0 empty

Class std::__is_pointer<Sudoku::Move**>
   size=1 align=1
   base size=0 base align=1
std::__is_pointer<Sudoku::Move**> (0x0x14f84564d900) 0 empty

Class std::__copy_move_backward<false, true, std::random_access_iterator_tag>
   size=1 align=1
   base size=0 base align=1
std::__copy_move_backward<false, true, std::random_access_iterator_tag> (0x0x14f84564d960) 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> (0x0x14f84564d9c0) 0 empty

