SG::Arena Node1 SG::Arena + Arena() + ~Arena() + header() + makeCurrent() Node2 SG::ArenaBase + ArenaBase() + ~ArenaBase() + ArenaBase() + operator=() + allocator() + reset() + erase() + report() + stats() + name() - makeAllocator() Node2->Node1 Node11 SG::ArenaHeader - m_arena + ArenaHeader() + ~ArenaHeader() + allocator() + allocator() + setArena() + addArena() + setArenaForSlot() + delArena() + report() + reportStr() + reset() + defaultHeader() Node2->Node11 -m_defaultArena Node12 std::vector< SG::ArenaBase * > Node2->Node12 +elements Node3 std::vector< SG::ArenaBase ::AllocEntry > Node3->Node2 -m_allocs Node4 SG::ArenaBase::AllocEntry Node4->Node3 +elements Node5 std::unique_ptr< std ::mutex > + operator->() Node5->Node4 +m_mutex Node6 std::mutex Node6->Node2 -m_mutex Node6->Node5 +ptr Node6->Node11 -m_mutex Node9 std::string Node9->Node2 -m_name Node10 std::basic_string< char > Node10->Node9 Node11->Node1 -m_header Node12->Node11 -m_arenas -m_slots