SG::ArenaSharedHeapSTLAllocator< T > Node1 SG::ArenaSharedHeapSTLAllocator< T > + ArenaSharedHeapSTLAllocator() + ArenaSharedHeapSTLAllocator() + ArenaSharedHeapSTLAllocator() + ArenaSharedHeapSTLAllocator() + ~ArenaSharedHeapSTLAllocator() + operator=() + operator=() + swap() + operator==() + operator!=() and 20 more... Node2 SG::ArenaSharedHeapSTLHeader - m_owner - m_nblock + ArenaSharedHeapSTLHeader() + ~ArenaSharedHeapSTLHeader() + maybe_delete() + totstats() + get_pool() + update_owner() + report() + protect() + unprotect() + get_name() - get_index() Node2->Node1 -m_header Node3 std::vector< SG::ArenaHeap Allocator * > Node3->Node2 -m_allocators Node4 SG::ArenaHeapAllocator - m_freeptr + ArenaHeapAllocator() + ~ArenaHeapAllocator() + ArenaHeapAllocator() + operator=() + ArenaHeapAllocator() + operator=() + swap() + allocate() + free() + reset() + erase() - slowClear() - refill() - link() Node4->Node1 -m_pool Node4->Node3 +elements Node5 SG::ArenaBlockAllocatorBase # m_params # m_protected + ArenaBlockAllocatorBase() + ~ArenaBlockAllocatorBase() + ArenaBlockAllocatorBase() + operator=() + ArenaBlockAllocatorBase() + operator=() + swap() + reserve() + erase() + stats() + name() + params() + protect() + unprotect() # getBlock() Node5->Node4 Node6 SG::ArenaAllocatorBase + ~ArenaAllocatorBase() + reset() + erase() + reserve() + stats() + name() + report() + makeConstructor() + makeConstructor() + makeDestructor() + makeDestructor() + makeClear() + makeClear() - construct_fcn() - destroy_fcn() - clear_fcn() Node6->Node5 Node7 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=() Node7->Node5 #m_freeblocks #m_blocks Node7->Node7 -m_link Node10 SG::ArenaAllocatorBase ::Stats + Stats() + clear() + operator+=() + header() Node10->Node5 #m_stats