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

📄 objectiter.hpp

📁 ncbi源码
💻 HPP
📖 第 1 页 / 共 2 页
字号:
    void ResetLocalWriteHook(CObjectOStream& stream) const;    void ResetGlobalWriteHook(void) const;    void SetPathWriteHook(CObjectOStream* stream, const string& path,                          CWriteChoiceVariantHook* hook) const;    void SetLocalSkipHook(CObjectIStream& stream,                          CSkipChoiceVariantHook* hook) const;    void SetGlobalSkipHook(CSkipChoiceVariantHook* hook) const;    void ResetLocalSkipHook(CObjectIStream& stream) const;    void ResetGlobalSkipHook(void) const;    void SetPathSkipHook(CObjectIStream* stream, const string& path,                         CSkipChoiceVariantHook* hook) const;    void SetLocalCopyHook(CObjectStreamCopier& stream,                          CCopyChoiceVariantHook* hook) const;    void SetGlobalCopyHook(CCopyChoiceVariantHook* hook) const;    void ResetLocalCopyHook(CObjectStreamCopier& stream) const;    void ResetGlobalCopyHook(void) const;    void SetPathCopyHook(CObjectStreamCopier* stream, const string& path,                         CCopyChoiceVariantHook* hook) const;public: // mostly for internal use    const CVariantInfo* GetVariantInfo(void) const;protected:    void Init(const CObjectTypeInfo& info);    void Init(const CObjectTypeInfo& info, TMemberIndex index);    const CChoiceTypeInfo* GetChoiceTypeInfo(void) const;private:    CVariantInfo* GetNCVariantInfo(void) const;};class NCBI_XSERIAL_EXPORT CConstObjectInfoMI : public CObjectTypeInfoMI{    typedef CObjectTypeInfoMI CParent;public:    CConstObjectInfoMI(void);    CConstObjectInfoMI(const CConstObjectInfo& object);    CConstObjectInfoMI(const CConstObjectInfo& object, TMemberIndex index);        const CConstObjectInfo& GetClassObject(void) const;        CConstObjectInfoMI& operator=(const CConstObjectInfo& object);        bool IsSet(void) const;    CConstObjectInfo GetMember(void) const;    CConstObjectInfo operator*(void) const;    bool CanGet(void) const;private:    pair<TConstObjectPtr, TTypeInfo> GetMemberPair(void) const;    CConstObjectInfo m_Object;};class NCBI_XSERIAL_EXPORT CObjectInfoMI : public CObjectTypeInfoMI{    typedef CObjectTypeInfoMI CParent;public:    CObjectInfoMI(void);    CObjectInfoMI(const CObjectInfo& object);    CObjectInfoMI(const CObjectInfo& object, TMemberIndex index);        const CObjectInfo& GetClassObject(void) const;        CObjectInfoMI& operator=(const CObjectInfo& object);        bool IsSet(void) const;    CObjectInfo GetMember(void) const;    CObjectInfo operator*(void) const;    // reset value of member to default state    enum EEraseFlag {        eErase_Optional, // default - erase optional member only        eErase_Mandatory // allow erasing mandatory members, may be dangerous!    };    void Erase(EEraseFlag flag = eErase_Optional);    void Reset(void);    bool CanGet(void) const;private:    pair<TObjectPtr, TTypeInfo> GetMemberPair(void) const;    CObjectInfo m_Object;};class NCBI_XSERIAL_EXPORT CObjectTypeInfoCV{public:    CObjectTypeInfoCV(void);    CObjectTypeInfoCV(const CObjectTypeInfo& info);    CObjectTypeInfoCV(const CObjectTypeInfo& info, TMemberIndex index);    CObjectTypeInfoCV(const CConstObjectInfo& object);    TMemberIndex GetVariantIndex(void) const;    const string& GetAlias(void) const;    bool Valid(void) const;    operator bool(void) const;    bool operator!(void) const;    bool operator==(const CObjectTypeInfoCV& iter) const;    bool operator!=(const CObjectTypeInfoCV& iter) const;    CObjectTypeInfoCV& operator=(const CObjectTypeInfo& info);    CObjectTypeInfoCV& operator=(const CConstObjectInfo& object);    CObjectTypeInfo GetChoiceType(void) const;    CObjectTypeInfo GetVariantType(void) const;    CObjectTypeInfo operator*(void) const;    void SetLocalReadHook(CObjectIStream& stream,                          CReadChoiceVariantHook* hook) const;    void SetGlobalReadHook(CReadChoiceVariantHook* hook) const;    void ResetLocalReadHook(CObjectIStream& stream) const;    void ResetGlobalReadHook(void) const;    void SetPathReadHook(CObjectIStream* stream, const string& path,                         CReadChoiceVariantHook* hook) const;    void SetLocalWriteHook(CObjectOStream& stream,                          CWriteChoiceVariantHook* hook) const;    void SetGlobalWriteHook(CWriteChoiceVariantHook* hook) const;    void ResetLocalWriteHook(CObjectOStream& stream) const;    void ResetGlobalWriteHook(void) const;    void SetPathWriteHook(CObjectOStream* stream, const string& path,                          CWriteChoiceVariantHook* hook) const;    void SetLocalCopyHook(CObjectStreamCopier& stream,                          CCopyChoiceVariantHook* hook) const;    void SetGlobalCopyHook(CCopyChoiceVariantHook* hook) const;    void ResetLocalCopyHook(CObjectStreamCopier& stream) const;    void ResetGlobalCopyHook(void) const;    void SetPathCopyHook(CObjectStreamCopier* stream, const string& path,                          CCopyChoiceVariantHook* hook) const;public: // mostly for internal use    const CVariantInfo* GetVariantInfo(void) const;protected:    const CChoiceTypeInfo* GetChoiceTypeInfo(void) const;    void Init(const CObjectTypeInfo& info);    void Init(const CObjectTypeInfo& info, TMemberIndex index);    void Init(const CConstObjectInfo& object);private:    const CChoiceTypeInfo* m_ChoiceTypeInfo;    TMemberIndex m_VariantIndex;private:    CVariantInfo* GetNCVariantInfo(void) const;};class NCBI_XSERIAL_EXPORT CConstObjectInfoCV : public CObjectTypeInfoCV{    typedef CObjectTypeInfoCV CParent;public:    CConstObjectInfoCV(void);    CConstObjectInfoCV(const CConstObjectInfo& object);    CConstObjectInfoCV(const CConstObjectInfo& object, TMemberIndex index);    const CConstObjectInfo& GetChoiceObject(void) const;        CConstObjectInfoCV& operator=(const CConstObjectInfo& object);        CConstObjectInfo GetVariant(void) const;    CConstObjectInfo operator*(void) const;private:    pair<TConstObjectPtr, TTypeInfo> GetVariantPair(void) const;    CConstObjectInfo m_Object;    TMemberIndex m_VariantIndex;};class NCBI_XSERIAL_EXPORT CObjectInfoCV : public CObjectTypeInfoCV{    typedef CObjectTypeInfoCV CParent;public:    CObjectInfoCV(void);    CObjectInfoCV(const CObjectInfo& object);    CObjectInfoCV(const CObjectInfo& object, TMemberIndex index);    const CObjectInfo& GetChoiceObject(void) const;        CObjectInfoCV& operator=(const CObjectInfo& object);        CObjectInfo GetVariant(void) const;    CObjectInfo operator*(void) const;private:    pair<TObjectPtr, TTypeInfo> GetVariantPair(void) const;    CObjectInfo m_Object;};/* @} */#include <serial/objectiter.inl>END_NCBI_SCOPE#endif  /* OBJECTITER__HPP *//* ---------------------------------------------------------------------------* $Log: objectiter.hpp,v $* Revision 1000.2  2004/06/01 19:38:47  gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.11** Revision 1.11  2004/04/30 13:28:39  gouriano* Remove obsolete function declarations** Revision 1.10  2004/01/05 14:24:08  gouriano* Added possibility to set serialization hooks by stack path** Revision 1.9  2003/09/30 17:12:30  gouriano* Modified TypeIterators to skip unset optional members** Revision 1.8  2003/08/14 20:03:57  vasilche* Avoid memory reallocation when reading over preallocated object.* Simplified CContainerTypeInfo iterators interface.** Revision 1.7  2003/08/11 15:25:50  grichenk* Added possibility to reset an object member from* a read hook (including non-optional members).** Revision 1.6  2003/07/29 18:47:46  vasilche* Fixed thread safeness of object stream hooks.** Revision 1.5  2003/07/17 22:49:31  vasilche* Added export specifiers.* Added missing methods.** Revision 1.4  2003/04/15 16:18:15  siyan* Added doxygen support** Revision 1.3  2002/12/23 18:38:51  dicuccio* Added WIn32 export specifier: NCBI_XSERIAL_EXPORT.* Moved all CVS logs to the end.** Revision 1.2  2001/05/17 14:58:35  lavr* Typos corrected** Revision 1.1  2000/10/20 15:51:25  vasilche* Fixed data error processing.* Added interface for constructing container objects directly into output stream.* object.hpp, object.inl and object.cpp were split to* objectinfo.*, objecttype.*, objectiter.* and objectio.*.** ===========================================================================*/

⌨️ 快捷键说明

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