⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typeinfo.cpp

📁 ncbi源码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    x_CreateInfoItemIfNeeded();    m_InfoItem->SetNamespaceName(ns_name);}bool CTypeInfo::HasNamespacePrefix(void) const{    return m_InfoItem ? m_InfoItem->HasNamespacePrefix() : false;}const string& CTypeInfo::GetNamespacePrefix(void) const{    return m_InfoItem ? m_InfoItem->GetNamespacePrefix() : kEmptyStr;}void CTypeInfo::SetNamespacePrefix(const string& ns_prefix) const{    x_CreateInfoItemIfNeeded();    m_InfoItem->SetNamespacePrefix(ns_prefix);}void CTypeInfo::x_CreateInfoItemIfNeeded(void) const{    if (!m_InfoItem) {        m_InfoItem = new CNamespaceInfoItem;    }}const string& CTypeInfo::GetModuleName(void) const{    return m_ModuleName;}void CTypeInfo::SetModuleName(const string& name){    if ( !m_ModuleName.empty() )        NCBI_THROW(CSerialException,eFail, "cannot change module name");    m_ModuleName = name;}void CTypeInfo::SetModuleName(const char* name){    SetModuleName(string(name));}void CTypeInfo::Delete(TObjectPtr /*object*/) const{    NCBI_THROW(CSerialException,eIllegalCall,        "This type cannot be allocated on heap");}void CTypeInfo::DeleteExternalObjects(TObjectPtr /*object*/) const{}TTypeInfo CTypeInfo::GetRealTypeInfo(TConstObjectPtr ) const{    return this;}bool CTypeInfo::IsType(TTypeInfo typeInfo) const{    return this == typeInfo;}bool CTypeInfo::MayContainType(TTypeInfo /*typeInfo*/) const{    return false;}const CObject* CTypeInfo::GetCObjectPtr(TConstObjectPtr /*objectPtr*/) const{    return 0;}bool CTypeInfo::IsParentClassOf(const CClassTypeInfo* /*classInfo*/) const{    return false;}void CTypeInfo::SetCreateFunction(TTypeCreate func){    m_CreateFunction = func;}void CTypeInfo::SetLocalReadHook(CObjectIStream& stream,                                 CReadObjectHook* hook){    CMutexGuard guard(GetTypeInfoMutex());    m_ReadHookData.SetLocalHook(stream.m_ObjectHookKey, hook);}void CTypeInfo::SetGlobalReadHook(CReadObjectHook* hook){    CMutexGuard guard(GetTypeInfoMutex());    m_ReadHookData.SetGlobalHook(hook);}void CTypeInfo::ResetLocalReadHook(CObjectIStream& stream){    CMutexGuard guard(GetTypeInfoMutex());    m_ReadHookData.ResetLocalHook(stream.m_ObjectHookKey);}void CTypeInfo::ResetGlobalReadHook(void){    CMutexGuard guard(GetTypeInfoMutex());    m_ReadHookData.ResetGlobalHook();}void CTypeInfo::SetPathReadHook(CObjectIStream* in, const string& path,                                CReadObjectHook* hook){    CMutexGuard guard(GetTypeInfoMutex());    m_ReadHookData.SetPathHook(in,path,hook);}void CTypeInfo::SetGlobalWriteHook(CWriteObjectHook* hook){    CMutexGuard guard(GetTypeInfoMutex());    m_WriteHookData.SetGlobalHook(hook);}void CTypeInfo::SetLocalWriteHook(CObjectOStream& stream,                                 CWriteObjectHook* hook){    CMutexGuard guard(GetTypeInfoMutex());    m_WriteHookData.SetLocalHook(stream.m_ObjectHookKey, hook);}void CTypeInfo::ResetGlobalWriteHook(void){    CMutexGuard guard(GetTypeInfoMutex());    m_WriteHookData.ResetGlobalHook();}void CTypeInfo::ResetLocalWriteHook(CObjectOStream& stream){    CMutexGuard guard(GetTypeInfoMutex());    m_WriteHookData.ResetLocalHook(stream.m_ObjectHookKey);}void CTypeInfo::SetPathWriteHook(CObjectOStream* out, const string& path,                                 CWriteObjectHook* hook){    CMutexGuard guard(GetTypeInfoMutex());    m_WriteHookData.SetPathHook(out,path,hook);}void CTypeInfo::SetGlobalSkipHook(CSkipObjectHook* hook){    CMutexGuard guard(GetTypeInfoMutex());    m_SkipHookData.SetGlobalHook(hook);}void CTypeInfo::SetLocalSkipHook(CObjectIStream& stream,                                 CSkipObjectHook* hook){    CMutexGuard guard(GetTypeInfoMutex());    m_SkipHookData.SetLocalHook(stream.m_ObjectSkipHookKey, hook);}void CTypeInfo::ResetGlobalSkipHook(void){    CMutexGuard guard(GetTypeInfoMutex());    m_SkipHookData.ResetGlobalHook();}void CTypeInfo::ResetLocalSkipHook(CObjectIStream& stream){    CMutexGuard guard(GetTypeInfoMutex());    m_SkipHookData.ResetLocalHook(stream.m_ObjectSkipHookKey);}void CTypeInfo::SetPathSkipHook(CObjectIStream* in, const string& path,                                CSkipObjectHook* hook){    CMutexGuard guard(GetTypeInfoMutex());    m_SkipHookData.SetPathHook(in,path,hook);}void CTypeInfo::SetGlobalCopyHook(CCopyObjectHook* hook){    CMutexGuard guard(GetTypeInfoMutex());    m_CopyHookData.SetGlobalHook(hook);}void CTypeInfo::SetLocalCopyHook(CObjectStreamCopier& stream,                                 CCopyObjectHook* hook){    CMutexGuard guard(GetTypeInfoMutex());    m_CopyHookData.SetLocalHook(stream.m_ObjectHookKey, hook);}void CTypeInfo::ResetGlobalCopyHook(void){    CMutexGuard guard(GetTypeInfoMutex());    m_CopyHookData.ResetGlobalHook();}void CTypeInfo::ResetLocalCopyHook(CObjectStreamCopier& stream){    CMutexGuard guard(GetTypeInfoMutex());    m_CopyHookData.ResetLocalHook(stream.m_ObjectHookKey);}void CTypeInfo::SetPathCopyHook(CObjectStreamCopier* copier, const string& path,                                CCopyObjectHook* hook){    CMutexGuard guard(GetTypeInfoMutex());    m_CopyHookData.SetPathHook(copier ? &(copier->In()) : 0,path,hook);}void CTypeInfo::SetReadFunction(TTypeReadFunction func){    m_ReadHookData.SetDefaultFunction(func);}void CTypeInfo::SetWriteFunction(TTypeWriteFunction func){    m_WriteHookData.SetDefaultFunction(func);}void CTypeInfo::SetCopyFunction(TTypeCopyFunction func){    m_CopyHookData.SetDefaultFunction(func);}void CTypeInfo::SetSkipFunction(TTypeSkipFunction func){    m_SkipHookData.SetDefaultFunction(func);}void CTypeInfoFunctions::ReadWithHook(CObjectIStream& stream,                                      TTypeInfo objectType,                                      TObjectPtr objectPtr){    CReadObjectHook* hook =        objectType->m_ReadHookData.GetHook(stream.m_ObjectHookKey);    if (!hook) {        hook = objectType->m_ReadHookData.GetPathHook(stream);    }    if ( hook )        hook->ReadObject(stream, CObjectInfo(objectPtr, objectType));    else        objectType->DefaultReadData(stream, objectPtr);}void CTypeInfoFunctions::WriteWithHook(CObjectOStream& stream,                                       TTypeInfo objectType,                                       TConstObjectPtr objectPtr){    CWriteObjectHook* hook =        objectType->m_WriteHookData.GetHook(stream.m_ObjectHookKey);    if (!hook) {        hook = objectType->m_WriteHookData.GetPathHook(stream);    }    if ( hook )        hook->WriteObject(stream, CConstObjectInfo(objectPtr, objectType));    else        objectType->DefaultWriteData(stream, objectPtr);}void CTypeInfoFunctions::SkipWithHook(CObjectIStream& stream,                                      TTypeInfo objectType){    CSkipObjectHook* hook =        objectType->m_SkipHookData.GetHook(stream.m_ObjectSkipHookKey);    if (!hook) {        hook = objectType->m_SkipHookData.GetPathHook(stream);    }    if ( hook )        hook->SkipObject(stream, objectType);    else        objectType->DefaultSkipData(stream);}void CTypeInfoFunctions::CopyWithHook(CObjectStreamCopier& stream,                                      TTypeInfo objectType){    CCopyObjectHook* hook =        objectType->m_CopyHookData.GetHook(stream.m_ObjectHookKey);    if (!hook) {        hook = objectType->m_CopyHookData.GetPathHook(stream.In());    }    if ( hook )        hook->CopyObject(stream, objectType);    else        objectType->DefaultCopyData(stream);}CNamespaceInfoItem::CNamespaceInfoItem(void){    m_NsPrefixSet = false;}CNamespaceInfoItem::CNamespaceInfoItem(const CNamespaceInfoItem& other){    m_NsName      = other.m_NsName;    m_NsPrefix    = other.m_NsPrefix;    m_NsPrefixSet = other.m_NsPrefixSet;}CNamespaceInfoItem::~CNamespaceInfoItem(void){}bool CNamespaceInfoItem::HasNamespaceName(void) const{    return !m_NsName.empty();}const string& CNamespaceInfoItem::GetNamespaceName(void) const{    return m_NsName;}void CNamespaceInfoItem::SetNamespaceName(const string& ns_name){    m_NsName = ns_name;}bool CNamespaceInfoItem::HasNamespacePrefix(void) const{    return m_NsPrefixSet;}const string& CNamespaceInfoItem::GetNamespacePrefix(void) const{    return m_NsPrefix;}void CNamespaceInfoItem::SetNamespacePrefix(const string& ns_prefix){    m_NsPrefix = ns_prefix;    m_NsPrefixSet = !m_NsPrefix.empty();}END_NCBI_SCOPE

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -