109 return f(arg1, arg2);
115 return f(arg1, arg2);
137 storage =
f(arg1, arg2);
188 TIsDefaultFunction isDefault,
189 TSetDefaultFunction setDefault)
203 m_KeyType(keyType), m_KeyOffset(keyOffset),
204 m_ValueType(valueType), m_ValueOffset(valueOffset)
215 m_KeyType(keyType), m_KeyOffset(keyOffset),
216 m_ValueType(valueType), m_ValueOffset(valueOffset)
Root class for all serialization exceptions.
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
const void * TConstObjectPtr
TTypeInfo Get(void) const
CTypeInfo *(* TTypeInfoCreator1)(TTypeInfo)
static CClassTypeInfo * CreateAbstractClassInfo(const char *name)
CTypeInfo *(* TTypeInfoCreator2)(TTypeInfo, TTypeInfo)
ssize_t TPointerOffsetType
#define XSERIAL_TYPEINFO_WRITELOCK
static const TObjectType * SafeCast(TTypeInfo type)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static TTypeInfo Get_CRef(TTypeInfo arg, TTypeInfoCreator1 f)
static TTypeInfo GetInfo(TTypeInfo &storage, TTypeInfo arg, TTypeInfoCreator1 f)
CMemberInfo * AddMember(const char *memberId, const void *memberPtr, const CTypeRef &memberType)
void SetKeyId(const CMemberId &id)
static TTypeInfo GetSet_vector(TTypeInfo arg, TTypeInfoCreator1 f)
static TTypeInfo Get_map(TTypeInfo arg1, TTypeInfo arg2, TTypeInfoCreator2 f)
TIsDefaultFunction m_IsDefault
TSetDefaultFunction m_SetDefault
static TTypeInfo GetSet_list(TTypeInfo arg, TTypeInfoCreator1 f)
static TTypeInfo Get_AutoPtr(TTypeInfo arg, TTypeInfoCreator1 f)
void AssignItemsTags(void)
static TTypeInfo CreateElementTypeInfo(TTypeInfo info)
static TTypeInfo Get_set(TTypeInfo arg, TTypeInfoCreator1 f)
static TTypeInfo Get_multiset(TTypeInfo arg, TTypeInfoCreator1 f)
static TTypeInfo Get_auto_ptr(TTypeInfo arg, TTypeInfoCreator1 f)
static void CannotGetElementOfSet(void)
CStlOneArgTemplate(size_t size, TTypeInfo dataType, bool randomOrder, const string &name)
static TTypeInfo Get_CConstRef(TTypeInfo arg, TTypeInfoCreator1 f)
const CMemberId & GetValueId(void) const
TPointerOffsetType m_ValueOffset
void SetCreateFunction(TTypeCreate func)
virtual bool IsDefault(TConstObjectPtr objectPtr) const override
Check, whether the object contains default value.
TPointerOffsetType m_KeyOffset
void SetDataId(const CMemberId &id)
static void ThrowDuplicateElementError(void)
CStlTwoArgsTemplate(size_t size, TTypeInfo keyType, TPointerOffsetType keyOffset, TTypeInfo valueType, TPointerOffsetType valueOffset, bool randomOrder)
CClassTypeInfo * SetRandomOrder(bool random=true)
static TTypeInfo Get_multimap(TTypeInfo arg1, TTypeInfo arg2, TTypeInfoCreator2 f)
static TTypeInfo Get_vector(TTypeInfo arg, TTypeInfoCreator1 f)
void SetMemFunctions(TTypeCreate create, TIsDefaultFunction isDefault, TSetDefaultFunction setDefault)
const CMemberId & GetKeyId(void) const
virtual void SetDefault(TObjectPtr objectPtr) const override
Set object to default value.
void SetValueId(const CMemberId &id)
static TTypeInfo Get_list(TTypeInfo arg, TTypeInfoCreator1 f)
const struct ncbi::grid::netcache::search::fields::SIZE size
Static variables safety - create on demand, destroy on application termination.
double f(double x_, const double &y_)
static CSafeStatic< CTypeInfoMap > s_TypeMap_auto_ptr
static CSafeStatic< CTypeInfoMap > s_TypeMap_CConstRef
static CSafeStatic< CTypeInfoMap > s_TypeMap_set
static CSafeStatic< CTypeInfoMap > s_TypeMap_CRef
static CSafeStatic< CTypeInfoMap > s_TypeMap_AutoPtr
static CSafeStatic< CTypeInfoMap > s_TypeMap_vector
static CSafeStatic< CTypeInfoMap > s_TypeMapSet_list
static CSafeStatic< CTypeInfoMap > s_TypeMap_multiset
static CSafeStatic< CTypeInfoMap > s_TypeMap_list
static CSafeStatic< CTypeInfoMap > s_TypeMapSet_vector