1 #ifndef CLASSINFOB__HPP
2 #define CLASSINFOB__HPP
61 const void* nonCObject, TTypeCreate createFunc,
64 const CObject* cObject, TTypeCreate createFunc,
67 const void* nonCObject, TTypeCreate createFunc,
70 const CObject* cObject, TTypeCreate createFunc,
77 const void* memberPtr,
const CTypeRef& memberType);
79 const void* memberPtr,
const CTypeRef& memberType);
83 void AssignItemsTags(
void);
86 const type_info&
GetId(
void)
const;
101 static TTypeInfo GetClassInfoByName(
const string& name);
102 static TTypeInfo GetClassInfoById(
const type_info&
id);
106 static void RegisterModule(
const string& module);
107 static void GetRegisteredModuleNames(
TRegModules& modules);
108 static void GetRegisteredClassNames(
const string& module,
TRegClasses&
names);
148 void InitClassTypeInfoBase(
const type_info&
id);
150 void Deregister(
void);
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.
static const struct name_t names[]
void(* TPreReadFunction)(const CTypeInfo *info, void *object)
CMemberInfo * AddMember(CClassTypeInfoBase *info, const char *name, const void *member, TTypeInfo t)
void(* TPreWriteFunction)(const CTypeInfo *info, const void *object)
size_t TMemberIndex
Type used for indexing class members and choice variants.
const void * TConstObjectPtr
void(* TPostWriteFunction)(const CTypeInfo *info, const void *object)
void(* TPostReadFunction)(const CTypeInfo *info, void *object)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
const type_info & GetId(void) const
static TClassesByName * sm_ClassesByName
void DataSpec(EDataSpec spec)
static set< string > * sm_Modules
multimap< string, const CClassTypeInfoBase * > TClassesByName
const CItemsInfo & GetItems(void) const
CItemsInfo::CIterator CParent
virtual EMayContainType GetMayContainType(TTypeInfo type) const
static TClasses * sm_Classes
map< TTypeInfo, EMayContainType > TContainedTypes
CItemsInfo & GetItems(void)
const CItemInfo * GetItemInfo(const string &name) const
static TClassesById * sm_ClassesById
set< string > TRegClasses
CIterator(const CClassTypeInfoBase *type)
set< string > TRegModules
unique_ptr< TContainedTypes > m_ContainedTypes
CIterator(const CClassTypeInfoBase *type, TMemberIndex index)
map< const type_info *, const CClassTypeInfoBase *, CLessTypeInfo > TClassesById
virtual const CObject * GetCObjectPtr(TConstObjectPtr objectPtr) const
set< CClassTypeInfoBase * > TClasses
#define NCBI_XSERIAL_EXPORT
const struct ncbi::grid::netcache::search::fields::SIZE size
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.