SG::ArenaBlockAllocatorBase Node1 SG::ArenaBlockAllocatorBase # m_params # m_protected + ArenaBlockAllocatorBase() + ~ArenaBlockAllocatorBase() + ArenaBlockAllocatorBase() + operator=() + ArenaBlockAllocatorBase() + operator=() + swap() + reserve() + erase() + stats() + name() + params() + protect() + unprotect() # getBlock() Node2 SG::ArenaAllocatorBase + ~ArenaAllocatorBase() + reset() + erase() + reserve() + stats() + name() + report() + makeConstructor() + makeConstructor() + makeDestructor() + makeDestructor() + makeClear() + makeClear() - construct_fcn() - destroy_fcn() - clear_fcn() Node2->Node1 Node3 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=() Node3->Node1 #m_freeblocks #m_blocks Node3->Node3 -m_link Node4 std::atomic< size_t > + ptr Node4->Node3 -s_nactive Node5 SG::ArenaBlockAlignDetail ::padForAlign + dummy Node5->Node3 -m_dummy Node6 SG::ArenaAllocatorBase ::Stats + Stats() + clear() + operator+=() + header() Node6->Node1 #m_stats Node7 SG::ArenaAllocatorBase ::Stats::Stat + inuse + free + total + Stat() + clear() + operator+=() Node7->Node6 +blocks +bytes +elts