ExpressionParserUserBase< T_Base, NUM_PARSER > Node1 ExpressionParserUserBase < T_Base, NUM_PARSER > # m_parser + ExpressionParserUserBase() + ~ExpressionParserUserBase() + finalizeParser() + updateDataNeeds() + renounceInput() # _initializeParser() Node2 T_Base Node2->Node1 Node3 IDynamicDataConsumer + ~IDynamicDataConsumer() + updateDataNeeds() Node3->Node1 Node4 std::unique_ptr< Expression Parsing::IProxyLoader > + operator->() Node4->Node1 #m_proxyLoaders Node5 ExpressionParsing:: IProxyLoader + ~IProxyLoader() + reset() + variableTypeFromString() + loadIntVariableFromString() + loadDoubleVariableFromString() + loadVecIntVariableFromString() + loadVecDoubleVariableFrom String() Node5->Node4 +ptr Node6 ExpressionParsing:: SGxAODProxyLoader - m_verbose + SGxAODProxyLoader() + ~SGxAODProxyLoader() + reset() + variableTypeFromString() + loadIntVariableFromString() + loadDoubleVariableFromString() + loadVecIntVariableFromString() + loadVecDoubleVariableFrom String() + updateDataDependencies() + wrapParent() - splitVarnameIntoContainer AndMethod() - computeClassForVarname() - getMethodCallAccessor() - getAccessor() - createAccessor() Node5->Node6 Node6->Node1 #m_xAODProxyLoader Node7 std::unordered_map < std::string, CxxUtils ::CachedUniquePtrT< Expression Parsing::IAccessor > > Node7->Node6 -m_accessor Node13 std::unique_ptr< Expression Parsing::IAccessor > + operator->() Node13->Node6 -m_emptyVectorAccessor Node14 ExpressionParsing:: SGxAODProxyLoader::ReadHandle MapTmpl< SG::ReadHandleKey < SG::AuxElement >, SG::ReadHandleKey < SG::AuxVectorBase > > + checkedRef() + isVector() + isElement() + elementKey() + elementKey() + vectorKey() + vectorKey() Node14->Node6 -m_readKeys Node20 std::vector< std::string > Node20->Node1 #m_renounce