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
 

Friends

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 modify_doxy.py rev. 669887