NCBI C++ ToolKit
Classes | Macros | Typedefs | Enumerations | Functions
serialbase.hpp File Reference
#include <corelib/ncbistd.hpp>
#include <corelib/ncbiobj.hpp>
#include <serial/exception.hpp>
#include <serial/serialdef.hpp>
#include <serial/error_codes.hpp>
#include <typeinfo>
#include <bitset>
#include <util/bitset/ncbi_bitset.hpp>
#include <util/bitset/bmserial.h>
+ Include dependency graph for serialbase.hpp:

Go to the source code of this file.

Go to the SVN repository for this file.

Classes

class  CClassPrePostReadWrite< Class >
 
class  CSerialObject
 Base class for all serializable objects. More...
 
class  CSerialObject::CMemberIndex< Enum, N >
 
class  CSerialAttribInfoItem
 XML attribute information item. More...
 
class  CAnyContentObject
 Serializable object that stores any combination of parsable data. More...
 
class  CSerialUserOp
 Base class for user-defined serializable classes to allow for objects assignment and comparison. More...
 
class  CAliasBase< TPrim >
 Alias wrapper templates. More...
 
class  CStdAliasBase< TStd >
 
class  CStringAliasBase< TString >
 
class  CStdAliasBase< CStrictId< TKey, TStorage > >
 
class  CUnionBuffer< T >
 
class  MSerial_Flags
 
class  MSerial_Format
 
class  MSerial_Format_AsnText
 
class  MSerial_Format_AsnBinary
 
class  MSerial_Format_Xml
 
class  MSerial_Format_Json
 
class  MSerial_VerifyData
 MSerial_VerifyData –. More...
 
class  MSerial_SkipUnknownMembers
 MSerial_SkipUnknownMembers –. More...
 
class  MSerial_SkipUnknownVariants
 MSerial_SkipUnknownVariants –. More...
 
class  MSerialXml_DefaultStringEncoding
 MSerialXml_DefaultStringEncoding –. More...
 
class  MSerial_FixNonPrint
 MSerial_FixNonPrint –. More...
 
struct  SNcbi_AsnTextProxy
 

Macros

#define BITSTRING_AS_VECTOR   0
 
#define MSerial_AsnText   MSerial_Format_AsnText()
 I/O stream manipulators –. More...
 
#define MSerial_AsnBinary   MSerial_Format_AsnBinary()
 
#define MSerial_Xml   MSerial_Format_Xml()
 
#define MSerial_Json   MSerial_Format_Json()
 
#define MSerial_FlatAsnText   MSerial_AsnText(fSerial_AsnText_NoIndentation | fSerial_AsnText_NoEol)
 Flat ASN text output - no indentation or line breaks. More...
 
#define ASN_STRING(s)   SNcbi_AsnTextProxy(s)
 Macro simplifying usage of ASN.1 strings - no quoting or escaping is required. More...
 
#define ASN(...)   ASN_STRING(#__VA_ARGS__)
 
#define NCBISER_HAVE_PRE_READ(Class)
 
#define NCBISER_HAVE_POST_READ(Class)
 
#define NCBISER_HAVE_PRE_WRITE(Class)
 
#define NCBISER_HAVE_POST_WRITE(Class)
 
#define NCBISER_HAVE_GLOBAL_READ_MEMBER_HOOK(Class, Name, Hook)
 
#define NCBISER_HAVE_GLOBAL_READ_VARIANT_HOOK(Class, Name, Hook)
 
#define DECLARE_INTERNAL_TYPE_INFO()
 
#define ENUM_METHOD_NAME(EnumName)    NCBI_NAME2(GetTypeInfo_enum_,EnumName)
 
#define DECLARE_ENUM_INFO(EnumName)    const NCBI_NS_NCBI::CEnumeratedTypeValues* ENUM_METHOD_NAME(EnumName)(void)
 
#define DECLARE_INTERNAL_ENUM_INFO(EnumName)    static DECLARE_ENUM_INFO(EnumName)
 
#define DECLARE_STD_ALIAS_TYPE_INFO()
 
#define ASN_STRUCT_NAME(AsnStructName)   NCBI_NAME2(struct_, AsnStructName)
 
#define ASN_STRUCT_METHOD_NAME(AsnStructName)    NCBI_NAME2(GetTypeInfo_struct_,AsnStructName)
 
#define DECLARE_ASN_TYPE_INFO(AsnStructName)    const NCBI_NS_NCBI::CTypeInfo* ASN_STRUCT_METHOD_NAME(AsnStructName)(void)
 
#define DECLARE_ASN_STRUCT_INFO(AsnStructName)
 
#define DECLARE_ASN_CHOICE_INFO(AsnChoiceName)    DECLARE_ASN_TYPE_INFO(AsnChoiceName)
 

Typedefs

typedef bm::bvector< > CBitString
 
typedef void(* TPreReadFunction) (const CTypeInfo *info, void *object)
 
typedef void(* TPostReadFunction) (const CTypeInfo *info, void *object)
 
typedef void(* TPreWriteFunction) (const CTypeInfo *info, const void *object)
 
typedef void(* TPostWriteFunction) (const CTypeInfo *info, const void *object)
 
typedef unsigned int TSerial_Format_Flags
 MSerial_Format –. More...
 

Enumerations

enum  EResetVariant { eDoResetVariant , eDoNotResetVariant }
 

Functions

void SetPreRead (CClassTypeInfo *info, TPreReadFunction function)
 
void SetPostRead (CClassTypeInfo *info, TPostReadFunction function)
 
void SetPreRead (CChoiceTypeInfo *info, TPreReadFunction function)
 
void SetPostRead (CChoiceTypeInfo *info, TPostReadFunction function)
 
void SetPreWrite (CClassTypeInfo *info, TPreWriteFunction function)
 
void SetPostWrite (CClassTypeInfo *info, TPostWriteFunction function)
 
void SetPreWrite (CChoiceTypeInfo *info, TPreWriteFunction function)
 
void SetPostWrite (CChoiceTypeInfo *info, TPostWriteFunction function)
 
void SetGlobalReadMemberHook (CTypeInfo *start_info, const char *member_names, CReadClassMemberHook *hook)
 
void SetGlobalReadVariantHook (CTypeInfo *start_info, const char *variant_names, CReadChoiceVariantHook *hook)
 
TObjectPtr GetClassObjectPtr (const CObjectInfoMI &member)
 
TObjectPtr GetChoiceObjectPtr (const CObjectInfoCV &variant)
 
template<class C >
CSerialAssign (C &dest, const C &src, ESerialRecursionMode how=eRecursive)
 Set object to copy of another one. More...
 
template<class C >
bool SerialEquals (const C &object1, const C &object2, ESerialRecursionMode how=eRecursive)
 Compare serial objects. More...
 
template<typename C >
CSerialClone (const C &src)
 Create on heap a clone of the source object. More...
 
CNcbiOstreamoperator<< (CNcbiOstream &io, const MSerial_Flags &obj)
 
CNcbiIstreamoperator>> (CNcbiIstream &io, const MSerial_Flags &obj)
 
CNcbiIstreamoperator>> (CNcbiIstream &io, const MSerial_SkipUnknownMembers &obj)
 
CNcbiIstreamoperator>> (CNcbiIstream &io, const MSerial_SkipUnknownVariants &obj)
 
CNcbiIosMSerial_None (CNcbiIos &io)
 Reset all formatting flags for the I/O stream. More...
 
CNcbiIosMSerial_VerifyDefault (CNcbiIos &io)
 Define verification of un-initialized data members. More...
 
CNcbiIosMSerial_VerifyNo (CNcbiIos &io)
 
CNcbiIosMSerial_VerifyYes (CNcbiIos &io)
 
CNcbiIosMSerial_VerifyDefValue (CNcbiIos &io)
 
CNcbiOstreamoperator<< (CNcbiOstream &str, const CSerialObject &obj)
 
CNcbiIstreamoperator>> (CNcbiIstream &str, CSerialObject &obj)
 
CNcbiOstreamoperator<< (CNcbiOstream &str, const CConstObjectInfo &obj)
 
CNcbiIstreamoperator>> (CNcbiIstream &str, const CObjectInfo &obj)
 
CNcbiOstreamWriteObject (CNcbiOstream &str, TConstObjectPtr ptr, TTypeInfo info)
 
CNcbiIstreamReadObject (CNcbiIstream &str, TObjectPtr ptr, TTypeInfo info)
 
template<typename T , typename std::enable_if< std::is_base_of< CSerialObject, T >::value >::type * = nullptr>
istream & operator>> (istream &in, CRef< T > &obj)
 Read data from a stream to a CRef<CSerialObject>. The CRef is reset before reading. More...
 
const char * operator>> (const char *s, CSerialObject &obj)
 Read text ASN.1 from a c-string to a serial object. Return the unread part of the string. More...
 
string operator>> (const string &s, CSerialObject &obj)
 Read text ASN.1 from an std::string to a serial object. Return the unread part of the string. More...
 
template<typename T , typename std::enable_if< std::is_base_of< CSerialObject, T >::value >::type * = nullptr>
const char * operator>> (const char *s, CRef< T > &obj)
 Read data from a c-string to a CRef<CSerialObject>. More...
 
template<typename T , typename std::enable_if< std::is_base_of< CSerialObject, T >::value >::type * = nullptr>
string operator>> (const string &s, CRef< T > &obj)
 Read data from an std::string to a CRef<CSerialObject>. More...
 
template<typename T , typename std::enable_if< std::is_base_of< CSerialObject, T >::value >::type * = nullptr>
ostream & operator<< (ostream &out, const CRef< T > &obj)
 Write a CRef<CSerialObject> to a stream. More...
 
template<typename T , typename std::enable_if< std::is_base_of< CSerialObject, T >::value >::type * = nullptr>
ostream & operator<< (ostream &out, const CConstRef< T > &obj)
 Write a CConstRef<CSerialObject> to a stream. More...
 
stringoperator<< (string &s, const CSerialObject &obj)
 Write a serial object> to an std::string. More...
 
template<typename T , typename std::enable_if< std::is_base_of< CSerialObject, T >::value >::type * = nullptr>
stringoperator<< (string &s, const CRef< T > &obj)
 Write a CRef<CSerialObject> to an std::string. More...
 
template<typename T , typename std::enable_if< std::is_base_of< CSerialObject, T >::value >::type * = nullptr>
stringoperator<< (string &s, const CConstRef< T > &obj)
 Write a CConstRef<CSerialObject> to an std::string. More...
 
SNcbi_AsnTextProxy operator""_asn (const char *s, size_t len)
 User literal allowing to initialize CRef<> with an ASN.1 string. More...
 
template<class CInfo >
void NCBISERSetPreRead (const void *, CInfo *)
 
template<class CInfo >
void NCBISERSetPostRead (const void *, CInfo *)
 
template<class CInfo >
void NCBISERSetPreWrite (const void *, CInfo *)
 
template<class CInfo >
void NCBISERSetPostWrite (const void *, CInfo *)
 
template<class CInfo >
void NCBISERSetGlobalReadMemberHook (const void *, CInfo *)
 
template<class CInfo >
void NCBISERSetGlobalReadVariantHook (const void *, CInfo *)
 

Macro Definition Documentation

◆ BITSTRING_AS_VECTOR

#define BITSTRING_AS_VECTOR   0

Definition at line 43 of file serialbase.hpp.

Modified on Fri Apr 26 16:22:24 2024 by modify_doxy.py rev. 669887