⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utdatabaseu.h

📁 DataDraw is an ultra-fast persistent database for high performance programs written in C. It s so fa
💻 H
📖 第 1 页 / 共 3 页
字号:
    (utSyms.HashValue)[utSym2ValidIndex(_Sym)] = (value), \    (void)utRecordField(utModuleID, 7, utSym2ValidIndex(_Sym), false))#define utSymGetNext(_Sym) (utSyms.Next[utSym2ValidIndex(_Sym)])#define utSymSetNext(_Sym, value) ( \    (void)utRecordField(utModuleID, 8, utSym2ValidIndex(_Sym), true), \    (utSyms.Next)[utSym2ValidIndex(_Sym)] = (value), \    (void)utRecordField(utModuleID, 8, utSym2ValidIndex(_Sym), false))#define utSymGetSymArrayIndex(_Sym) (utSyms.SymArrayIndex[utSym2ValidIndex(_Sym)])#define utSymSetSymArrayIndex(_Sym, value) ( \    (void)utRecordField(utModuleID, 9, utSym2ValidIndex(_Sym), true), \    (utSyms.SymArrayIndex)[utSym2ValidIndex(_Sym)] = (value), \    (void)utRecordField(utModuleID, 9, utSym2ValidIndex(_Sym), false))#define utSymSetConstructorCallback(func) (utSymConstructorCallback = (func))#define utSymGetConstructorCallback() (utSymConstructorCallback)#define utFirstSym() (utRootData.usedSym == 0? utSymNull : utIndex2Sym(0))#define utLastSym() (utRootData.usedSym == 0? utSymNull : \    utIndex2Sym(utRootData.usedSym - 1))#define utNextSym(Sym) (utSym2ValidIndex(Sym) + 1 == utRootData.usedSym? utSymNull : \    (Sym) + 1)#define utPrevSym(Sym) (utSym2ValidIndex(Sym) == 0? utSymNull : (Sym) - 1)#define utForeachSym(var) \    for(var = utIndex2Sym(0); utSym2Index(var) != utRootData.usedSym; var++)#define utEndForeachSym#define utSymFreeAll() (utSetUsedSym(0), utSetUsedSymName(0))#define utSymAllocRaw() ( \    utRootData.usedSym == utRootData.allocatedSym && (utSymAllocMore(), true), \    utTemp_.Sym = utIndex2Sym(utRootData.usedSym), \    utSetUsedSym(utUsedSym() + 1), \    utTemp_.Sym)#define utSymAlloc() ( \    utRootData.usedSym == utRootData.allocatedSym && (utSymAllocMore(), true), \    utTemp_.Sym = utIndex2Sym(utRootData.usedSym), \    utSetUsedSym(utUsedSym() + 1), \    utSymSetNameIndex(utTemp_.Sym, 0), \    utSymSetNumName(utTemp_.Sym, 0), \    utSymSetNumName(utTemp_.Sym, 0), \    utSymSetHashValue(utTemp_.Sym, 0), \    utSymSetNext(utTemp_.Sym, utSymNull), \    utSymSetSymArrayIndex(utTemp_.Sym, 0), \    utSymConstructorCallback != NULL && (utSymConstructorCallback(utTemp_.Sym), true), \    utTemp_.Sym)void utSymAllocMore(void);void utSymAllocNames(utSym Sym, uint32 numNames);void utSymResizeNames(utSym Sym, uint32 numNames);void utSymFreeNames(utSym Sym);void utCompactSymNames(void);/*----------------------------------------------------------------------------------------  Fields for class Dynarray.----------------------------------------------------------------------------------------*/struct utDynarrayFields {    uint32 *ValueIndex;    uint32 *NumValue;    uint8 *Value;    uint16 *ValueSize;    uint32 *UsedValue;    uint32 *Size;};extern struct utDynarrayFields utDynarrays;#define utDynarrayGetValueIndex(_Dynarray) (utDynarrays.ValueIndex[utDynarray2ValidIndex(_Dynarray)])#define utDynarraySetValueIndex(_Dynarray, value) ( \    (void)utRecordField(utModuleID, 10, utDynarray2ValidIndex(_Dynarray), true), \    (utDynarrays.ValueIndex)[utDynarray2ValidIndex(_Dynarray)] = (value), \    (void)utRecordField(utModuleID, 10, utDynarray2ValidIndex(_Dynarray), false))#define utDynarrayGetNumValue(_Dynarray) (utDynarrays.NumValue[utDynarray2ValidIndex(_Dynarray)])#define utDynarraySetNumValue(_Dynarray, value) ( \    (void)utRecordField(utModuleID, 11, utDynarray2ValidIndex(_Dynarray), true), \    (utDynarrays.NumValue)[utDynarray2ValidIndex(_Dynarray)] = (value), \    (void)utRecordField(utModuleID, 11, utDynarray2ValidIndex(_Dynarray), false))#if defined(DD_DEBUG)#define utDynarrayCheckValueIndex(Dynarray, x) ((uint32)(x) < utDynarrayGetNumValue(Dynarray)? (x) : \    (utAssert(false),(x)))#else#define utDynarrayCheckValueIndex(Dynarray, x) (x)#endif#define utDynarrayGetiValue(_Dynarray, x) ((utDynarrays.Value)[ \    utDynarrayGetValueIndex(_Dynarray) + utDynarrayCheckValueIndex(_Dynarray, (x))])#define utDynarrayGetValues(Dynarray) (utDynarrays.Value + utDynarrayGetValueIndex(Dynarray))#define utDynarraySetValue(Dynarray, valuePtr) ( \    (void)utRecordArray(utModuleID, 12, utDynarrayGetValueIndex(Dynarray), utDynarrayGetNumValue(Dynarray), true), \    memcpy(utDynarrayGetValues(Dynarray), valuePtr, \    utDynarrayGetNumValue(Dynarray)*sizeof(uint8)), \    (void)utRecordArray(utModuleID, 12, utDynarrayGetValueIndex(Dynarray), utDynarrayGetNumValue(Dynarray), false))#define utDynarraySetiValue(Dynarray, x, value) ( \    (void)utRecordField(utModuleID, 12, utDynarrayGetValueIndex(Dynarray) + (x), true), \    (utDynarrays.Value)[ \    utDynarrayGetValueIndex(Dynarray) + utDynarrayCheckValueIndex(Dynarray, (x))] = (value), \    (void)utRecordField(utModuleID, 12, utDynarrayGetValueIndex(Dynarray) + (x), false))#define utDynarrayGetValueSize(_Dynarray) (utDynarrays.ValueSize[utDynarray2ValidIndex(_Dynarray)])#define utDynarraySetValueSize(_Dynarray, value) ( \    (void)utRecordField(utModuleID, 13, utDynarray2ValidIndex(_Dynarray), true), \    (utDynarrays.ValueSize)[utDynarray2ValidIndex(_Dynarray)] = (value), \    (void)utRecordField(utModuleID, 13, utDynarray2ValidIndex(_Dynarray), false))#define utDynarrayGetUsedValue(_Dynarray) (utDynarrays.UsedValue[utDynarray2ValidIndex(_Dynarray)])#define utDynarraySetUsedValue(_Dynarray, value) ( \    (void)utRecordField(utModuleID, 14, utDynarray2ValidIndex(_Dynarray), true), \    (utDynarrays.UsedValue)[utDynarray2ValidIndex(_Dynarray)] = (value), \    (void)utRecordField(utModuleID, 14, utDynarray2ValidIndex(_Dynarray), false))#define utDynarrayGetSize(_Dynarray) (utDynarrays.Size[utDynarray2ValidIndex(_Dynarray)])#define utDynarraySetSize(_Dynarray, value) ( \    (void)utRecordField(utModuleID, 15, utDynarray2ValidIndex(_Dynarray), true), \    (utDynarrays.Size)[utDynarray2ValidIndex(_Dynarray)] = (value), \    (void)utRecordField(utModuleID, 15, utDynarray2ValidIndex(_Dynarray), false))#define utDynarraySetConstructorCallback(func) (utDynarrayConstructorCallback = (func))#define utDynarrayGetConstructorCallback() (utDynarrayConstructorCallback)#define utDynarraySetDestructorCallback(func) (utDynarrayDestructorCallback = (func))#define utDynarrayGetDestructorCallback() (utDynarrayDestructorCallback)#define utDynarrayNextFree(_Dynarray) (((utDynarray *)(void *)(utDynarrays.ValueIndex))[utDynarray2ValidIndex(_Dynarray)])#define utDynarraySetNextFree(Dynarray, value) ( \    (void)utRecordField(utModuleID, 10, utDynarray2ValidIndex(Dynarray), true), \    ((utDynarray *)(void *)(utDynarrays.ValueIndex)) \    [utDynarray2ValidIndex(Dynarray)] = (value), \    (void)utRecordField(utModuleID, 10, utDynarray2ValidIndex(Dynarray), false))#define utDynarrayAllocRaw() ( \    utRootData.firstFreeDynarray != utDynarrayNull? \        (utTemp_.Dynarray = utRootData.firstFreeDynarray, \        utSetFirstFreeDynarray(utDynarrayNextFree(utTemp_.Dynarray)), true) \    : (utRootData.usedDynarray == utRootData.allocatedDynarray && (utDynarrayAllocMore(), true), \        utTemp_.Dynarray = utIndex2Dynarray(utRootData.usedDynarray), \        utSetUsedDynarray(utUsedDynarray() + 1)), \    utTemp_.Dynarray)#define utDynarrayAlloc() ( \    utRootData.firstFreeDynarray != utDynarrayNull? \        (utTemp_.Dynarray = utRootData.firstFreeDynarray, \        utSetFirstFreeDynarray(utDynarrayNextFree(utTemp_.Dynarray)), true) \    : (utRootData.usedDynarray == utRootData.allocatedDynarray && (utDynarrayAllocMore(), true), \        utTemp_.Dynarray = utIndex2Dynarray(utRootData.usedDynarray), \        utSetUsedDynarray(utUsedDynarray() + 1)), \    utDynarraySetValueIndex(utTemp_.Dynarray, 0), \    utDynarraySetNumValue(utTemp_.Dynarray, 0), \    utDynarraySetNumValue(utTemp_.Dynarray, 0), \    utDynarraySetValueSize(utTemp_.Dynarray, 0), \    utDynarraySetUsedValue(utTemp_.Dynarray, 0), \    utDynarraySetSize(utTemp_.Dynarray, 0), \    utDynarrayConstructorCallback != NULL && (utDynarrayConstructorCallback(utTemp_.Dynarray), true), \    utTemp_.Dynarray)#define utDynarrayFree(Dynarray) (utDynarrayFreeValues(Dynarray), \    utDynarraySetNextFree(Dynarray, utRootData.firstFreeDynarray), \    utSetFirstFreeDynarray(Dynarray))void utDynarrayDestroy(utDynarray Dynarray);void utDynarrayAllocMore(void);void utDynarrayAllocValues(utDynarray Dynarray, uint32 numValues);void utDynarrayResizeValues(utDynarray Dynarray, uint32 numValues);void utDynarrayFreeValues(utDynarray Dynarray);void utCompactDynarrayValues(void);/*----------------------------------------------------------------------------------------  Fields for class SymArray.----------------------------------------------------------------------------------------*/struct utSymArrayFields {    uint32 *SymIndex;    uint32 *NumSym;    utSym *Sym;    uint32 *UsedSym;};extern struct utSymArrayFields utSymArrays;#define utSymArrayGetSymIndex(_SymArray) (utSymArrays.SymIndex[utSymArray2ValidIndex(_SymArray)])#define utSymArraySetSymIndex(_SymArray, value) ( \    (void)utRecordField(utModuleID, 16, utSymArray2ValidIndex(_SymArray), true), \    (utSymArrays.SymIndex)[utSymArray2ValidIndex(_SymArray)] = (value), \    (void)utRecordField(utModuleID, 16, utSymArray2ValidIndex(_SymArray), false))#define utSymArrayGetNumSym(_SymArray) (utSymArrays.NumSym[utSymArray2ValidIndex(_SymArray)])#define utSymArraySetNumSym(_SymArray, value) ( \    (void)utRecordField(utModuleID, 17, utSymArray2ValidIndex(_SymArray), true), \    (utSymArrays.NumSym)[utSymArray2ValidIndex(_SymArray)] = (value), \    (void)utRecordField(utModuleID, 17, utSymArray2ValidIndex(_SymArray), false))#if defined(DD_DEBUG)#define utSymArrayCheckSymIndex(SymArray, x) ((uint32)(x) < utSymArrayGetNumSym(SymArray)? (x) : \    (utAssert(false),(x)))#else#define utSymArrayCheckSymIndex(SymArray, x) (x)#endif#define utSymArrayGetiSym(_SymArray, x) ((utSymArrays.Sym)[ \    utSymArrayGetSymIndex(_SymArray) + utSymArrayCheckSymIndex(_SymArray, (x))])#define utSymArrayGetSyms(SymArray) (utSymArrays.Sym + utSymArrayGetSymIndex(SymArray))#define utSymArraySetSym(SymArray, valuePtr) ( \    (void)utRecordArray(utModuleID, 18, utSymArrayGetSymIndex(SymArray), utSymArrayGetNumSym(SymArray), true), \    memcpy(utSymArrayGetSyms(SymArray), valuePtr, \    utSymArrayGetNumSym(SymArray)*sizeof(utSym)), \    (void)utRecordArray(utModuleID, 18, utSymArrayGetSymIndex(SymArray), utSymArrayGetNumSym(SymArray), false))#define utSymArraySetiSym(SymArray, x, value) ( \    (void)utRecordField(utModuleID, 18, utSymArrayGetSymIndex(SymArray) + (x), true), \    (utSymArrays.Sym)[ \    utSymArrayGetSymIndex(SymArray) + utSymArrayCheckSymIndex(SymArray, (x))] = (value), \    (void)utRecordField(utModuleID, 18, utSymArrayGetSymIndex(SymArray) + (x), false))#define utSymArrayGetUsedSym(_SymArray) (utSymArrays.UsedSym[utSymArray2ValidIndex(_SymArray)])#define utSymArraySetUsedSym(_SymArray, value) ( \    (void)utRecordField(utModuleID, 19, utSymArray2ValidIndex(_SymArray), true), \    (utSymArrays.UsedSym)[utSymArray2ValidIndex(_SymArray)] = (value), \    (void)utRecordField(utModuleID, 19, utSymArray2ValidIndex(_SymArray), false))#define utForeachSymArraySym(pVar, cVar) { \    uint32 _xSym; \    for(_xSym = 0; _xSym < utSymArrayGetUsedSym(pVar); _xSym++) { \        cVar = utSymArrayGetiSym(pVar, _xSym); \        if(cVar != utSymNull) {#define utEndForeachSymArraySym }}}#define utSymArraySetConstructorCallback(func) (utSymArrayConstructorCallback = (func))#define utSymArrayGetConstructorCallback() (utSymArrayConstructorCallback)#define utSymArraySetDestructorCallback(func) (utSymArrayDestructorCallback = (func))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -