SG::ArenaPoolAllocator Node1 SG::ArenaPoolAllocator - m_ptr - m_end + ArenaPoolAllocator() + ~ArenaPoolAllocator() + ArenaPoolAllocator() + operator=() + ArenaPoolAllocator() + operator=() + swap() + allocate() + reset() + erase() + resetTo() + begin() + begin() + end() + end() - refill() - clearBlock() Node2 SG::ArenaBlockAllocatorBase # m_params # m_protected + ArenaBlockAllocatorBase() + ~ArenaBlockAllocatorBase() + ArenaBlockAllocatorBase() + operator=() + ArenaBlockAllocatorBase() + operator=() + swap() + reserve() + erase() + stats() + name() + params() + protect() + unprotect() # getBlock() Node2->Node1 Node3 SG::ArenaAllocatorBase + ~ArenaAllocatorBase() + reset() + erase() + reserve() + stats() + name() + report() + makeConstructor() + makeConstructor() + makeDestructor() + makeDestructor() + makeClear() + makeClear() - construct_fcn() - destroy_fcn() - clear_fcn() Node3->Node2 Node4 SG::ArenaBlock - m_size - m_elt_size + size() + eltSize() + link() + link() + index() + index() + index() + index() + protect() + unprotect() + newBlock() + destroy() + destroyList() + appendList() + applyList() + overhead() + nactive() + protectList() + unprotectList() - ArenaBlock() - ~ArenaBlock() - ArenaBlock() - operator=() Node4->Node2 #m_freeblocks #m_blocks Node4->Node4 -m_link Node5 std::atomic< size_t > + ptr Node5->Node4 -s_nactive Node6 SG::ArenaBlockAlignDetail ::padForAlign + dummy Node6->Node4 -m_dummy Node7 SG::ArenaAllocatorBase ::Stats + Stats() + clear() + operator+=() + header() Node7->Node2 #m_stats Node8 SG::ArenaAllocatorBase ::Stats::Stat + inuse + free + total + Stat() + clear() + operator+=() Node8->Node7 +blocks +bytes +elts