47 class CChoiceTypeInfoReader;
72 const void* nonCObject, TTypeCreate createFunc,
74 TWhichFunction whichFunc,
75 TSelectFunction selectFunc,
76 TResetFunction resetFunc);
78 const CObject* cObject, TTypeCreate createFunc,
80 TWhichFunction whichFunc,
81 TSelectFunction selectFunc,
82 TResetFunction resetFunc);
84 const void* nonCObject, TTypeCreate createFunc,
86 TWhichFunction whichFunc,
87 TSelectFunction selectFunc,
88 TResetFunction resetFunc);
90 const CObject* cObject, TTypeCreate createFunc,
92 TWhichFunction whichFunc,
93 TSelectFunction selectFunc,
94 TResetFunction resetFunc);
102 const void* variantPtr,
105 const void* variantPtr,
125 void SetGlobalHook(
const CTempString& variant_names,
128 void AdjustChoiceTypeInfoFunctions(
void);
133 void SetSelectDelay(TSelectDelayFunction func);
135 void SetSelectorInfo(
const void*
offset,
size_t sz);
143 void InitChoiceTypeInfoFunctions(
void);
Read hook for a choice variant (CHOICE)
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
ESerialRecursionMode
How to assign and compare child sub-objects of serial objects.
CVariantInfo * AddVariant(CChoiceTypeInfo *info, const char *name, const void *member, TTypeInfo t)
size_t TMemberIndex
Type used for indexing class members and choice variants.
const void * TConstObjectPtr
ssize_t TPointerOffsetType
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
TWhichFunction m_WhichFunction
TPointerOffsetType m_WhichOffset
const CVariantInfo * GetVariantInfo(const CTempString &name) const
CClassTypeInfoBase CParent
virtual bool IsDefault(TConstObjectPtr object) const =0
Check, whether the object contains default value.
TConstObjectPtr GetData(TConstObjectPtr object, TMemberIndex index) const
TSelectFunction m_SelectFunction
TObjectPtr GetData(TObjectPtr object, TMemberIndex index) const
TResetFunction m_ResetFunction
const CItemsInfo & GetVariants(void) const
bool MayBeEmpty(void) const
TMemberIndex GetIndex(TConstObjectPtr object) const
const CVariantInfo * GetVariantInfo(const CIterator &i) const
const CVariantInfo * GetVariantInfo(TMemberIndex index) const
virtual void Assign(TObjectPtr dst, TConstObjectPtr src, ESerialRecursionMode how=eRecursive) const =0
Set object to copy of another one.
virtual bool Equals(TConstObjectPtr object1, TConstObjectPtr object2, ESerialRecursionMode how=eRecursive) const =0
Check if both objects contain the same values.
TSelectDelayFunction m_SelectDelayFunction
virtual void SetDefault(TObjectPtr dst) const =0
Set object to default value.
void ResetIndex(TObjectPtr object) const
void SetIndex(TObjectPtr object, TMemberIndex index, CObjectMemoryPool *pool=0) const
#define NCBI_XSERIAL_EXPORT
const struct ncbi::grid::netcache::search::fields::SIZE size