NCBI C++ ToolKit
Public Member Functions | Static Protected Member Functions | Private Types | Private Attributes | List of all members
CEnumeratedTypeInfo Class Reference

Search Toolkit Book for CEnumeratedTypeInfo

#include <serial/impl/enumerated.hpp>

+ Inheritance diagram for CEnumeratedTypeInfo:
+ Collaboration diagram for CEnumeratedTypeInfo:

Public Member Functions

 CEnumeratedTypeInfo (size_t size, const CEnumeratedTypeValues *values, bool sign=false)
 
const CEnumeratedTypeValuesValues (void) const
 
virtual bool IsDefault (TConstObjectPtr object) const override
 Check, whether the object contains default value. More...
 
virtual bool Equals (TConstObjectPtr, TConstObjectPtr, ESerialRecursionMode how=eRecursive) const override
 Check if both objects contain the same values. More...
 
virtual void SetDefault (TObjectPtr dst) const override
 Set object to default value. More...
 
virtual void Assign (TObjectPtr dst, TConstObjectPtr src, ESerialRecursionMode how=eRecursive) const override
 Set object to copy of another one. More...
 
virtual bool IsSigned (void) const override
 
virtual Int4 GetValueInt4 (TConstObjectPtr objectPtr) const override
 
virtual Uint4 GetValueUint4 (TConstObjectPtr objectPtr) const override
 
virtual void SetValueInt4 (TObjectPtr objectPtr, Int4 value) const override
 
virtual void SetValueUint4 (TObjectPtr objectPtr, Uint4 value) const override
 
virtual Int8 GetValueInt8 (TConstObjectPtr objectPtr) const override
 
virtual Uint8 GetValueUint8 (TConstObjectPtr objectPtr) const override
 
virtual void SetValueInt8 (TObjectPtr objectPtr, Int8 value) const override
 
virtual void SetValueUint8 (TObjectPtr objectPtr, Uint8 value) const override
 
virtual void GetValueString (TConstObjectPtr objectPtr, string &value) const override
 
virtual void SetValueString (TObjectPtr objectPtr, const string &value) const override
 
- Public Member Functions inherited from CPrimitiveTypeInfo
 CPrimitiveTypeInfo (size_t size, EPrimitiveValueType valueType, bool isSigned=true)
 
 CPrimitiveTypeInfo (size_t size, const char *name, EPrimitiveValueType valueType, bool isSigned=true)
 
 CPrimitiveTypeInfo (size_t size, const string &name, EPrimitiveValueType valueType, bool isSigned=true)
 
EPrimitiveValueType GetPrimitiveValueType (void) const
 
virtual bool GetValueBool (TConstObjectPtr objectPtr) const
 
virtual void SetValueBool (TObjectPtr objectPtr, bool value) const
 
virtual char GetValueChar (TConstObjectPtr objectPtr) const
 
virtual void SetValueChar (TObjectPtr objectPtr, char value) const
 
int GetValueInt (TConstObjectPtr objectPtr) const
 
void SetValueInt (TObjectPtr objectPtr, int value) const
 
unsigned GetValueUInt (TConstObjectPtr objectPtr) const
 
void SetValueUInt (TObjectPtr objectPtr, unsigned value) const
 
long GetValueLong (TConstObjectPtr objectPtr) const
 
void SetValueLong (TObjectPtr objectPtr, long value) const
 
unsigned long GetValueULong (TConstObjectPtr objectPtr) const
 
void SetValueULong (TObjectPtr objectPtr, unsigned long value) const
 
virtual double GetValueDouble (TConstObjectPtr objectPtr) const
 
virtual void SetValueDouble (TObjectPtr objectPtr, double value) const
 
virtual void GetValueOctetString (TConstObjectPtr objectPtr, vector< char > &value) const
 
virtual void SetValueOctetString (TObjectPtr objectPtr, const vector< char > &value) const
 
virtual void GetValueBitString (TConstObjectPtr objectPtr, CBitString &value) const
 
virtual void SetValueBitString (TObjectPtr objectPtr, const CBitString &value) const
 
virtual void GetValueAnyContent (TConstObjectPtr objectPtr, CAnyContentObject &value) const
 
virtual void SetValueAnyContent (TObjectPtr objectPtr, const CAnyContentObject &value) const
 
void SetMemFunctions (TTypeCreate, TIsDefaultFunction, TSetDefaultFunction, TEqualsFunction, TAssignFunction)
 
void SetIOFunctions (TTypeReadFunction, TTypeWriteFunction, TTypeCopyFunction, TTypeSkipFunction)
 
- Public Member Functions inherited from CTypeInfo
virtual ~CTypeInfo (void)
 
ETypeFamily GetTypeFamily (void) const
 
const stringGetName (void) const
 Get name of this type. More...
 
bool HasNamespaceName (void) const
 Check if data type has namespace name. More...
 
const stringGetNamespaceName (void) const
 Get namespace name. More...
 
const CTypeInfoSetNamespaceName (const string &ns_name) const
 Set namespace name. More...
 
const CTypeInfoSetNsQualified (bool qualified) const
 Set namespace 'qualified' property. More...
 
ENsQualifiedMode IsNsQualified (void) const
 Get namespace 'qualified' property. More...
 
bool HasNamespacePrefix (void) const
 Check if data type has namespace prefix. More...
 
const stringGetNamespacePrefix (void) const
 Get namespace prefix. More...
 
void SetNamespacePrefix (const string &ns_prefix) const
 Set namespace prefix. More...
 
virtual const stringGetModuleName (void) const
 Get module name. More...
 
void SetModuleName (const string &name)
 Set module name. More...
 
void SetModuleName (const char *name)
 Set module name. More...
 
size_t GetSize (void) const
 Get size of data object in memory (like sizeof in C) More...
 
TObjectPtr Create (CObjectMemoryPool *memoryPool=0) const
 Create object of this type on heap (can be deleted by operator delete) More...
 
virtual void Delete (TObjectPtr object) const
 Delete object. More...
 
virtual void DeleteExternalObjects (TObjectPtr object) const
 
bool IsCObject (void) const
 Check is this TypeInfo object is kind of CClassTypeInfoBase. More...
 
virtual const CObjectGetCObjectPtr (TConstObjectPtr objectPtr) const
 
virtual TTypeInfo GetRealTypeInfo (TConstObjectPtr object) const
 
const CSerialUserOpAsCSerialUserOp (TConstObjectPtr obj) const
 
CSerialUserOpAsCSerialUserOp (TObjectPtr obj) const
 
bool IsInternal (void) const
 Check if this TypeInfo describes internal unnamed type. More...
 
const stringGetInternalName (void) const
 Return internal type access string e.g. Int-fuzz.range. More...
 
const stringGetInternalModuleName (void) const
 Return internal type's owner module name. More...
 
void SetInternalName (const string &name)
 Mark this type as internal. More...
 
const stringGetAccessName (void) const
 Return internal or regular name. More...
 
const stringGetAccessModuleName (void) const
 Return internal or regular module name. More...
 
void ReadData (CObjectIStream &in, TObjectPtr object) const
 
void WriteData (CObjectOStream &out, TConstObjectPtr object) const
 
void CopyData (CObjectStreamCopier &copier) const
 
void SkipData (CObjectIStream &in) const
 
virtual bool IsParentClassOf (const CClassTypeInfo *classInfo) const
 
virtual bool IsType (TTypeInfo type) const
 
bool MayContainType (TTypeInfo type) const
 
EMayContainType IsOrMayContainType (TTypeInfo type) const
 
virtual EMayContainType GetMayContainType (TTypeInfo type) const
 
void SetGlobalReadHook (CReadObjectHook *hook)
 Set global (for all input streams) read hook. More...
 
void SetLocalReadHook (CObjectIStream &in, CReadObjectHook *hook)
 Set local (for a specific input stream) read hook. More...
 
void ResetGlobalReadHook (void)
 Reset global read hooks. More...
 
void ResetLocalReadHook (CObjectIStream &in)
 Reset local read hook. More...
 
void SetPathReadHook (CObjectIStream *in, const string &path, CReadObjectHook *hook)
 Set local context-specific read hook. More...
 
void SetGlobalWriteHook (CWriteObjectHook *hook)
 Set global (for all input streams) write hook. More...
 
void SetLocalWriteHook (CObjectOStream &out, CWriteObjectHook *hook)
 Set local (for a specific input stream) write hook. More...
 
void ResetGlobalWriteHook (void)
 Reset global write hooks. More...
 
void ResetLocalWriteHook (CObjectOStream &out)
 Reset local write hook. More...
 
void SetPathWriteHook (CObjectOStream *out, const string &path, CWriteObjectHook *hook)
 Set local context-specific write hook. More...
 
void SetLocalSkipHook (CObjectIStream &in, CSkipObjectHook *hook)
 Set local (for a specific input stream) skip hook. More...
 
void ResetLocalSkipHook (CObjectIStream &in)
 Reset local skip hook. More...
 
void SetPathSkipHook (CObjectIStream *in, const string &path, CSkipObjectHook *hook)
 Set local context-specific skip hook. More...
 
void SetGlobalCopyHook (CCopyObjectHook *hook)
 Set global (for all input streams) copy hook. More...
 
void SetLocalCopyHook (CObjectStreamCopier &copier, CCopyObjectHook *hook)
 Set local (for a specific input stream) copy hook. More...
 
void ResetGlobalCopyHook (void)
 Reset global copy hooks. More...
 
void ResetLocalCopyHook (CObjectStreamCopier &copier)
 Reset local copy hook. More...
 
void SetPathCopyHook (CObjectStreamCopier *copier, const string &path, CCopyObjectHook *hook)
 Set local context-specific copy hook. More...
 
void DefaultReadData (CObjectIStream &in, TObjectPtr object) const
 
void DefaultWriteData (CObjectOStream &out, TConstObjectPtr object) const
 
void DefaultCopyData (CObjectStreamCopier &copier) const
 
void DefaultSkipData (CObjectIStream &in) const
 
CTypeInfoSetTagType (CAsnBinaryDefs::ETagType ttype)
 
CAsnBinaryDefs::ETagType GetTagType (void) const
 
bool IsTagImplicit (void) const
 
virtual CTypeInfoSetTag (CAsnBinaryDefs::TLongTag tag, CAsnBinaryDefs::ETagClass tagclass=CAsnBinaryDefs::eUniversal, CAsnBinaryDefs::ETagType tagtype=CAsnBinaryDefs::eAutomatic)
 
CAsnBinaryDefs::TLongTag GetTag (void) const
 
bool HasTag (void) const
 
CAsnBinaryDefs::ETagClass GetTagClass (void) const
 
CAsnBinaryDefs::ETagConstructed GetTagConstructed (void) const
 
bool IsTagConstructed (void) const
 
void CodeVersion (size_t codever)
 
size_t GetCodeVersion (void) const
 
void DataSpec (EDataSpec spec)
 
EDataSpec GetDataSpec (void) const
 
void CopyInfoItem (TTypeInfo other)
 

Static Protected Member Functions

static TObjectPtr CreateEnum (TTypeInfo objectType, CObjectMemoryPool *memoryPool)
 
static void ReadEnum (CObjectIStream &in, TTypeInfo objectType, TObjectPtr objectPtr)
 
static void WriteEnum (CObjectOStream &out, TTypeInfo objectType, TConstObjectPtr objectPtr)
 
static void SkipEnum (CObjectIStream &in, TTypeInfo objectType)
 
static void CopyEnum (CObjectStreamCopier &copier, TTypeInfo objectType)
 

Private Types

typedef CPrimitiveTypeInfo CParent
 

Private Attributes

const CPrimitiveTypeInfom_ValueType
 
const CEnumeratedTypeValuesm_Values
 

Additional Inherited Members

- Public Types inherited from CPrimitiveTypeInfo
typedef bool(* TIsDefaultFunction) (TConstObjectPtr objectPtr)
 
typedef void(* TSetDefaultFunction) (TObjectPtr objectPtr)
 
typedef bool(* TEqualsFunction) (TConstObjectPtr o1, TConstObjectPtr o2, ESerialRecursionMode how)
 
typedef void(* TAssignFunction) (TObjectPtr dst, TConstObjectPtr src, ESerialRecursionMode how)
 
- Public Types inherited from CTypeInfo
enum  EMayContainType { eMayContainType_no , eMayContainType_recursion , eMayContainType_yes }
 
typedef TObjectPtr(* TTypeCreate) (TTypeInfo objectType, CObjectMemoryPool *memoryPool)
 
- Static Public Member Functions inherited from CPrimitiveTypeInfo
static const CPrimitiveTypeInfoGetIntegerTypeInfo (size_t size, bool sign=true)
 
- Protected Types inherited from CTypeInfo
enum  { eNoExplicitTag = -1 }
 
- Protected Member Functions inherited from CTypeInfo
 CTypeInfo (ETypeFamily typeFamily, size_t size)
 
 CTypeInfo (ETypeFamily typeFamily, size_t size, const char *name)
 
 CTypeInfo (ETypeFamily typeFamily, size_t size, const string &name)
 
void SetCreateFunction (TTypeCreate func)
 
void SetReadFunction (TTypeReadFunction func)
 
TTypeReadFunction GetReadFunction (void) const
 
void SetWriteFunction (TTypeWriteFunction func)
 
void SetCopyFunction (TTypeCopyFunction func)
 
void SetSkipFunction (TTypeSkipFunction func)
 
- Protected Attributes inherited from CPrimitiveTypeInfo
EPrimitiveValueType m_ValueType
 
bool m_Signed
 
TIsDefaultFunction m_IsDefault
 
TSetDefaultFunction m_SetDefault
 
TEqualsFunction m_Equals
 
TAssignFunction m_Assign
 
- Protected Attributes inherited from CTypeInfo
bool m_IsCObject
 
bool m_IsInternal
 
CAsnBinaryDefs::TLongTag m_Tag
 
CAsnBinaryDefs::ETagClass m_TagClass
 
CAsnBinaryDefs::ETagType m_TagType
 
CAsnBinaryDefs::ETagConstructed m_TagConstructed
 
atomic< ETriStatem_CSerialUserOp
 

Detailed Description

Definition at line 49 of file enumerated.hpp.


The documentation for this class was generated from the following files:
Modified on Mon May 27 04:35:31 2024 by modify_doxy.py rev. 669887