asg::UnitTestTool3 Node1 asg::UnitTestTool3 - m_subtool0 - m_usePublic + UnitTestTool3() + initialize() + getSubtool() + getSubsubtool() + subsubtoolEmpty() Node2 asg::IUnitTestTool3 + getSubtool() + subsubtoolEmpty() + getSubsubtool() Node2->Node1 Node3 asg::IAsgTool + ~IAsgTool() + print() Node3->Node2 Node5 asg::AsgTool + AsgTool() + ~AsgTool() + AsgTool() + operator=() + initialize() + print() * getProperty() * msg_level_name() * getName() * getKey() Node3->Node5 Node5->Node1 Node6 AsgToolBase + AthAlgTool() + ~AthAlgTool() - AthAlgTool() - AthAlgTool() - operator=() Node6->Node5 Node13 asg::AnaToolHandle < asg::IUnitTestTool2 > - m_parentPtr - m_mode - m_allowEmpty + testInvariant() + AnaToolHandle() + AnaToolHandle() + AnaToolHandle() + ~AnaToolHandle() + operator=() + operator=() + swap() + empty() + isPublic() and 29 more... + setProperty() + setProperty() + setProperty() + setProperty() - getMode() - getMode() - makeToolRetrieve() * setProperty() * setProperty() * setProperty() * setProperty() Node13->Node1 -m_subtool2 Node14 std::vector< std::function < StatusCode()> > + elements Node14->Node13 -m_extraInit Node29 asg::AnaToolHandle < asg::IUnitTestTool1 > - m_parentPtr - m_mode - m_allowEmpty + testInvariant() + AnaToolHandle() + AnaToolHandle() + AnaToolHandle() + ~AnaToolHandle() + operator=() + operator=() + swap() + empty() + isPublic() and 29 more... + setProperty() + setProperty() + setProperty() + setProperty() - getMode() - getMode() - makeToolRetrieve() * setProperty() * setProperty() * setProperty() * setProperty() Node14->Node29 -m_extraInit Node15 std::atomic< bool > + ptr Node15->Node13 -m_isInitialized Node15->Node29 -m_isInitialized Node18 std::string Node18->Node1 -m_propertyName Node18->Node13 -m_originalTypeAndName -m_name Node18->Node29 -m_originalTypeAndName -m_name Node29->Node1 -m_subtool1