SG::ArenaBlockAllocatorBase Node1 SG::ArenaBlockAllocatorBase # m_params # m_blocks # m_freeblocks # m_stats # m_protected + ArenaBlockAllocatorBase() + ~ArenaBlockAllocatorBase() + ArenaBlockAllocatorBase() + operator=() + ArenaBlockAllocatorBase() + operator=() + swap() + reserve() + erase() + stats() + name() + params() + protect() + unprotect() # getBlock() Node3 SG::ArenaHeapAllocator - m_freeptr + ArenaHeapAllocator() + ~ArenaHeapAllocator() + ArenaHeapAllocator() + operator=() + ArenaHeapAllocator() + operator=() + swap() + allocate() + free() + reset() + erase() - slowClear() - refill() - link() Node1->Node3 Node4 SG::ArenaPoolAllocator - m_ptr - m_end + ArenaPoolAllocator() + ~ArenaPoolAllocator() + ArenaPoolAllocator() + operator=() + ArenaPoolAllocator() + operator=() + swap() + allocate() + reset() + erase() + resetTo() + begin() + begin() + end() + end() - refill() - clearBlock() Node1->Node4 Node2 SG::ArenaAllocatorBase + ~ArenaAllocatorBase() + reset() + erase() + reserve() + stats() + name() + report() + makeConstructor() + makeConstructor() + makeDestructor() + makeDestructor() + makeClear() + makeClear() - construct_fcn() - destroy_fcn() - clear_fcn() Node2->Node1