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_blocks # m_freeblocks # m_stats # 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