TopLevelTPConverter< MAIN_CNV, TL_PERS > Node1 TopLevelTPConverter < MAIN_CNV, TL_PERS > # m_mainConverter + setPStorage() + TopLevelTPConverter() + createTransient() + createTransientWithKey() + createTransient() + createPersistent() + createPersistentWithKey() + addMainTPConverter() + setMainCnvPStorage() + getConverterID() and 8 more... Node2 TopLevelTPCnvBaseP < TL_PERS > # m_tlPersObject + setPStorage() + TopLevelTPCnvBaseP() + ~TopLevelTPCnvBaseP() + TopLevelTPCnvBaseP() + operator=() + hasTLPersObject() + createTLPersObject() + deleteTLPersObject() + getTLPersObject() + getTLPersObject() and 7 more... Node2->Node1 Node3 TopLevelTPCnvBase # m_typeIDCount + TopLevelTPCnvBase() + ~TopLevelTPCnvBase() + addTPConverter() + addTPConverterForReading() + addExtTPConverterForReading() + addTPConvertersTo() + addTPConvertersForReadingTo() + converterForType() + converterForRef() + hasTLPersObject() and 9 more... # rememberConverter() # hasConvertersFrom() - addTPConverterForWriting() Node3->Node2 Node8 std::set< TopLevelTPCnvBase * > Node3->Node8 +keys Node4 TPConverterTypeMap < ITPConverter > + TPConverterTypeMap() + findConverter() + addConverter() + begin() + end() Node4->Node3 #m_converters Node5 std::map< const std ::type_index, ITPConverter * > + keys Node5->Node4 #m_cnvRegistry Node6 ITPConverter + ~ITPConverter() + setTopConverter() + setRuntimeTopConverter() + topConverter() + topConverter() + typeID() + transBaseTInfo() + reservePStorage() + converterNotFound() + converterNotFound() # ITPConverter() Node6->Node5 +elements Node9 std::map< unsigned, ITPConverter * > + keys Node6->Node9 +elements Node7 ITPCnvBase + ~ITPCnvBase() + persToTransUntyped() + persToTransWithKeyUntyped() + transToPersUntyped() + transToPersWithKeyUntyped() + transientTInfo() + persistentTInfo() Node7->Node1 Node7->Node6 Node8->Node3 #m_registeredTLConverters Node9->Node3 #m_convIdMap