ExpressionParserUserWithTrigSupport< T_Base, NUM_PARSER > Node1 ExpressionParserUserWith TrigSupport< T_Base, NUM _PARSER > # m_trigDecisionTool + ExpressionParserUserWith TrigSupport() + initializeParser() Node2 ExpressionParserUserBase < T_Base, 1 > # m_parser + ExpressionParserUserBase() + ~ExpressionParserUserBase() + finalizeParser() + updateDataNeeds() + renounceInput() # _initializeParser() Node2->Node1 Node3 T_Base Node3->Node2 Node4 IDynamicDataConsumer + ~IDynamicDataConsumer() + updateDataNeeds() Node4->Node2 Node5 std::unique_ptr< Expression Parsing::IProxyLoader > + operator->() Node5->Node2 #m_proxyLoaders Node6 ExpressionParsing:: IProxyLoader + ~IProxyLoader() + reset() + variableTypeFromString() + loadIntVariableFromString() + loadDoubleVariableFromString() + loadVecIntVariableFromString() + loadVecDoubleVariableFrom String() Node6->Node5 +ptr Node7 ExpressionParsing:: SGxAODProxyLoader - m_verbose + SGxAODProxyLoader() + ~SGxAODProxyLoader() + reset() + variableTypeFromString() + loadIntVariableFromString() + loadDoubleVariableFromString() + loadVecIntVariableFromString() + loadVecDoubleVariableFrom String() + updateDataDependencies() + wrapParent() - splitVarnameIntoContainer AndMethod() - computeClassForVarname() - getMethodCallAccessor() - getAccessor() - createAccessor() Node6->Node7 Node7->Node2 #m_xAODProxyLoader Node8 std::unordered_map < std::string, CxxUtils ::CachedUniquePtrT< Expression Parsing::IAccessor > > Node8->Node7 -m_accessor Node14 std::unique_ptr< Expression Parsing::IAccessor > + operator->() Node14->Node7 -m_emptyVectorAccessor Node21 std::vector< std::string > Node21->Node2 #m_renounce