TopLevelTPCnvBase Node1 TopLevelTPCnvBase # m_typeIDCount + TopLevelTPCnvBase() + ~TopLevelTPCnvBase() + addTPConverter() + addTPConverterForReading() + addExtTPConverterForReading() + addTPConvertersTo() + addTPConvertersForReadingTo() + converterForType() + converterForRef() + hasTLPersObject() and 9 more... # rememberConverter() # hasConvertersFrom() - addTPConverterForWriting() Node6 std::set< TopLevelTPCnvBase * > Node1->Node6 +keys Node2 TPConverterTypeMap < ITPConverter > + TPConverterTypeMap() + findConverter() + addConverter() + begin() + end() Node2->Node1 #m_converters Node3 std::map< const std ::type_index, ITPConverter * > + keys Node3->Node2 #m_cnvRegistry Node4 ITPConverter + ~ITPConverter() + setTopConverter() + setRuntimeTopConverter() + topConverter() + topConverter() + typeID() + transBaseTInfo() + reservePStorage() + converterNotFound() + converterNotFound() # ITPConverter() Node4->Node3 +elements Node7 std::map< unsigned, ITPConverter * > + keys Node4->Node7 +elements Node5 ITPCnvBase + ~ITPCnvBase() + persToTransUntyped() + persToTransWithKeyUntyped() + transToPersUntyped() + transToPersWithKeyUntyped() + transientTInfo() + persistentTInfo() Node5->Node4 Node6->Node1 #m_registeredTLConverters Node7->Node1 #m_convIdMap