SG::UpdateHandleKey< T > Node1 SG::UpdateHandleKey< T > + UpdateHandleKey() + UpdateHandleKey() + operator=() Node2 SG::VarHandleKey - m_hashedKey - m_isEventStore + VarHandleKey() + operator=() + assign() + initialize() + initialize() + clid() + key() + empty() + storeHandle() + owningHandle() + isEventStore() + start() + hashedKey() # pythonRepr() - setOwningHandle() - setKey() - updateKey() - parseKey() - updateHandle() Node2->Node1 Node7 SG::VarHandleBase # m_ptr # m_storeWasSet + VarHandleBase() + VarHandleBase() + VarHandleBase() + VarHandleBase() + VarHandleBase() + VarHandleBase() + operator=() + operator=() + ~VarHandleBase() + key() and 20 more... # setState() # setState() # record_impl() # put_impl() # typeless_dataPointer_impl() # typeless_dataPointer() # typeless_cptr() # typeless_ptr() # get_impl() # symLink_impl() # isPresent_impl() - storeFromHandle() - setStoreFromHandle() - resetProxy() - setProxy() - typeless_dataPointer _fromProxy() Node2->Node7 -m_key Node3 Gaudi::DataHandle Node3->Node2 Node4 ServiceHandle< IProxyDict > Node4->Node2 -m_storeHandle Node5 std::string Node5->Node2 -m_sgKey Node6 std::basic_string< char > Node6->Node5 Node7->Node2 -m_owningHandle Node8 IResetable + ~IResetable() + reset() + finalReset() + isSet() + key() Node8->Node7 Node9 IProxyDict + DeclareInterfaceID() + ~IProxyDict() + proxy_exact() + proxy() + proxy() + proxies() + addToStore() + recordObject() + boundHandle() + unboundHandle() + tryELRemap() + createObj() + hiveProxyDict() + sourceID() Node9->Node7 #m_store Node12 SG::DataProxy + DataProxy() + DataProxy() + DataProxy() + DataProxy() + DataProxy() + DataProxy() + ~DataProxy() * handleList_t * mutex_t * lock_t * objMutex_t * objLock_t * SG::DataStore * m_refCount * m_resetFlag * m_boundHandles * m_origConst and 56 more... Node12->Node7 #m_proxy