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

📄 serialimpl.hpp

📁 ncbi源码
💻 HPP
📖 第 1 页 / 共 3 页
字号:
    BEGIN_NAMED_ENUM_INFO(#EnumName, EnumName, IsInteger)#define SET_ENUM_MODULE(ModuleName) \    NCBI_NS_NCBI::SetModuleName(enumInfo, ModuleName)#define ADD_ENUM_VALUE(EnumValueName, EnumValueValue) \    enumInfo->AddValue(EnumValueName, enumValue = EnumValueValue)#define END_ENUM_IN_INFO END_ENUM_INFO_METHOD#define END_ENUM_INFO END_ENUM_INFO_METHOD// alias definition macros#define SERIAL_ALIAS(RefType) \    NCBI_NAME2(SERIAL_REF_, RefType)#define ALIASED_TYPE_INFO(RefType, RefCode) \    NCBI_NAME2(RefType, RefCode)#define BEGIN_ALIAS_INFO_METHOD(AliasName,ClassName,BaseClassName,SerialRef,Code) \const NCBI_NS_NCBI::CTypeInfo* BaseClassName::GetTypeInfo(void) \{ \    static NCBI_NS_NCBI::CAliasTypeInfo* volatile s_info = 0; \    NCBI_NS_NCBI::CAliasTypeInfo* info = s_info; \    if ( !info ) { \        NCBI_NS_NCBI::CMutexGuard GUARD(NCBI_NS_NCBI::GetTypeInfoMutex()); \        info = s_info; \        if ( !info ) { \            typedef ClassName CClass; \            typedef BaseClassName CClass_Base; \            DECLARE_BASE_OBJECT(ClassName); \            typedef NCBI_NS_NCBI::TTypeInfo (*TGetter)(void); \            TGetter getter = SerialRef Code; \            info = new NCBI_NS_NCBI::CAliasTypeInfo(AliasName, getter()); \            NCBI_NS_NCBI::RegisterTypeInfoObject(info);#define BEGIN_ALIAS_INFO(AliasName,ClassName,RefType,RefCode) \    BEGIN_ALIAS_INFO_METHOD(AliasName, ClassName, \    NCBI_NAME2(ClassName,_Base), \    SERIAL_ALIAS(RefType), RefCode)#define SET_STD_ALIAS_DATA_PTR \    info->SetDataOffset(GetDataPtr(BASE_OBJECT()))#define SET_CLASS_ALIAS_DATA_PTR \    info->SetDataOffset(NCBI_NS_NCBI::TPointerOffsetType(BASE_OBJECT()))#define END_ALIAS_INFO \            s_info = info; \        } \    } \    return info; \}#define SET_ALIAS_MODULE(ModuleName) \    NCBI_NS_NCBI::SetModuleName(info, ModuleName)NCBI_XSERIAL_EXPORTvoid SetModuleName(CTypeInfo* info, const char* name);NCBI_XSERIAL_EXPORTvoid SetModuleName(CEnumeratedTypeValues* info, const char* name);// internal methods// add memberNCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfo t);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfoGetter f);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       const CTypeRef& r);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f1,                       TTypeInfo t);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f1,                       TTypeInfoGetter f);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f1,                       const CTypeRef& r);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       TTypeInfo t);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       TTypeInfoGetter f);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       const CTypeRef& r);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f3,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       TTypeInfo t);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f3,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       TTypeInfoGetter f);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f3,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       const CTypeRef& r);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f4,                       TTypeInfoGetter1 f3,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       TTypeInfo t);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f4,                       TTypeInfoGetter1 f3,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       TTypeInfoGetter f);NCBI_XSERIAL_EXPORTCMemberInfo* AddMember(CClassTypeInfoBase* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f4,                       TTypeInfoGetter1 f3,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       const CTypeRef& r);// add variantNCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfo t);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfoGetter f);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       const CTypeRef& r);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f1,                       TTypeInfo t);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f1,                       TTypeInfoGetter f);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f1,                       const CTypeRef& r);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       TTypeInfo t);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       TTypeInfoGetter f);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       const CTypeRef& r);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f3,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       TTypeInfo t);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f3,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       TTypeInfoGetter f);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f3,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       const CTypeRef& r);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f4,                       TTypeInfoGetter1 f3,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       TTypeInfo t);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f4,                       TTypeInfoGetter1 f3,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       TTypeInfoGetter f);NCBI_XSERIAL_EXPORTCVariantInfo* AddVariant(CChoiceTypeInfo* info, const char* name,                       const void* member,                       TTypeInfoGetter1 f4,                       TTypeInfoGetter1 f3,                       TTypeInfoGetter1 f2,                       TTypeInfoGetter1 f1,                       const CTypeRef& r);// end of internal methodsEND_NCBI_SCOPE/* @} */#endif

⌨️ 快捷键说明

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