SG::ThinningInfo Node1 SG::ThinningInfo + vetoed() + compression() Node2 SG::ThinningDecisionBase + RemovedIdx - m_mask + ThinningDecisionBase() + resize() + thinned() + size() + thinnedSize() + thinAll() + keepAll() + thin() + keep() + thin() and 7 more... Node2->Node1 +m_decision Node3 std::vector< size_t > + elements Node3->Node2 -m_indexMap Node4 CxxUtils::ConcurrentBitset - BLOCKSIZE - MASK * ConcurrentBitset() * ConcurrentBitset() * ConcurrentBitset() * ConcurrentBitset() * ~ConcurrentBitset() * operator=() * operator=() * emptyGarbage() * capacity() * count() * size() * test() * count() * empty() * none() * all() * any() * set() * reset() * erase() * flip() * set() * clear() * reset() * set() * flip() * operator&=() * operator|=() * operator^=() * operator-=() * operator~() * operator==() * operator!=() * insert() * insert() * insert() * insert() * operator[]() * operator[]() * begin() * end() * find() * mutex_t * lock_t * nBlocks() * newImpl() * expand() * expandOol() Node4->Node1 +m_vetoed Node11 std::map< unsigned int, CxxUtils::Concurrent Bitset > + keys Node4->Node11 +elements Node5 std::vector< CxxUtils ::ConcurrentBitset::Impl * > Node5->Node4 -m_garbage Node6 CxxUtils::ConcurrentBitset ::Impl - m_nbits - m_nblocks + operator new() + operator delete() + Impl() + Impl() + operator=() + assign() + nbits() + test() + count() + none() and 13 more... Node6->Node5 +elements Node10 std::atomic< CxxUtils ::ConcurrentBitset::Impl * > Node6->Node10 +ptr Node7 std::atomic< Block_t > + ptr Node7->Node6 -m_data Node9 std::mutex Node9->Node4 -m_mutex Node10->Node4 -m_impl Node11->Node1 +m_compression