NCBI C++ ToolKit
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
CMemberInfo Class Reference

Search Toolkit Book for CMemberInfo

#include <serial/impl/member.hpp>

+ Inheritance diagram for CMemberInfo:
+ Collaboration diagram for CMemberInfo:

Public Types

enum  ESetFlag { eSetNo = 0 , eSetMaybe = 1 , eSetYes = 3 }
typedef TConstObjectPtr(* TMemberGetConst) (const CMemberInfo *memberInfo, TConstObjectPtr classPtr)
typedef TObjectPtr(* TMemberGet) (const CMemberInfo *memberInfo, TObjectPtr classPtr)
- Public Types inherited from CItemInfo
enum  { eNoOffset = -1 }

Public Member Functions

 CMemberInfo (const CClassTypeInfoBase *classType, const CMemberId &id, TPointerOffsetType offset, const CTypeRef &type)
 CMemberInfo (const CClassTypeInfoBase *classType, const CMemberId &id, TPointerOffsetType offset, TTypeInfo type)
 CMemberInfo (const CClassTypeInfoBase *classType, const char *id, TPointerOffsetType offset, const CTypeRef &type)
 CMemberInfo (const CClassTypeInfoBase *classType, const char *id, TPointerOffsetType offset, TTypeInfo type)
const CClassTypeInfoBaseGetClassType (void) const
bool Optional (void) const
CMemberInfoSetOptional (void)
bool Nillable (void) const
CMemberInfoSetNillable (void)
CMemberInfoSetNoPrefix (void)
CMemberInfoSetAttlist (void)
CMemberInfoSetNotag (void)
CMemberInfoSetAnyContent (void)
CMemberInfoSetCompressed (void)
CMemberInfoSetNsQualified (bool qualified)
TConstObjectPtr GetDefault (void) const
CMemberInfoSetDefault (TConstObjectPtr def)
CMemberInfoSetElementDefault (TConstObjectPtr def)
bool HaveSetFlag (void) const
CMemberInfoSetSetFlag (const bool *setFlag)
CMemberInfoSetSetFlag (const Uint4 *setFlag)
CMemberInfoSetOptional (const bool *setFlag)
ESetFlag GetSetFlag (TConstObjectPtr object) const
 return current value of 'setFlag' More...
bool GetSetFlagYes (TConstObjectPtr object) const
 true if 'setFlag' is not eSetNo More...
bool GetSetFlagNo (TConstObjectPtr object) const
 true if 'setFlag' is eSetNo More...
void UpdateSetFlag (TObjectPtr object, ESetFlag value) const
 set value of 'setFlag' More...
void UpdateSetFlag (TObjectPtr object, TConstObjectPtr src) const
 set value of 'setFlag' from object of the same type (if necessary) More...
void UpdateSetFlagYes (TObjectPtr object) const
 set 'setFlag' to eSetYes More...
void UpdateSetFlagMaybe (TObjectPtr object) const
 set 'setFlag' to eSetMaybe More...
bool UpdateSetFlagNo (TObjectPtr object) const
 set 'setFlag' to eSetNo and return true if previous value wasn't eSetNo More...
bool CompareSetFlags (TConstObjectPtr object1, TConstObjectPtr object2) const
bool CanBeDelayed (void) const
CMemberInfoSetDelayBuffer (CDelayBuffer *buffer)
CDelayBufferGetDelayBuffer (TObjectPtr object) const
const CDelayBufferGetDelayBuffer (TConstObjectPtr object) const
void SetParentClass (void)
void ReadMember (CObjectIStream &in, TObjectPtr classPtr) const
void ReadMissingMember (CObjectIStream &in, TObjectPtr classPtr) const
void WriteMember (CObjectOStream &out, TConstObjectPtr classPtr) const
void CopyMember (CObjectStreamCopier &copier) const
void CopyMissingMember (CObjectStreamCopier &copier) const
void SkipMember (CObjectIStream &in) const
void SkipMissingMember (CObjectIStream &in) const
TObjectPtr GetMemberPtr (TObjectPtr classPtr) const
TConstObjectPtr GetMemberPtr (TConstObjectPtr classPtr) const
void SetGlobalReadHook (CReadClassMemberHook *hook)
void SetLocalReadHook (CObjectIStream &in, CReadClassMemberHook *hook)
void ResetGlobalReadHook (void)
void ResetLocalReadHook (CObjectIStream &in)
void SetPathReadHook (CObjectIStream *in, const string &path, CReadClassMemberHook *hook)
void SetGlobalWriteHook (CWriteClassMemberHook *hook)
void SetLocalWriteHook (CObjectOStream &out, CWriteClassMemberHook *hook)
void ResetGlobalWriteHook (void)
void ResetLocalWriteHook (CObjectOStream &out)
void SetPathWriteHook (CObjectOStream *out, const string &path, CWriteClassMemberHook *hook)
void SetLocalSkipHook (CObjectIStream &in, CSkipClassMemberHook *hook)
void ResetLocalSkipHook (CObjectIStream &in)
void SetPathSkipHook (CObjectIStream *in, const string &path, CSkipClassMemberHook *hook)
void SetGlobalCopyHook (CCopyClassMemberHook *hook)
void SetLocalCopyHook (CObjectStreamCopier &copier, CCopyClassMemberHook *hook)
void ResetGlobalCopyHook (void)
void ResetLocalCopyHook (CObjectStreamCopier &copier)
void SetPathCopyHook (CObjectStreamCopier *copier, const string &path, CCopyClassMemberHook *hook)
void DefaultReadMember (CObjectIStream &in, TObjectPtr classPtr) const
void DefaultReadMissingMember (CObjectIStream &in, TObjectPtr classPtr) const
void DefaultWriteMember (CObjectOStream &out, TConstObjectPtr classPtr) const
void DefaultCopyMember (CObjectStreamCopier &copier) const
void DefaultCopyMissingMember (CObjectStreamCopier &copier) const
void DefaultSkipMember (CObjectIStream &in) const
void DefaultSkipMissingMember (CObjectIStream &in) const
virtual void UpdateDelayedBuffer (CObjectIStream &in, TObjectPtr classPtr) const override
- Public Member Functions inherited from CItemInfo
 CItemInfo (const CMemberId &id, TPointerOffsetType offset, TTypeInfo type)
 CItemInfo (const CMemberId &id, TPointerOffsetType offset, const CTypeRef &type)
 CItemInfo (const char *id, TPointerOffsetType offset, TTypeInfo type)
 CItemInfo (const char *id, TPointerOffsetType offset, const CTypeRef &type)
virtual ~CItemInfo (void)
const CMemberIdGetId (void) const
CMemberIdGetId (void)
TMemberIndex GetIndex (void) const
TPointerOffsetType GetOffset (void) const
TTypeInfo GetTypeInfo (void) const
TObjectPtr GetItemPtr (TObjectPtr object) const
TConstObjectPtr GetItemPtr (TConstObjectPtr object) const
bool NonEmpty (void) const
CItemInfoSetNonEmpty (void)
bool Optional (void) const
void Validate (TConstObjectPtr classPtr, const CObjectStack &stk) const
CItemInfoRestrict (ESerialFacet type, const string &pattern)
CItemInfoRestrict (ESerialFacet type, Uint8 value)
CItemInfoRestrictI (ESerialFacet type, Int8 value)
CItemInfoRestrictD (ESerialFacet type, double value)
template<typename T >
CItemInfoRestrictV (ESerialFacet type, T value)

Private Types

typedef CItemInfo CParent

Private Member Functions

TObjectPtr CreateClass (void) const
void SetReadFunction (TMemberReadFunction func)
void SetReadMissingFunction (TMemberReadFunction func)
void SetWriteFunction (TMemberWriteFunction func)
void SetCopyFunction (TMemberCopyFunction func)
void SetCopyMissingFunction (TMemberCopyFunction func)
void SetSkipFunction (TMemberSkipFunction func)
void SetSkipMissingFunction (TMemberSkipFunction func)
virtual void UpdateFunctions (void) override

Private Attributes

const CClassTypeInfoBasem_ClassType
TConstObjectPtr m_Default
TPointerOffsetType m_SetFlagOffset
Uint4 m_BitSetMask
TPointerOffsetType m_DelayOffset
TMemberGetConst m_GetConstFunction
TMemberGet m_GetFunction
CHookPairData< CReadClassMemberHook, TMemberReadFunctionm_ReadHookData
CHookData< CWriteClassMemberHook, TMemberWriteFunctionm_WriteHookData
CHookPairData< CSkipClassMemberHook, TMemberSkipFunctionm_SkipHookData
CHookPairData< CCopyClassMemberHook, TMemberCopyFunctionm_CopyHookData


class CMemberInfoFunctions

Additional Inherited Members

- Protected Attributes inherited from CItemInfo
bool m_Optional
const CSerialFacetm_Restrict

Detailed Description

Definition at line 66 of file member.hpp.

The documentation for this class was generated from the following files:
Modified on Wed Apr 17 13:10:19 2024 by rev. 669887