SG::ArenaBase::AllocEntry Node1 SG::ArenaBase::AllocEntry Node2 std::unique_ptr< std ::mutex > + operator->() Node2->Node1 +m_mutex Node3 std::mutex Node3->Node2 +ptr Node4 std::unique_ptr< SG ::ArenaAllocatorBase > + operator->() Node4->Node1 +m_alloc Node5 SG::ArenaAllocatorBase + ~ArenaAllocatorBase() + reset() + erase() + reserve() + stats() + name() + report() + makeConstructor() + makeConstructor() + makeDestructor() + makeDestructor() + makeClear() + makeClear() - construct_fcn() - destroy_fcn() - clear_fcn() Node5->Node4 +ptr