ExpressionParsing::Singleton< T_Derived > Node1 ExpressionParsing:: Singleton< T_Derived > + instance() Node2 CxxUtils::CachedUniquePtr T< T_Derived > + CachedUniquePtrT() + CachedUniquePtrT() + CachedUniquePtrT() + operator=() + ~CachedUniquePtrT() + set() + store() + get() + operator*() + operator->() + operator bool() + release() Node2->Node1 -ATLAS_THREAD_SAFE Node3 std::atomic< T_Derived * > + ptr Node3->Node2 -m_ptr