SG::LockedAllocator Node1 SG::LockedAllocator + LockedAllocator() + operator*() + operator->() + get() + get() Node2 std::unique_lock< std ::mutex > Node2->Node1 -m_lock Node3 std::mutex Node3->Node2 +ptr Node4 SG::ArenaAllocatorBase + ~ArenaAllocatorBase() + reset() + erase() + reserve() + stats() + name() + report() + makeConstructor() + makeConstructor() + makeDestructor() + makeDestructor() + makeClear() + makeClear() - construct_fcn() - destroy_fcn() - clear_fcn() Node4->Node1 -m_alloc