📄 objectiter.cpp
字号:
void CObjectTypeInfoMI::SetPathCopyHook(CObjectStreamCopier* stream, const string& path, CCopyClassMemberHook* hook) const{ GetNCMemberInfo()->SetPathCopyHook(stream,path,hook);}bool CConstObjectInfoMI::CanGet(void) const{ const CMemberInfo* memberInfo = GetMemberInfo(); return !memberInfo->HaveSetFlag() || memberInfo->GetSetFlagYes(m_Object.GetObjectPtr());}pair<TConstObjectPtr, TTypeInfo> CConstObjectInfoMI::GetMemberPair(void) const{ const CMemberInfo* memberInfo = GetMemberInfo(); return make_pair(memberInfo->GetMemberPtr(m_Object.GetObjectPtr()), memberInfo->GetTypeInfo());}bool CObjectInfoMI::CanGet(void) const{ const CMemberInfo* memberInfo = GetMemberInfo(); return !memberInfo->HaveSetFlag() || memberInfo->GetSetFlagYes(m_Object.GetObjectPtr());}pair<TObjectPtr, TTypeInfo> CObjectInfoMI::GetMemberPair(void) const{ TObjectPtr objectPtr = m_Object.GetObjectPtr(); const CMemberInfo* memberInfo = GetMemberInfo(); memberInfo->UpdateSetFlagMaybe(objectPtr); return make_pair(memberInfo->GetMemberPtr(objectPtr), memberInfo->GetTypeInfo());}void CObjectInfoMI::Erase(EEraseFlag flag){ const CMemberInfo* mInfo = GetMemberInfo(); if ( !(mInfo->Optional() || flag == eErase_Mandatory) || mInfo->GetDefault() ) NCBI_THROW(CSerialException,eIllegalCall, "cannot reset non OPTIONAL member"); TObjectPtr objectPtr = m_Object.GetObjectPtr(); // check 'set' flag bool haveSetFlag = mInfo->HaveSetFlag(); if ( haveSetFlag && mInfo->GetSetFlagNo(objectPtr) ) { // member not set return; } // reset member mInfo->GetTypeInfo()->SetDefault(mInfo->GetMemberPtr(objectPtr)); // update 'set' flag if ( haveSetFlag ) mInfo->UpdateSetFlagNo(objectPtr);}// choice iteratorsvoid CObjectTypeInfoVI::SetLocalReadHook(CObjectIStream& stream, CReadChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetLocalReadHook(stream, hook);}void CObjectTypeInfoVI::SetGlobalReadHook(CReadChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetGlobalReadHook(hook);}void CObjectTypeInfoVI::ResetLocalReadHook(CObjectIStream& stream) const{ GetNCVariantInfo()->ResetLocalReadHook(stream);}void CObjectTypeInfoVI::ResetGlobalReadHook(void) const{ GetNCVariantInfo()->ResetGlobalReadHook();}void CObjectTypeInfoVI::SetPathReadHook(CObjectIStream* stream, const string& path, CReadChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetPathReadHook(stream, path, hook);}void CObjectTypeInfoVI::SetLocalWriteHook(CObjectOStream& stream, CWriteChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetLocalWriteHook(stream, hook);}void CObjectTypeInfoVI::SetGlobalWriteHook(CWriteChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetGlobalWriteHook(hook);}void CObjectTypeInfoVI::ResetLocalWriteHook(CObjectOStream& stream) const{ GetNCVariantInfo()->ResetLocalWriteHook(stream);}void CObjectTypeInfoVI::ResetGlobalWriteHook(void) const{ GetNCVariantInfo()->ResetGlobalWriteHook();}void CObjectTypeInfoVI::SetPathWriteHook(CObjectOStream* stream, const string& path, CWriteChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetPathWriteHook(stream, path, hook);}void CObjectTypeInfoVI::SetLocalSkipHook(CObjectIStream& stream, CSkipChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetLocalSkipHook(stream, hook);}void CObjectTypeInfoVI::SetGlobalSkipHook(CSkipChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetGlobalSkipHook(hook);}void CObjectTypeInfoVI::ResetLocalSkipHook(CObjectIStream& stream) const{ GetNCVariantInfo()->ResetLocalSkipHook(stream);}void CObjectTypeInfoVI::SetPathSkipHook(CObjectIStream* stream, const string& path, CSkipChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetPathSkipHook(stream, path, hook);}void CObjectTypeInfoVI::ResetGlobalSkipHook(void) const{ GetNCVariantInfo()->ResetGlobalSkipHook();}void CObjectTypeInfoVI::SetLocalCopyHook(CObjectStreamCopier& stream, CCopyChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetLocalCopyHook(stream, hook);}void CObjectTypeInfoVI::SetGlobalCopyHook(CCopyChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetGlobalCopyHook(hook);}void CObjectTypeInfoVI::ResetLocalCopyHook(CObjectStreamCopier& stream) const{ GetNCVariantInfo()->ResetLocalCopyHook(stream);}void CObjectTypeInfoVI::ResetGlobalCopyHook(void) const{ GetNCVariantInfo()->ResetGlobalCopyHook();}void CObjectTypeInfoVI::SetPathCopyHook(CObjectStreamCopier* stream, const string& path, CCopyChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetPathCopyHook(stream, path, hook);}void CObjectTypeInfoCV::SetLocalReadHook(CObjectIStream& stream, CReadChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetLocalReadHook(stream, hook);}void CObjectTypeInfoCV::SetGlobalReadHook(CReadChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetGlobalReadHook(hook);}void CObjectTypeInfoCV::ResetLocalReadHook(CObjectIStream& stream) const{ GetNCVariantInfo()->ResetLocalReadHook(stream);}void CObjectTypeInfoCV::ResetGlobalReadHook(void) const{ GetNCVariantInfo()->ResetGlobalReadHook();}void CObjectTypeInfoCV::SetPathReadHook(CObjectIStream* stream, const string& path, CReadChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetPathReadHook(stream, path, hook);}void CObjectTypeInfoCV::SetLocalWriteHook(CObjectOStream& stream, CWriteChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetLocalWriteHook(stream, hook);}void CObjectTypeInfoCV::SetGlobalWriteHook(CWriteChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetGlobalWriteHook(hook);}void CObjectTypeInfoCV::ResetLocalWriteHook(CObjectOStream& stream) const{ GetNCVariantInfo()->ResetLocalWriteHook(stream);}void CObjectTypeInfoCV::ResetGlobalWriteHook(void) const{ GetNCVariantInfo()->ResetGlobalWriteHook();}void CObjectTypeInfoCV::SetPathWriteHook(CObjectOStream* stream, const string& path, CWriteChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetPathWriteHook(stream, path, hook);}void CObjectTypeInfoCV::SetLocalCopyHook(CObjectStreamCopier& stream, CCopyChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetLocalCopyHook(stream, hook);}void CObjectTypeInfoCV::SetGlobalCopyHook(CCopyChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetGlobalCopyHook(hook);}void CObjectTypeInfoCV::ResetLocalCopyHook(CObjectStreamCopier& stream) const{ GetNCVariantInfo()->ResetLocalCopyHook(stream);}void CObjectTypeInfoCV::ResetGlobalCopyHook(void) const{ GetNCVariantInfo()->ResetGlobalCopyHook();}void CObjectTypeInfoCV::SetPathCopyHook(CObjectStreamCopier* stream, const string& path, CCopyChoiceVariantHook* hook) const{ GetNCVariantInfo()->SetPathCopyHook(stream, path, hook);}void CObjectTypeInfoCV::Init(const CConstObjectInfo& object){ m_ChoiceTypeInfo = object.GetChoiceTypeInfo(); m_VariantIndex = object.GetCurrentChoiceVariantIndex();}pair<TConstObjectPtr, TTypeInfo> CConstObjectInfoCV::GetVariantPair(void) const{ const CVariantInfo* variantInfo = GetVariantInfo(); return make_pair(variantInfo->GetVariantPtr(m_Object.GetObjectPtr()), variantInfo->GetTypeInfo());}pair<TObjectPtr, TTypeInfo> CObjectInfoCV::GetVariantPair(void) const{ TObjectPtr choicePtr = m_Object.GetObjectPtr(); const CChoiceTypeInfo* choiceTypeInfo = m_Object.GetChoiceTypeInfo(); TMemberIndex index = GetVariantIndex(); choiceTypeInfo->SetIndex(choicePtr, index); const CVariantInfo* variantInfo = choiceTypeInfo->GetVariantInfo(index); return make_pair(variantInfo->GetVariantPtr(choicePtr), variantInfo->GetTypeInfo());}END_NCBI_SCOPE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -