TSetDataFunction setFunc)
159 return new void*(0);
173 returnhow ==
eShallow? (data1 == data2) : (data1 == 0 || data2 == 0);
175 else if( data1 == 0 ) {
183 returntype1 == type2 && type1->
Equals(data1, data2, how);
199 else if(
data== 0) {
205 type->Assign(
object,
data, how);
221 in.ReadObject(pointedPtr, pointedType);
225 in.ReadPointer(pointedType).first);
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
std::ofstream out("events_result.xml")
main entry point for tests
ESerialRecursionMode
How to assign and compare child sub-objects of serial objects.
static TObjectType & Get(TObjectPtr object)
const void * TConstObjectPtr
static const TObjectType * SafeCast(TTypeInfo type)
@ eShallow
Assign/Compare pointers only.
@ eRecursive
Recursively.
void CopyPointer(TTypeInfo declaredType)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
void SetWriteFunction(TTypeWriteFunction func)
static void ReadPointer(CObjectIStream &in, TTypeInfo objectType, TObjectPtr objectPtr)
TTypeInfo GetRealDataTypeInfo(TConstObjectPtr object) const
CAsnBinaryDefs::ETagConstructed GetTagConstructed(void) const
CPointerTypeInfo(TTypeInfo type)
virtual TTypeInfo GetRealTypeInfo(TConstObjectPtr object) const
void SetObjectPointer(TObjectPtr object, TObjectPtr pointer) const
virtual CTypeInfo * SetTag(CAsnBinaryDefs::TLongTag tag, CAsnBinaryDefs::ETagClass tagclass=CAsnBinaryDefs::eUniversal, CAsnBinaryDefs::ETagType tagtype=CAsnBinaryDefs::eAutomatic)
CAsnBinaryDefs::ETagType GetTagType(void) const
TTypeInfo GetPointedType(void) const
static TObjectPtr GetPointer(const CPointerTypeInfo *objectType, TObjectPtr objectPtr)
TSetDataFunction m_SetData
virtual bool Equals(TConstObjectPtr object1, TConstObjectPtr object2, ESerialRecursionMode how=eRecursive) const override
Check if both objects contain the same values.
TGetDataFunction m_GetData
virtual void SetDefault(TObjectPtr dst) const override
Set object to default value.
void SetSkipFunction(TTypeSkipFunction func)
static void SetPointer(const CPointerTypeInfo *objectType, TObjectPtr objectPtr, TObjectPtr dataPtr)
void CopyInfoItem(TTypeInfo other)
void SetCreateFunction(TTypeCreate func)
virtual bool IsDefault(TConstObjectPtr object) const override
Check, whether the object contains default value.
virtual CTypeInfo * SetTag(CAsnBinaryDefs::TLongTag tag, CAsnBinaryDefs::ETagClass tagclass=CAsnBinaryDefs::eUniversal, CAsnBinaryDefs::ETagType tagtype=CAsnBinaryDefs::eAutomatic) override
static TTypeInfo GetTypeInfo(TTypeInfo base)
virtual bool Equals(TConstObjectPtr object1, TConstObjectPtr object2, ESerialRecursionMode how=eRecursive) const =0
Check if both objects contain the same values.
EMayContainType IsOrMayContainType(TTypeInfo type) const
static void WritePointer(CObjectOStream &out, TTypeInfo objectType, TConstObjectPtr objectPtr)
TConstObjectPtr GetObjectPointer(TConstObjectPtr object) const
void SetFunctions(TGetDataFunction getFunc, TSetDataFunction setFunc)
void InitPointerTypeInfoFunctions(void)
virtual void Assign(TObjectPtr dst, TConstObjectPtr src, ESerialRecursionMode how=eRecursive) const override
Set object to copy of another one.
void SetCopyFunction(TTypeCopyFunction func)
static TObjectPtr CreatePointer(TTypeInfo objectType, CObjectMemoryPool *memoryPool)
virtual EMayContainType GetMayContainType(TTypeInfo type) const override
static void SkipPointer(CObjectIStream &in, TTypeInfo objectType)
CAsnBinaryDefs::ETagConstructed m_TagConstructed
static void CopyPointer(CObjectStreamCopier &copier, TTypeInfo objectType)
void SetReadFunction(TTypeReadFunction func)
const struct ncbi::grid::netcache::search::fields::SIZE size
std::istream & in(std::istream &in_, double &x_)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4