Vtable for ZThread::Runnable
ZThread::Runnable::_ZTVN7ZThread8RunnableE: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTIN7ZThread8RunnableE)
8     0u
12    0u
16    (int (*)(...))__cxa_pure_virtual

Class ZThread::Runnable
   size=4 align=4
   base size=4 base align=4
ZThread::Runnable (0x0x7f52b8e6b780) 0 nearly-empty
    vptr=((& ZThread::Runnable::_ZTVN7ZThread8RunnableE) + 8u)

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

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

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

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

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

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

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

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

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

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

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

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

Class std::__is_integer<long int>
   size=1 align=1
   base size=0 base align=1
std::__is_integer<long int> (0x0x7f52b8e6bf60) 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> (0x0x7f52b87f2000) 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> (0x0x7f52b87f2060) 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> (0x0x7f52b87f20c0) 0 empty

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

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

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

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

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

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

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

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

Class __gnu_cxx::__add_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<char> (0x0x7f52b87f29c0) 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> (0x0x7f52b87f2a20) 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> (0x0x7f52b87f2a80) 0 empty

Class __gnu_cxx::__add_unsigned<int>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__add_unsigned<int> (0x0x7f52b87f2ae0) 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> (0x0x7f52b87f2b40) 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> (0x0x7f52b87f2ba0) 0 empty

Class __gnu_cxx::__remove_unsigned<char>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__remove_unsigned<char> (0x0x7f52b87f2c60) 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> (0x0x7f52b87f2cc0) 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> (0x0x7f52b87f2d20) 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> (0x0x7f52b87f2d80) 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> (0x0x7f52b87f2de0) 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> (0x0x7f52b87f2e40) 0 empty

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

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

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

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

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

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

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

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

Class std::forward_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::forward_iterator_tag (0x0x7f52b8e90ea0) 0 empty
  std::input_iterator_tag (0x0x7f52b88234e0) 0 empty

Class std::bidirectional_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::bidirectional_iterator_tag (0x0x7f52b8e90f08) 0 empty
  std::forward_iterator_tag (0x0x7f52b8e90f70) 0 empty
    std::input_iterator_tag (0x0x7f52b8823540) 0 empty

Class std::random_access_iterator_tag
   size=1 align=1
   base size=1 base align=1
std::random_access_iterator_tag (0x0x7f52b8cd7000) 0 empty
  std::bidirectional_iterator_tag (0x0x7f52b883b000) 0 empty
    std::forward_iterator_tag (0x0x7f52b883b068) 0 empty
      std::input_iterator_tag (0x0x7f52b88235a0) 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> (0x0x7f52b88238a0) 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 (0x0x7f52b8823a80) 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 (0x0x7f52b8823ae0) 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 (0x0x7f52b8823b40) 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 (0x0x7f52b8823ba0) 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 (0x0x7f52b8823c00) 0 empty

Class std::__iter_swap<true>
   size=1 align=1
   base size=0 base align=1
std::__iter_swap<true> (0x0x7f52b88e4060) 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> (0x0x7f52b88e41e0) 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> (0x0x7f52b88e4300) 0 empty

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

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

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

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

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

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

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

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

Class <anonymous struct>
   size=16 align=4
   base size=16 base align=4
<anonymous struct> (0x0x7f52b88e4840) 0

Class __locale_struct
   size=116 align=4
   base size=116 base align=4
__locale_struct (0x0x7f52b88e48a0) 0

Class <anonymous struct>
   size=128 align=4
   base size=128 base align=4
<anonymous struct> (0x0x7f52b88e4900) 0

Class timespec
   size=8 align=4
   base size=8 base align=4
timespec (0x0x7f52b88e4960) 0

Class timeval
   size=8 align=4
   base size=8 base align=4
timeval (0x0x7f52b88e49c0) 0

Class <anonymous struct>
   size=128 align=4
   base size=128 base align=4
<anonymous struct> (0x0x7f52b88e4a20) 0

Class pthread_attr_t
   size=36 align=4
   base size=36 base align=4
pthread_attr_t (0x0x7f52b88e4a80) 0

Class __pthread_internal_slist
   size=4 align=4
   base size=4 base align=4
__pthread_internal_slist (0x0x7f52b88e4ae0) 0

Class <anonymous union>::__pthread_mutex_s::<anonymous union>::<anonymous struct>
   size=4 align=2
   base size=4 base align=2
<anonymous union>::__pthread_mutex_s::<anonymous union>::<anonymous struct> (0x0x7f52b88e4c60) 0

Class <anonymous union>::__pthread_mutex_s::<anonymous union>
   size=4 align=4
   base size=4 base align=4
<anonymous union>::__pthread_mutex_s::<anonymous union> (0x0x7f52b88e4c00) 0

Class <anonymous union>::__pthread_mutex_s
   size=24 align=4
   base size=24 base align=4
<anonymous union>::__pthread_mutex_s (0x0x7f52b88e4ba0) 0

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

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

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

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

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

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

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

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

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

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

Class random_data
   size=28 align=4
   base size=28 base align=4
random_data (0x0x7f52b8996060) 0

Class drand48_data
   size=24 align=4
   base size=24 base align=4
drand48_data (0x0x7f52b89960c0) 0

Vtable for std::exception
std::exception::_ZTVSt9exception: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTISt9exception)
8     (int (*)(...))std::exception::~exception
12    (int (*)(...))std::exception::~exception
16    (int (*)(...))std::exception::what

Class std::exception
   size=4 align=4
   base size=4 base align=4
std::exception (0x0x7f52b8996180) 0 nearly-empty
    vptr=((& std::exception::_ZTVSt9exception) + 8u)

Vtable for std::bad_exception
std::bad_exception::_ZTVSt13bad_exception: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTISt13bad_exception)
8     (int (*)(...))std::bad_exception::~bad_exception
12    (int (*)(...))std::bad_exception::~bad_exception
16    (int (*)(...))std::bad_exception::what

Class std::bad_exception
   size=4 align=4
   base size=4 base align=4
std::bad_exception (0x0x7f52b883b340) 0 nearly-empty
    vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 8u)
  std::exception (0x0x7f52b89961e0) 0 nearly-empty
      primary-for std::bad_exception (0x0x7f52b883b340)

Vtable for std::bad_alloc
std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTISt9bad_alloc)
8     (int (*)(...))std::bad_alloc::~bad_alloc
12    (int (*)(...))std::bad_alloc::~bad_alloc
16    (int (*)(...))std::bad_alloc::what

Class std::bad_alloc
   size=4 align=4
   base size=4 base align=4
std::bad_alloc (0x0x7f52b883b3a8) 0 nearly-empty
    vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 8u)
  std::exception (0x0x7f52b8996240) 0 nearly-empty
      primary-for std::bad_alloc (0x0x7f52b883b3a8)

Vtable for std::bad_array_length
std::bad_array_length::_ZTVSt16bad_array_length: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTISt16bad_array_length)
8     (int (*)(...))std::bad_array_length::~bad_array_length
12    (int (*)(...))std::bad_array_length::~bad_array_length
16    (int (*)(...))std::bad_array_length::what

Class std::bad_array_length
   size=4 align=4
   base size=4 base align=4
std::bad_array_length (0x0x7f52b883b410) 0 nearly-empty
    vptr=((& std::bad_array_length::_ZTVSt16bad_array_length) + 8u)
  std::bad_alloc (0x0x7f52b883b478) 0 nearly-empty
      primary-for std::bad_array_length (0x0x7f52b883b410)
    std::exception (0x0x7f52b89962a0) 0 nearly-empty
        primary-for std::bad_alloc (0x0x7f52b883b478)

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

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

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

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

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

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

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> > (0x0x7f52b8996a20) 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> (0x0x7f52b8996a80) 0 empty

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

Class std::__uninitialized_construct_buf_dispatch<true>
   size=1 align=1
   base size=0 base align=1
std::__uninitialized_construct_buf_dispatch<true> (0x0x7f52b8996c00) 0 empty

Class ZThread::NonCopyable
   size=1 align=1
   base size=0 base align=1
ZThread::NonCopyable (0x0x7f52b8381540) 0 empty

Class ZThread::AtomicCount
   size=4 align=4
   base size=4 base align=4
ZThread::AtomicCount (0x0x7f52b883b7b8) 0
  ZThread::NonCopyable (0x0x7f52b83815a0) 0 empty

Vtable for ZThread::ThreadLocalImpl::Value
ZThread::ThreadLocalImpl::Value::_ZTVN7ZThread15ThreadLocalImpl5ValueE: 6u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTIN7ZThread15ThreadLocalImpl5ValueE)
8     0u
12    0u
16    (int (*)(...))__cxa_pure_virtual
20    (int (*)(...))__cxa_pure_virtual

Class ZThread::ThreadLocalImpl::Value
   size=4 align=4
   base size=4 base align=4
ZThread::ThreadLocalImpl::Value (0x0x7f52b83816c0) 0 nearly-empty
    vptr=((& ZThread::ThreadLocalImpl::Value::_ZTVN7ZThread15ThreadLocalImpl5ValueE) + 8u)

Class ZThread::ThreadLocalImpl::ChildValueFn
   size=1 align=1
   base size=0 base align=1
ZThread::ThreadLocalImpl::ChildValueFn (0x0x7f52b8381780) 0 empty

Class ZThread::ThreadLocalImpl::UniqueChildValueFn
   size=1 align=1
   base size=1 base align=1
ZThread::ThreadLocalImpl::UniqueChildValueFn (0x0x7f52b883b8f0) 0 empty
  ZThread::ThreadLocalImpl::ChildValueFn (0x0x7f52b83817e0) 0 empty

Class ZThread::ThreadLocalImpl::InheritableValueFn
   size=1 align=1
   base size=0 base align=1
ZThread::ThreadLocalImpl::InheritableValueFn (0x0x7f52b8381840) 0 empty

Class ZThread::ThreadLocalImpl
   size=1 align=1
   base size=1 base align=1
ZThread::ThreadLocalImpl (0x0x7f52b883b820) 0 empty
  ZThread::NonCopyable (0x0x7f52b8381660) 0 empty

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

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

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

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

Class lconv
   size=56 align=4
   base size=56 base align=4
lconv (0x0x7f52b8381f00) 0

Vtable for __cxxabiv1::__forced_unwind
__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
8     0u
12    0u
16    (int (*)(...))__cxa_pure_virtual

Class __cxxabiv1::__forced_unwind
   size=4 align=4
   base size=4 base align=4
__cxxabiv1::__forced_unwind (0x0x7f52b8381f60) 0 nearly-empty
    vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 8u)

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

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

Class <anonymous struct>
   size=128 align=4
   base size=128 base align=4
<anonymous struct> (0x0x7f52b819cb40) 0

Class timex
   size=128 align=4
   base size=128 base align=4
timex (0x0x7f52b819cba0) 0

Class tm
   size=44 align=4
   base size=44 base align=4
tm (0x0x7f52b819cc00) 0

Class itimerspec
   size=16 align=4
   base size=16 base align=4
itimerspec (0x0x7f52b819cc60) 0

Class _pthread_cleanup_buffer
   size=16 align=4
   base size=16 base align=4
_pthread_cleanup_buffer (0x0x7f52b819ccc0) 0

Class <anonymous struct>::<anonymous struct>
   size=28 align=4
   base size=28 base align=4
<anonymous struct>::<anonymous struct> (0x0x7f52b819cd80) 0

Class <anonymous struct>
   size=44 align=4
   base size=44 base align=4
<anonymous struct> (0x0x7f52b819cd20) 0

Class __pthread_cleanup_frame
   size=16 align=4
   base size=16 base align=4
__pthread_cleanup_frame (0x0x7f52b819cde0) 0

Class __pthread_cleanup_class
   size=16 align=4
   base size=16 base align=4
__pthread_cleanup_class (0x0x7f52b819ce40) 0

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

Class std::basic_string<char>::_Alloc_hider
   size=4 align=4
   base size=4 base align=4
std::basic_string<char>::_Alloc_hider (0x0x7f52b8170958) 0
  std::allocator<char> (0x0x7f52b81709c0) 0 empty
    __gnu_cxx::new_allocator<char> (0x0x7f52b7e691e0) 0 empty

Class std::basic_string<char>
   size=4 align=4
   base size=4 base align=4
std::basic_string<char> (0x0x7f52b7e69120) 0

Class std::basic_string<char>::_Rep_base
   size=12 align=4
   base size=12 base align=4
std::basic_string<char>::_Rep_base (0x0x7f52b7e69240) 0

Class std::basic_string<char>::_Rep
   size=12 align=4
   base size=12 base align=4
std::basic_string<char>::_Rep (0x0x7f52b8170bc8) 0
  std::basic_string<char>::_Rep_base (0x0x7f52b7e692a0) 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> (0x0x7f52b7e69360) 0 empty

Class std::basic_string<wchar_t>::_Alloc_hider
   size=4 align=4
   base size=4 base align=4
std::basic_string<wchar_t>::_Alloc_hider (0x0x7f52b8170d00) 0
  std::allocator<wchar_t> (0x0x7f52b8170d68) 0 empty
    __gnu_cxx::new_allocator<wchar_t> (0x0x7f52b7e693c0) 0 empty

Class std::basic_string<wchar_t>
   size=4 align=4
   base size=4 base align=4
std::basic_string<wchar_t> (0x0x7f52b7e69300) 0

Class std::basic_string<wchar_t>::_Rep_base
   size=12 align=4
   base size=12 base align=4
std::basic_string<wchar_t>::_Rep_base (0x0x7f52b7e69420) 0

Class std::allocator<wchar_t>::rebind<char>
   size=1 align=1
   base size=0 base align=1
std::allocator<wchar_t>::rebind<char> (0x0x7f52b7e694e0) 0 empty

Class std::basic_string<wchar_t>::_Rep
   size=12 align=4
   base size=12 base align=4
std::basic_string<wchar_t>::_Rep (0x0x7f52b8170dd0) 0
  std::basic_string<wchar_t>::_Rep_base (0x0x7f52b7e69480) 0

Class ZThread::Synchronization_Exception
   size=4 align=4
   base size=4 base align=4
ZThread::Synchronization_Exception (0x0x7f52b7e69540) 0

Class ZThread::Interrupted_Exception
   size=4 align=4
   base size=4 base align=4
ZThread::Interrupted_Exception (0x0x7f52b8170ea0) 0
  ZThread::Synchronization_Exception (0x0x7f52b7e695a0) 0

Class ZThread::Deadlock_Exception
   size=4 align=4
   base size=4 base align=4
ZThread::Deadlock_Exception (0x0x7f52b8170f08) 0
  ZThread::Synchronization_Exception (0x0x7f52b7e69600) 0

Class ZThread::InvalidOp_Exception
   size=4 align=4
   base size=4 base align=4
ZThread::InvalidOp_Exception (0x0x7f52b8170f70) 0
  ZThread::Synchronization_Exception (0x0x7f52b7e69660) 0

Class ZThread::Initialization_Exception
   size=4 align=4
   base size=4 base align=4
ZThread::Initialization_Exception (0x0x7f52b8170888) 0
  ZThread::Synchronization_Exception (0x0x7f52b7e696c0) 0

Class ZThread::Cancellation_Exception
   size=4 align=4
   base size=4 base align=4
ZThread::Cancellation_Exception (0x0x7f52b81708f0) 0
  ZThread::Synchronization_Exception (0x0x7f52b7e69720) 0

Class ZThread::Timeout_Exception
   size=4 align=4
   base size=4 base align=4
ZThread::Timeout_Exception (0x0x7f52b8170c98) 0
  ZThread::Synchronization_Exception (0x0x7f52b7e69780) 0

Class ZThread::NoSuchElement_Exception
   size=1 align=1
   base size=0 base align=1
ZThread::NoSuchElement_Exception (0x0x7f52b7e697e0) 0 empty

Class ZThread::InvalidTask_Exception
   size=4 align=4
   base size=4 base align=4
ZThread::InvalidTask_Exception (0x0x7f52b7ce9000) 0
  ZThread::InvalidOp_Exception (0x0x7f52b7ce9068) 0
    ZThread::Synchronization_Exception (0x0x7f52b7e69840) 0

Class ZThread::BrokenBarrier_Exception
   size=4 align=4
   base size=4 base align=4
ZThread::BrokenBarrier_Exception (0x0x7f52b7ce90d0) 0
  ZThread::Synchronization_Exception (0x0x7f52b7e698a0) 0

Class ZThread::Future_Exception
   size=4 align=4
   base size=4 base align=4
ZThread::Future_Exception (0x0x7f52b7ce9138) 0
  ZThread::Synchronization_Exception (0x0x7f52b7e69900) 0

Vtable for ZThread::Cancelable
ZThread::Cancelable::_ZTVN7ZThread10CancelableE: 6u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTIN7ZThread10CancelableE)
8     0u
12    0u
16    (int (*)(...))__cxa_pure_virtual
20    (int (*)(...))__cxa_pure_virtual

Class ZThread::Cancelable
   size=4 align=4
   base size=4 base align=4
ZThread::Cancelable (0x0x7f52b7e69960) 0 nearly-empty
    vptr=((& ZThread::Cancelable::_ZTVN7ZThread10CancelableE) + 8u)

Class ZThread::CountedPtr<ZThread::Runnable, ZThread::AtomicCount>
   size=8 align=4
   base size=8 base align=4
ZThread::CountedPtr<ZThread::Runnable, ZThread::AtomicCount> (0x0x7f52b7e699c0) 0

Class ZThread::Task
   size=8 align=4
   base size=8 base align=4
ZThread::Task (0x0x7f52b7ce91a0) 0
  ZThread::CountedPtr<ZThread::Runnable, ZThread::AtomicCount> (0x0x7f52b7e69a20) 0

Vtable for ZThread::Waitable
ZThread::Waitable::_ZTVN7ZThread8WaitableE: 6u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTIN7ZThread8WaitableE)
8     0u
12    0u
16    (int (*)(...))__cxa_pure_virtual
20    (int (*)(...))__cxa_pure_virtual

Class ZThread::Waitable
   size=4 align=4
   base size=4 base align=4
ZThread::Waitable (0x0x7f52b7e69a80) 0 nearly-empty
    vptr=((& ZThread::Waitable::_ZTVN7ZThread8WaitableE) + 8u)

Vtable for ZThread::Thread
ZThread::Thread::_ZTVN7ZThread6ThreadE: 14u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTIN7ZThread6ThreadE)
8     (int (*)(...))ZThread::Thread::~Thread
12    (int (*)(...))ZThread::Thread::~Thread
16    (int (*)(...))ZThread::Thread::cancel
20    (int (*)(...))ZThread::Thread::isCanceled
24    (int (*)(...))ZThread::Thread::wait
28    (int (*)(...))ZThread::Thread::wait
32    (int (*)(...))-4
36    (int (*)(...))(& _ZTIN7ZThread6ThreadE)
40    (int (*)(...))ZThread::Thread::_ZThn4_N7ZThread6ThreadD1Ev
44    (int (*)(...))ZThread::Thread::_ZThn4_N7ZThread6ThreadD0Ev
48    (int (*)(...))ZThread::Thread::_ZThn4_N7ZThread6Thread4waitEv
52    (int (*)(...))ZThread::Thread::_ZThn4_N7ZThread6Thread4waitEm

Class ZThread::Thread
   size=12 align=4
   base size=12 base align=4
ZThread::Thread (0x0x7f52b7d214b0) 0
    vptr=((& ZThread::Thread::_ZTVN7ZThread6ThreadE) + 8u)
  ZThread::Cancelable (0x0x7f52b7e69ae0) 0 nearly-empty
      primary-for ZThread::Thread (0x0x7f52b7d214b0)
  ZThread::Waitable (0x0x7f52b7e69b40) 4 nearly-empty
      vptr=((& ZThread::Thread::_ZTVN7ZThread6ThreadE) + 40u)
  ZThread::NonCopyable (0x0x7f52b7e69ba0) 0 empty

Class ZThread::LockedScope
   size=1 align=1
   base size=0 base align=1
ZThread::LockedScope (0x0x7f52b7e69cc0) 0 empty

Class ZThread::UnlockedScope
   size=1 align=1
   base size=0 base align=1
ZThread::UnlockedScope (0x0x7f52b7e69d20) 0 empty

Class ZThread::OverlappedScope
   size=1 align=1
   base size=0 base align=1
ZThread::OverlappedScope (0x0x7f52b7e69de0) 0 empty

Class ZThread::Status
   size=4 align=2
   base size=4 base align=2
ZThread::Status (0x0x7f52b7e69f60) 0

Class ZThread::FastLock
   size=24 align=4
   base size=24 base align=4
ZThread::FastLock (0x0x7f52b7ce92d8) 0
  ZThread::NonCopyable (0x0x7f52b7d70000) 0 empty

Class ZThread::Monitor
   size=108 align=4
   base size=105 base align=4
ZThread::Monitor (0x0x7f52b7d75ee0) 0
  ZThread::Status (0x0x7f52b7d70060) 0
  ZThread::NonCopyable (0x0x7f52b7d700c0) 0 empty

Class ZThread::ThreadOps
   size=4 align=4
   base size=4 base align=4
ZThread::ThreadOps (0x0x7f52b7d70180) 0

Class ZThread::State
   size=4 align=4
   base size=4 base align=4
ZThread::State (0x0x7f52b7d701e0) 0

Class std::_Rb_tree_node_base
   size=16 align=4
   base size=16 base align=4
std::_Rb_tree_node_base (0x0x7f52b7d70240) 0

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

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

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

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

Vtable for ZThread::IntrusivePtr<ZThread::ThreadImpl, ZThread::FastLock>
ZThread::IntrusivePtr<ZThread::ThreadImpl, ZThread::FastLock>::_ZTVN7ZThread12IntrusivePtrINS_10ThreadImplENS_8FastLockEEE: 4u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTIN7ZThread12IntrusivePtrINS_10ThreadImplENS_8FastLockEEE)
8     (int (*)(...))ZThread::IntrusivePtr<T, LockType>::~IntrusivePtr<ZThread::ThreadImpl, ZThread::FastLock>
12    (int (*)(...))ZThread::IntrusivePtr<T, LockType>::~IntrusivePtr<ZThread::ThreadImpl, ZThread::FastLock>

Class ZThread::IntrusivePtr<ZThread::ThreadImpl, ZThread::FastLock>
   size=32 align=4
   base size=32 base align=4
ZThread::IntrusivePtr<ZThread::ThreadImpl, ZThread::FastLock> (0x0x7f52b7ce9820) 0
    vptr=((& ZThread::IntrusivePtr<ZThread::ThreadImpl, ZThread::FastLock>::_ZTVN7ZThread12IntrusivePtrINS_10ThreadImplENS_8FastLockEEE) + 8u)
  ZThread::NonCopyable (0x0x7f52b7d70c00) 0 empty

Class __gnu_cxx::new_allocator<ZThread::ThreadImpl*>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<ZThread::ThreadImpl*> (0x0x7f52b7d70d80) 0 empty

Class std::allocator<ZThread::ThreadImpl*>
   size=1 align=1
   base size=1 base align=1
std::allocator<ZThread::ThreadImpl*> (0x0x7f52b7ce99c0) 0 empty
  __gnu_cxx::new_allocator<ZThread::ThreadImpl*> (0x0x7f52b7d70de0) 0 empty

Class std::allocator<ZThread::ThreadImpl*>::rebind<ZThread::ThreadImpl**>
   size=1 align=1
   base size=0 base align=1
std::allocator<ZThread::ThreadImpl*>::rebind<ZThread::ThreadImpl**> (0x0x7f52b7d70e40) 0 empty

Class std::allocator<ZThread::ThreadImpl*>::rebind<ZThread::ThreadImpl*>
   size=1 align=1
   base size=0 base align=1
std::allocator<ZThread::ThreadImpl*>::rebind<ZThread::ThreadImpl*> (0x0x7f52b7d70ea0) 0 empty

Class std::_Deque_iterator<ZThread::ThreadImpl*, ZThread::ThreadImpl*&, ZThread::ThreadImpl**>
   size=16 align=4
   base size=16 base align=4
std::_Deque_iterator<ZThread::ThreadImpl*, ZThread::ThreadImpl*&, ZThread::ThreadImpl**> (0x0x7f52b7d70f60) 0

Class std::_Deque_base<ZThread::ThreadImpl*, std::allocator<ZThread::ThreadImpl*> >::_Deque_impl
   size=40 align=4
   base size=40 base align=4
std::_Deque_base<ZThread::ThreadImpl*, std::allocator<ZThread::ThreadImpl*> >::_Deque_impl (0x0x7f52b7ce9a90) 0
  std::allocator<ZThread::ThreadImpl*> (0x0x7f52b7ce9af8) 0 empty
    __gnu_cxx::new_allocator<ZThread::ThreadImpl*> (0x0x7f52b7d70f00) 0 empty

Class std::_Deque_base<ZThread::ThreadImpl*, std::allocator<ZThread::ThreadImpl*> >
   size=40 align=4
   base size=40 base align=4
std::_Deque_base<ZThread::ThreadImpl*, std::allocator<ZThread::ThreadImpl*> > (0x0x7f52b7d70d20) 0

Class std::deque<ZThread::ThreadImpl*>
   size=40 align=4
   base size=40 base align=4
std::deque<ZThread::ThreadImpl*> (0x0x7f52b7ce9b60) 0
  std::_Deque_base<ZThread::ThreadImpl*, std::allocator<ZThread::ThreadImpl*> > (0x0x7f52b78452a0) 0

Class __gnu_cxx::new_allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > (0x0x7f52b7845360) 0 empty

Class std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >
   size=1 align=1
   base size=1 base align=1
std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > (0x0x7f52b7ce9c30) 0 empty
  __gnu_cxx::new_allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > (0x0x7f52b78453c0) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > > (0x0x7f52b7845420) 0 empty

Class std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >::rebind<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >
   size=1 align=1
   base size=0 base align=1
std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >::rebind<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > (0x0x7f52b7845540) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > >::rebind<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > >::rebind<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > (0x0x7f52b78454e0) 0 empty

Class std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >::rebind<std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > >
   size=1 align=1
   base size=0 base align=1
std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >::rebind<std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > > (0x0x7f52b7845660) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > >::rebind<std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > >::rebind<std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > > (0x0x7f52b7845600) 0 empty

Class std::binary_function<const ZThread::ThreadLocalImpl*, const ZThread::ThreadLocalImpl*, bool>
   size=1 align=1
   base size=0 base align=1
std::binary_function<const ZThread::ThreadLocalImpl*, const ZThread::ThreadLocalImpl*, bool> (0x0x7f52b78456c0) 0 empty

Class std::less<const ZThread::ThreadLocalImpl*>
   size=1 align=1
   base size=1 base align=1
std::less<const ZThread::ThreadLocalImpl*> (0x0x7f52b7ce9ea0) 0 empty
  std::binary_function<const ZThread::ThreadLocalImpl*, const ZThread::ThreadLocalImpl*, bool> (0x0x7f52b78457e0) 0 empty

Class __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > > (0x0x7f52b78458a0) 0 empty

Class std::allocator<std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > >
   size=1 align=1
   base size=1 base align=1
std::allocator<std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > > (0x0x7f52b7ce9f08) 0 empty
  __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > > (0x0x7f52b7845900) 0 empty

Class std::_Rb_tree<const ZThread::ThreadLocalImpl*, std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> >, std::_Select1st<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >, std::less<const ZThread::ThreadLocalImpl*>, std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > >::_Rb_tree_impl<std::less<const ZThread::ThreadLocalImpl*>, false>
   size=24 align=4
   base size=24 base align=4
std::_Rb_tree<const ZThread::ThreadLocalImpl*, std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> >, std::_Select1st<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >, std::less<const ZThread::ThreadLocalImpl*>, std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > >::_Rb_tree_impl<std::less<const ZThread::ThreadLocalImpl*>, false> (0x0x7f52b7ce9f70) 0
  std::allocator<std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > > (0x0x7f52b7ce9680) 0 empty
    __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > > (0x0x7f52b7845960) 0 empty

Class std::_Rb_tree<const ZThread::ThreadLocalImpl*, std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> >, std::_Select1st<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >, std::less<const ZThread::ThreadLocalImpl*>, std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > >
   size=24 align=4
   base size=24 base align=4
std::_Rb_tree<const ZThread::ThreadLocalImpl*, std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> >, std::_Select1st<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >, std::less<const ZThread::ThreadLocalImpl*>, std::allocator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > > (0x0x7f52b78455a0) 0

Class std::map<const ZThread::ThreadLocalImpl*, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> >
   size=24 align=4
   base size=24 base align=4
std::map<const ZThread::ThreadLocalImpl*, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > (0x0x7f52b7845300) 0

Vtable for ZThread::ThreadImpl
ZThread::ThreadImpl::_ZTVN7ZThread10ThreadImplE: 4u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTIN7ZThread10ThreadImplE)
8     (int (*)(...))ZThread::ThreadImpl::~ThreadImpl
12    (int (*)(...))ZThread::ThreadImpl::~ThreadImpl

Class ZThread::ThreadImpl
   size=220 align=4
   base size=217 base align=4
ZThread::ThreadImpl (0x0x7f52b780d380) 0
    vptr=((& ZThread::ThreadImpl::_ZTVN7ZThread10ThreadImplE) + 8u)
  ZThread::IntrusivePtr<ZThread::ThreadImpl, ZThread::FastLock> (0x0x7f52b7ce9958) 0
      primary-for ZThread::ThreadImpl (0x0x7f52b780d380)
    ZThread::NonCopyable (0x0x7f52b7d70c60) 0 empty
  ZThread::ThreadOps (0x0x7f52b7d70cc0) 32

Vtable for ZThread::Lockable
ZThread::Lockable::_ZTVN7ZThread8LockableE: 7u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTIN7ZThread8LockableE)
8     0u
12    0u
16    (int (*)(...))__cxa_pure_virtual
20    (int (*)(...))__cxa_pure_virtual
24    (int (*)(...))__cxa_pure_virtual

Class ZThread::Lockable
   size=4 align=4
   base size=4 base align=4
ZThread::Lockable (0x0x7f52b78459c0) 0 nearly-empty
    vptr=((& ZThread::Lockable::_ZTVN7ZThread8LockableE) + 8u)

Vtable for ZThread::FastMutex
ZThread::FastMutex::_ZTVN7ZThread9FastMutexE: 7u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTIN7ZThread9FastMutexE)
8     (int (*)(...))ZThread::FastMutex::~FastMutex
12    (int (*)(...))ZThread::FastMutex::~FastMutex
16    (int (*)(...))ZThread::FastMutex::acquire
20    (int (*)(...))ZThread::FastMutex::tryAcquire
24    (int (*)(...))ZThread::FastMutex::release

Class ZThread::FastMutex
   size=8 align=4
   base size=8 base align=4
ZThread::FastMutex (0x0x7f52b78c27e0) 0
    vptr=((& ZThread::FastMutex::_ZTVN7ZThread9FastMutexE) + 8u)
  ZThread::Lockable (0x0x7f52b7845a20) 0 nearly-empty
      primary-for ZThread::FastMutex (0x0x7f52b78c27e0)
  ZThread::NonCopyable (0x0x7f52b7845a80) 0 empty

Class ZThread::LocalStaticInstantiation
   size=1 align=1
   base size=0 base align=1
ZThread::LocalStaticInstantiation (0x0x7f52b7845ae0) 0 empty

Class ZThread::StaticInstantiation
   size=1 align=1
   base size=0 base align=1
ZThread::StaticInstantiation (0x0x7f52b7845ba0) 0 empty

Class ZThread::LazyInstantiation
   size=1 align=1
   base size=0 base align=1
ZThread::LazyInstantiation (0x0x7f52b7845c60) 0 empty

Class ZThread::Singleton<ZThread::ThreadQueue, ZThread::StaticInstantiation>
   size=1 align=1
   base size=1 base align=1
ZThread::Singleton<ZThread::ThreadQueue, ZThread::StaticInstantiation> (0x0x7f52b796d7e0) 0 empty
  ZThread::StaticInstantiation (0x0x7f52b7845d80) 0 empty
  ZThread::NonCopyable (0x0x7f52b7845de0) 0 empty

Class __gnu_cxx::new_allocator<ZThread::Task>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<ZThread::Task> (0x0x7f52b7845f60) 0 empty

Class std::allocator<ZThread::Task>
   size=1 align=1
   base size=1 base align=1
std::allocator<ZThread::Task> (0x0x7f52b7ce9750) 0 empty
  __gnu_cxx::new_allocator<ZThread::Task> (0x0x7f52b7988000) 0 empty

Class std::allocator<ZThread::Task>::rebind<ZThread::Task*>
   size=1 align=1
   base size=0 base align=1
std::allocator<ZThread::Task>::rebind<ZThread::Task*> (0x0x7f52b7988060) 0 empty

Class std::allocator<ZThread::Task>::rebind<ZThread::Task>
   size=1 align=1
   base size=0 base align=1
std::allocator<ZThread::Task>::rebind<ZThread::Task> (0x0x7f52b79880c0) 0 empty

Class std::_Deque_iterator<ZThread::Task, ZThread::Task&, ZThread::Task*>
   size=16 align=4
   base size=16 base align=4
std::_Deque_iterator<ZThread::Task, ZThread::Task&, ZThread::Task*> (0x0x7f52b7988180) 0

Class std::_Deque_base<ZThread::Task, std::allocator<ZThread::Task> >::_Deque_impl
   size=40 align=4
   base size=40 base align=4
std::_Deque_base<ZThread::Task, std::allocator<ZThread::Task> >::_Deque_impl (0x0x7f52b7ce9c98) 0
  std::allocator<ZThread::Task> (0x0x7f52b7ce9d00) 0 empty
    __gnu_cxx::new_allocator<ZThread::Task> (0x0x7f52b7988120) 0 empty

Class std::_Deque_base<ZThread::Task, std::allocator<ZThread::Task> >
   size=40 align=4
   base size=40 base align=4
std::_Deque_base<ZThread::Task, std::allocator<ZThread::Task> > (0x0x7f52b7845f00) 0

Class std::deque<ZThread::Task>
   size=40 align=4
   base size=40 base align=4
std::deque<ZThread::Task> (0x0x7f52b75b2000) 0
  std::_Deque_base<ZThread::Task, std::allocator<ZThread::Task> > (0x0x7f52b7988240) 0

Class ZThread::ThreadQueue
   size=188 align=4
   base size=188 base align=4
ZThread::ThreadQueue (0x0x7f52b7ce96e8) 0
  ZThread::Singleton<ZThread::ThreadQueue, ZThread::StaticInstantiation> (0x0x7f52b796d8c0) 0 empty
    ZThread::StaticInstantiation (0x0x7f52b7845e40) 0 empty
    ZThread::NonCopyable (0x0x7f52b7845ea0) 0 empty

Class ZThread::DeferredInterruptionScope
   size=1 align=1
   base size=0 base align=1
ZThread::DeferredInterruptionScope (0x0x7f52b79882a0) 0 empty

Class ZThread::TSS<ZThread::ThreadImpl*>
   size=4 align=4
   base size=4 base align=4
ZThread::TSS<ZThread::ThreadImpl*> (0x0x7f52b75b21a0) 0
  ZThread::NonCopyable (0x0x7f52b7988300) 0 empty

Vtable for ZThread::{anonymous}::Launcher
ZThread::{anonymous}::Launcher::_ZTVN7ZThread12_GLOBAL__N_18LauncherE: 5u entries
0     (int (*)(...))0
4     (int (*)(...))(& _ZTIN7ZThread12_GLOBAL__N_18LauncherE)
8     (int (*)(...))ZThread::{anonymous}::Launcher::~Launcher
12    (int (*)(...))ZThread::{anonymous}::Launcher::~Launcher
16    (int (*)(...))ZThread::{anonymous}::Launcher::run

Class ZThread::{anonymous}::Launcher
   size=20 align=4
   base size=20 base align=4
ZThread::{anonymous}::Launcher (0x0x7f52b75b2270) 0
    vptr=((& ZThread::{anonymous}::Launcher::_ZTVN7ZThread12_GLOBAL__N_18LauncherE) + 8u)
  ZThread::Runnable (0x0x7f52b7988360) 0 nearly-empty
      primary-for ZThread::{anonymous}::Launcher (0x0x7f52b75b2270)

Class ZThread::LockHolder<ZThread::Monitor>
   size=8 align=4
   base size=5 base align=4
ZThread::LockHolder<ZThread::Monitor> (0x0x7f52b79883c0) 0

Class ZThread::Guard<ZThread::Monitor>
   size=8 align=4
   base size=5 base align=4
ZThread::Guard<ZThread::Monitor> (0x0x7f52b7638460) 0
  ZThread::LockHolder<ZThread::Monitor> (0x0x7f52b7988420) 0
  ZThread::NonCopyable (0x0x7f52b7988480) 0 empty

Class ZThread::Guard<ZThread::Monitor, ZThread::DeferredInterruptionScope>
   size=8 align=4
   base size=5 base align=4
ZThread::Guard<ZThread::Monitor, ZThread::DeferredInterruptionScope> (0x0x7f52b7674380) 0
  ZThread::LockHolder<ZThread::Monitor> (0x0x7f52b79884e0) 0
  ZThread::NonCopyable (0x0x7f52b7988540) 0 empty

Class std::_Rb_tree_const_iterator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >
   size=4 align=4
   base size=4 base align=4
std::_Rb_tree_const_iterator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > (0x0x7f52b79885a0) 0

Class std::_Rb_tree_iterator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >
   size=4 align=4
   base size=4 base align=4
std::_Rb_tree_iterator<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > (0x0x7f52b7988600) 0

Class ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int>
   size=8 align=4
   base size=8 base align=4
ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> (0x0x7f52b7988720) 0

Class std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> >
   size=12 align=4
   base size=12 base align=4
std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > (0x0x7f52b79886c0) 0

Class __gnu_cxx::__ops::_Iter_equals_val<ZThread::ThreadImpl* const>
   size=4 align=4
   base size=4 base align=4
__gnu_cxx::__ops::_Iter_equals_val<ZThread::ThreadImpl* const> (0x0x7f52b7988780) 0

Class ZThread::LockHolder<ZThread::FastMutex>
   size=8 align=4
   base size=5 base align=4
ZThread::LockHolder<ZThread::FastMutex> (0x0x7f52b79887e0) 0

Class ZThread::Guard<ZThread::FastMutex, ZThread::LockedScope>
   size=8 align=4
   base size=5 base align=4
ZThread::Guard<ZThread::FastMutex, ZThread::LockedScope> (0x0x7f52b7715070) 0
  ZThread::LockHolder<ZThread::FastMutex> (0x0x7f52b7988840) 0
  ZThread::NonCopyable (0x0x7f52b79888a0) 0 empty

Class ZThread::LockHolder<ZThread::FastLock>
   size=8 align=4
   base size=5 base align=4
ZThread::LockHolder<ZThread::FastLock> (0x0x7f52b7988960) 0

Class ZThread::Guard<ZThread::FastLock, ZThread::LockedScope>
   size=8 align=4
   base size=5 base align=4
ZThread::Guard<ZThread::FastLock, ZThread::LockedScope> (0x0x7f52b7715d20) 0
  ZThread::LockHolder<ZThread::FastLock> (0x0x7f52b79889c0) 0
  ZThread::NonCopyable (0x0x7f52b7988a20) 0 empty

Class std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >
   size=28 align=4
   base size=28 base align=4
std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > (0x0x7f52b75b2a90) 0
  std::_Rb_tree_node_base (0x0x7f52b7988a80) 0

Class std::iterator_traits<std::_Deque_iterator<ZThread::ThreadImpl*, ZThread::ThreadImpl*&, ZThread::ThreadImpl**> >
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<std::_Deque_iterator<ZThread::ThreadImpl*, ZThread::ThreadImpl*&, ZThread::ThreadImpl**> > (0x0x7f52b7988ae0) 0 empty

Class ZThread::StaticInstantiationHelper<ZThread::ThreadQueue>
   size=1 align=1
   base size=0 base align=1
ZThread::StaticInstantiationHelper<ZThread::ThreadQueue> (0x0x7f52b7988b40) 0 empty

Class __gnu_cxx::new_allocator<ZThread::ThreadImpl**>
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::new_allocator<ZThread::ThreadImpl**> (0x0x7f52b7988c60) 0 empty

Class std::allocator<ZThread::ThreadImpl**>
   size=1 align=1
   base size=1 base align=1
std::allocator<ZThread::ThreadImpl**> (0x0x7f52b75b2478) 0 empty
  __gnu_cxx::new_allocator<ZThread::ThreadImpl**> (0x0x7f52b7988cc0) 0 empty

Class std::_Deque_iterator<ZThread::ThreadImpl*, ZThread::ThreadImpl* const&, ZThread::ThreadImpl* const*>
   size=16 align=4
   base size=16 base align=4
std::_Deque_iterator<ZThread::ThreadImpl*, ZThread::ThreadImpl* const&, ZThread::ThreadImpl* const*> (0x0x7f52b7988d80) 0

Class std::unary_function<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> >, const ZThread::ThreadLocalImpl* const>
   size=1 align=1
   base size=0 base align=1
std::unary_function<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> >, const ZThread::ThreadLocalImpl* const> (0x0x7f52b7988de0) 0 empty

Class std::_Select1st<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > >
   size=1 align=1
   base size=1 base align=1
std::_Select1st<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > (0x0x7f52b7434000) 0 empty
  std::unary_function<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> >, const ZThread::ThreadLocalImpl* const> (0x0x7f52b7988e40) 0 empty

Class __gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > > >
   size=1 align=1
   base size=0 base align=1
__gnu_cxx::__alloc_traits<std::allocator<std::_Rb_tree_node<std::pair<const ZThread::ThreadLocalImpl* const, ZThread::CountedPtr<ZThread::ThreadLocalImpl::Value, unsigned int> > > > > (0x0x7f52b7988ea0) 0 empty

Class std::iterator_traits<ZThread::ThreadImpl**>
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<ZThread::ThreadImpl**> (0x0x7f52b74a1000) 0 empty

Class std::__is_move_iterator<ZThread::ThreadImpl***>
   size=1 align=1
   base size=0 base align=1
std::__is_move_iterator<ZThread::ThreadImpl***> (0x0x7f52b74a1060) 0 empty

Class std::_Iter_base<ZThread::ThreadImpl***, false>
   size=1 align=1
   base size=0 base align=1
std::_Iter_base<ZThread::ThreadImpl***, false> (0x0x7f52b74a10c0) 0 empty

Class std::_Miter_base<ZThread::ThreadImpl***>
   size=1 align=1
   base size=1 base align=1
std::_Miter_base<ZThread::ThreadImpl***> (0x0x7f52b7434820) 0 empty
  std::_Iter_base<ZThread::ThreadImpl***, false> (0x0x7f52b74a1120) 0 empty

Class std::__is_move_iterator<ZThread::ThreadImpl**>
   size=1 align=1
   base size=0 base align=1
std::__is_move_iterator<ZThread::ThreadImpl**> (0x0x7f52b74a1180) 0 empty

Class std::_Iter_base<ZThread::ThreadImpl**, false>
   size=1 align=1
   base size=0 base align=1
std::_Iter_base<ZThread::ThreadImpl**, false> (0x0x7f52b74a11e0) 0 empty

Class std::_Miter_base<ZThread::ThreadImpl**>
   size=1 align=1
   base size=1 base align=1
std::_Miter_base<ZThread::ThreadImpl**> (0x0x7f52b7434958) 0 empty
  std::_Iter_base<ZThread::ThreadImpl**, false> (0x0x7f52b74a1240) 0 empty

Class std::__is_normal_iterator<ZThread::ThreadImpl***>
   size=1 align=1
   base size=0 base align=1
std::__is_normal_iterator<ZThread::ThreadImpl***> (0x0x7f52b74a12a0) 0 empty

Class std::_Niter_base<ZThread::ThreadImpl***>
   size=1 align=1
   base size=1 base align=1
std::_Niter_base<ZThread::ThreadImpl***> (0x0x7f52b7434af8) 0 empty
  std::_Iter_base<ZThread::ThreadImpl***, false> (0x0x7f52b74a1300) 0 empty

Class std::__is_normal_iterator<ZThread::ThreadImpl**>
   size=1 align=1
   base size=0 base align=1
std::__is_normal_iterator<ZThread::ThreadImpl**> (0x0x7f52b74a1360) 0 empty

Class std::_Niter_base<ZThread::ThreadImpl**>
   size=1 align=1
   base size=1 base align=1
std::_Niter_base<ZThread::ThreadImpl**> (0x0x7f52b7434b60) 0 empty
  std::_Iter_base<ZThread::ThreadImpl**, false> (0x0x7f52b74a13c0) 0 empty

Class std::iterator_traits<ZThread::ThreadImpl***>
   size=1 align=1
   base size=0 base align=1
std::iterator_traits<ZThread::ThreadImpl***> (0x0x7f52b74a1420) 0 empty

Class std::__are_same<ZThread::ThreadImpl**, ZThread::ThreadImpl**>
   size=1 align=1
   base size=0 base align=1
std::__are_same<ZThread::ThreadImpl**, ZThread::ThreadImpl**> (0x0x7f52b74a1480) 0 empty

Class std::__is_pointer<ZThread::ThreadImpl***>
   size=1 align=1
   base size=0 base align=1
std::__is_pointer<ZThread::ThreadImpl***> (0x0x7f52b74a14e0) 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> (0x0x7f52b74a1540) 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> (0x0x7f52b74a15a0) 0 empty

Class std::__are_same<ZThread::ThreadImpl*, ZThread::ThreadImpl*>
   size=1 align=1
   base size=0 base align=1
std::__are_same<ZThread::ThreadImpl*, ZThread::ThreadImpl*> (0x0x7f52b74a1600) 0 empty

Class std::__is_pointer<ZThread::ThreadImpl**>
   size=1 align=1
   base size=0 base align=1
std::__is_pointer<ZThread::ThreadImpl**> (0x0x7f52b74a1660) 0 empty

