73 const void* nonCObject, TTypeCreate createFunc,
76 const CObject* cObject, TTypeCreate createFunc,
79 const void* nonCObject, TTypeCreate createFunc,
82 const CObject* cObject, TTypeCreate createFunc,
105 bool IsImplicitNonEmpty(
void)
const;
109 void AddSubClassNull(
const CMemberId&
id);
110 void AddSubClassNull(
const char*
id);
114 void SetParentClass(
TTypeInfo parentClass);
116 void SetGlobalHook(
const CTempString& member_names,
133 void RegisterSubClasses(
void)
const;
136 void InitClassTypeInfo(
void);
148 void UpdateFunctions(
void);
Read hook for data member of a containing object (eg, SEQUENCE)
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
Include a standard set of the NCBI C++ Toolkit most basic headers.
std::ofstream out("events_result.xml")
main entry point for tests
ESerialRecursionMode
How to assign and compare child sub-objects of serial objects.
size_t TMemberIndex
Type used for indexing class members and choice variants.
TTypeInfo(* TTypeInfoGetter)(void)
const void * TConstObjectPtr
const type_info *(* TGetTypeIdFunction)(TConstObjectPtr object)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
const CClassTypeInfo * m_ParentClassInfo
virtual TTypeInfo GetRealTypeInfo(TConstObjectPtr object) const
virtual bool IsDefault(TConstObjectPtr object) const =0
Check, whether the object contains default value.
bool RandomOrder(void) const
const CMemberInfo * GetMemberInfo(TMemberIndex index) const
bool Implicit(void) const
virtual void Assign(TObjectPtr dst, TConstObjectPtr src, ESerialRecursionMode how=eRecursive) const =0
Set object to copy of another one.
const TSubClasses * SubClasses(void) const
list< pair< CMemberId, CTypeRef > > TSubClasses
CClassTypeInfoBase CParent
virtual bool IsType(TTypeInfo type) const
const CMemberInfo * GetMemberInfo(const CTempString &name) const
const CMemberInfo * GetMemberInfo(const CIterator &i) const
const type_info * GetCPlusPlusTypeInfo(TConstObjectPtr object) const
virtual bool IsParentClassOf(const CClassTypeInfo *classInfo) const
virtual bool Equals(TConstObjectPtr object1, TConstObjectPtr object2, ESerialRecursionMode how=eRecursive) const =0
Check if both objects contain the same values.
const CItemsInfo & GetMembers(void) const
virtual void SetDefault(TObjectPtr dst) const =0
Set object to default value.
TGetTypeIdFunction m_GetTypeIdFunction
unique_ptr< TSubClasses > m_SubClasses
virtual EMayContainType CalcMayContainType(TTypeInfo typeInfo) const
#define NCBI_XSERIAL_EXPORT
const struct ncbi::grid::netcache::search::fields::SIZE size
std::istream & in(std::istream &in_, double &x_)