SG::ReadHandle< T > Node1 SG::ReadHandle< T > + ReadHandle() + ReadHandle() + ReadHandle() + ReadHandle() + ReadHandle() + ReadHandle() + ReadHandle() + operator=() + operator=() + operator->() and 8 more... # ReadHandle() - checkedCPtr() Node2 SG::VarHandleBase # m_ptr # m_proxy # m_store # m_storeWasSet - m_ownedKey - m_key + 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->Node1 Node3 IResetable + ~IResetable() + reset() + finalReset() + isSet() + key() Node3->Node2