📄 dvdatabase.h
字号:
uint32 *NumSchema; dvLink *FirstImportLink; dvLink *LastImportLink; dvLink *FirstExportLink; dvLink *LastExportLink;};extern struct dvModuleFields dvModules;#define dvModuleGetPrefixSym(_Module) (dvModules.PrefixSym[dvModule2ValidIndex(_Module)])#define dvModuleSetPrefixSym(_Module, value) ((dvModules.PrefixSym)[dvModule2ValidIndex(_Module)] = (value))#define dvModulePersistent(_Module) (((dvModules.Persistent)[dvModule2ValidIndex(_Module) >> 3] >> \ (dvModule2ValidIndex(_Module) & 7)) & 1)#define dvModuleSetPersistent(_Module, value) ((dvModules.Persistent)[dvModule2ValidIndex(_Module) >> 3] = \ ((dvModules.Persistent)[dvModule2ValidIndex(_Module) >> 3] & ~(1 << (dvModule2ValidIndex(_Module) & 7))) | \ (((value) != 0) << (dvModule2ValidIndex(_Module) & 7)))#define dvModuleUndoRedo(_Module) (((dvModules.UndoRedo)[dvModule2ValidIndex(_Module) >> 3] >> \ (dvModule2ValidIndex(_Module) & 7)) & 1)#define dvModuleSetUndoRedo(_Module, value) ((dvModules.UndoRedo)[dvModule2ValidIndex(_Module) >> 3] = \ ((dvModules.UndoRedo)[dvModule2ValidIndex(_Module) >> 3] & ~(1 << (dvModule2ValidIndex(_Module) & 7))) | \ (((value) != 0) << (dvModule2ValidIndex(_Module) & 7)))#define dvModuleGetNumFields(_Module) (dvModules.NumFields[dvModule2ValidIndex(_Module)])#define dvModuleSetNumFields(_Module, value) ((dvModules.NumFields)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetNumClasses(_Module) (dvModules.NumClasses[dvModule2ValidIndex(_Module)])#define dvModuleSetNumClasses(_Module, value) ((dvModules.NumClasses)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetNumEnums(_Module) (dvModules.NumEnums[dvModule2ValidIndex(_Module)])#define dvModuleSetNumEnums(_Module, value) ((dvModules.NumEnums)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetNextRootModule(_Module) (dvModules.NextRootModule[dvModule2ValidIndex(_Module)])#define dvModuleSetNextRootModule(_Module, value) ((dvModules.NextRootModule)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetPrevRootModule(_Module) (dvModules.PrevRootModule[dvModule2ValidIndex(_Module)])#define dvModuleSetPrevRootModule(_Module, value) ((dvModules.PrevRootModule)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetSym(_Module) (dvModules.Sym[dvModule2ValidIndex(_Module)])#define dvModuleSetSym(_Module, value) ((dvModules.Sym)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetNextTableRootModule(_Module) (dvModules.NextTableRootModule[dvModule2ValidIndex(_Module)])#define dvModuleSetNextTableRootModule(_Module, value) ((dvModules.NextTableRootModule)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetFirstClass(_Module) (dvModules.FirstClass[dvModule2ValidIndex(_Module)])#define dvModuleSetFirstClass(_Module, value) ((dvModules.FirstClass)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetLastClass(_Module) (dvModules.LastClass[dvModule2ValidIndex(_Module)])#define dvModuleSetLastClass(_Module, value) ((dvModules.LastClass)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetClassTableIndex(_Module) (dvModules.ClassTableIndex[dvModule2ValidIndex(_Module)])#define dvModuleSetClassTableIndex(_Module, value) ((dvModules.ClassTableIndex)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetNumClassTable(_Module) (dvModules.NumClassTable[dvModule2ValidIndex(_Module)])#define dvModuleSetNumClassTable(_Module, value) ((dvModules.NumClassTable)[dvModule2ValidIndex(_Module)] = (value))#if defined(DD_DEBUG)#define dvModuleCheckClassTableIndex(Module, x) ((uint32)(x) < dvModuleGetNumClassTable(Module)? (x) : \ (utAssert(false),(x)))#else#define dvModuleCheckClassTableIndex(Module, x) (x)#endif#define dvModuleGetiClassTable(_Module, x) ((dvModules.ClassTable)[ \ dvModuleGetClassTableIndex(_Module) + dvModuleCheckClassTableIndex(_Module, (x))])#define dvModuleGetClassTables(Module) (dvModules.ClassTable + dvModuleGetClassTableIndex(Module))#define dvModuleSetClassTable(Module, valuePtr) (memcpy(dvModuleGetClassTables(Module), valuePtr, \ dvModuleGetNumClassTable(Module)*sizeof(dvClass)))#define dvModuleSetiClassTable(Module, x, value) ((dvModules.ClassTable)[ \ dvModuleGetClassTableIndex(Module) + dvModuleCheckClassTableIndex(Module, (x))] = (value))#define dvModuleGetNumClass(_Module) (dvModules.NumClass[dvModule2ValidIndex(_Module)])#define dvModuleSetNumClass(_Module, value) ((dvModules.NumClass)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetFirstEnum(_Module) (dvModules.FirstEnum[dvModule2ValidIndex(_Module)])#define dvModuleSetFirstEnum(_Module, value) ((dvModules.FirstEnum)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetLastEnum(_Module) (dvModules.LastEnum[dvModule2ValidIndex(_Module)])#define dvModuleSetLastEnum(_Module, value) ((dvModules.LastEnum)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetEnumTableIndex(_Module) (dvModules.EnumTableIndex[dvModule2ValidIndex(_Module)])#define dvModuleSetEnumTableIndex(_Module, value) ((dvModules.EnumTableIndex)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetNumEnumTable(_Module) (dvModules.NumEnumTable[dvModule2ValidIndex(_Module)])#define dvModuleSetNumEnumTable(_Module, value) ((dvModules.NumEnumTable)[dvModule2ValidIndex(_Module)] = (value))#if defined(DD_DEBUG)#define dvModuleCheckEnumTableIndex(Module, x) ((uint32)(x) < dvModuleGetNumEnumTable(Module)? (x) : \ (utAssert(false),(x)))#else#define dvModuleCheckEnumTableIndex(Module, x) (x)#endif#define dvModuleGetiEnumTable(_Module, x) ((dvModules.EnumTable)[ \ dvModuleGetEnumTableIndex(_Module) + dvModuleCheckEnumTableIndex(_Module, (x))])#define dvModuleGetEnumTables(Module) (dvModules.EnumTable + dvModuleGetEnumTableIndex(Module))#define dvModuleSetEnumTable(Module, valuePtr) (memcpy(dvModuleGetEnumTables(Module), valuePtr, \ dvModuleGetNumEnumTable(Module)*sizeof(dvEnum)))#define dvModuleSetiEnumTable(Module, x, value) ((dvModules.EnumTable)[ \ dvModuleGetEnumTableIndex(Module) + dvModuleCheckEnumTableIndex(Module, (x))] = (value))#define dvModuleGetNumEnum(_Module) (dvModules.NumEnum[dvModule2ValidIndex(_Module)])#define dvModuleSetNumEnum(_Module, value) ((dvModules.NumEnum)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetFirstTypedef(_Module) (dvModules.FirstTypedef[dvModule2ValidIndex(_Module)])#define dvModuleSetFirstTypedef(_Module, value) ((dvModules.FirstTypedef)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetLastTypedef(_Module) (dvModules.LastTypedef[dvModule2ValidIndex(_Module)])#define dvModuleSetLastTypedef(_Module, value) ((dvModules.LastTypedef)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetTypedefTableIndex(_Module) (dvModules.TypedefTableIndex[dvModule2ValidIndex(_Module)])#define dvModuleSetTypedefTableIndex(_Module, value) ((dvModules.TypedefTableIndex)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetNumTypedefTable(_Module) (dvModules.NumTypedefTable[dvModule2ValidIndex(_Module)])#define dvModuleSetNumTypedefTable(_Module, value) ((dvModules.NumTypedefTable)[dvModule2ValidIndex(_Module)] = (value))#if defined(DD_DEBUG)#define dvModuleCheckTypedefTableIndex(Module, x) ((uint32)(x) < dvModuleGetNumTypedefTable(Module)? (x) : \ (utAssert(false),(x)))#else#define dvModuleCheckTypedefTableIndex(Module, x) (x)#endif#define dvModuleGetiTypedefTable(_Module, x) ((dvModules.TypedefTable)[ \ dvModuleGetTypedefTableIndex(_Module) + dvModuleCheckTypedefTableIndex(_Module, (x))])#define dvModuleGetTypedefTables(Module) (dvModules.TypedefTable + dvModuleGetTypedefTableIndex(Module))#define dvModuleSetTypedefTable(Module, valuePtr) (memcpy(dvModuleGetTypedefTables(Module), valuePtr, \ dvModuleGetNumTypedefTable(Module)*sizeof(dvTypedef)))#define dvModuleSetiTypedefTable(Module, x, value) ((dvModules.TypedefTable)[ \ dvModuleGetTypedefTableIndex(Module) + dvModuleCheckTypedefTableIndex(Module, (x))] = (value))#define dvModuleGetNumTypedef(_Module) (dvModules.NumTypedef[dvModule2ValidIndex(_Module)])#define dvModuleSetNumTypedef(_Module, value) ((dvModules.NumTypedef)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetFirstSchema(_Module) (dvModules.FirstSchema[dvModule2ValidIndex(_Module)])#define dvModuleSetFirstSchema(_Module, value) ((dvModules.FirstSchema)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetLastSchema(_Module) (dvModules.LastSchema[dvModule2ValidIndex(_Module)])#define dvModuleSetLastSchema(_Module, value) ((dvModules.LastSchema)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetSchemaTableIndex(_Module) (dvModules.SchemaTableIndex[dvModule2ValidIndex(_Module)])#define dvModuleSetSchemaTableIndex(_Module, value) ((dvModules.SchemaTableIndex)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetNumSchemaTable(_Module) (dvModules.NumSchemaTable[dvModule2ValidIndex(_Module)])#define dvModuleSetNumSchemaTable(_Module, value) ((dvModules.NumSchemaTable)[dvModule2ValidIndex(_Module)] = (value))#if defined(DD_DEBUG)#define dvModuleCheckSchemaTableIndex(Module, x) ((uint32)(x) < dvModuleGetNumSchemaTable(Module)? (x) : \ (utAssert(false),(x)))#else#define dvModuleCheckSchemaTableIndex(Module, x) (x)#endif#define dvModuleGetiSchemaTable(_Module, x) ((dvModules.SchemaTable)[ \ dvModuleGetSchemaTableIndex(_Module) + dvModuleCheckSchemaTableIndex(_Module, (x))])#define dvModuleGetSchemaTables(Module) (dvModules.SchemaTable + dvModuleGetSchemaTableIndex(Module))#define dvModuleSetSchemaTable(Module, valuePtr) (memcpy(dvModuleGetSchemaTables(Module), valuePtr, \ dvModuleGetNumSchemaTable(Module)*sizeof(dvSchema)))#define dvModuleSetiSchemaTable(Module, x, value) ((dvModules.SchemaTable)[ \ dvModuleGetSchemaTableIndex(Module) + dvModuleCheckSchemaTableIndex(Module, (x))] = (value))#define dvModuleGetNumSchema(_Module) (dvModules.NumSchema[dvModule2ValidIndex(_Module)])#define dvModuleSetNumSchema(_Module, value) ((dvModules.NumSchema)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetFirstImportLink(_Module) (dvModules.FirstImportLink[dvModule2ValidIndex(_Module)])#define dvModuleSetFirstImportLink(_Module, value) ((dvModules.FirstImportLink)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetLastImportLink(_Module) (dvModules.LastImportLink[dvModule2ValidIndex(_Module)])#define dvModuleSetLastImportLink(_Module, value) ((dvModules.LastImportLink)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetFirstExportLink(_Module) (dvModules.FirstExportLink[dvModule2ValidIndex(_Module)])#define dvModuleSetFirstExportLink(_Module, value) ((dvModules.FirstExportLink)[dvModule2ValidIndex(_Module)] = (value))#define dvModuleGetLastExportLink(_Module) (dvModules.LastExportLink[dvModule2ValidIndex(_Module)])#define dvModuleSetLastExportLink(_Module, value) ((dvModules.LastExportLink)[dvModule2ValidIndex(_Module)] = (value))dvClass dvModuleFindClass(dvModule Module, utSym sym);void dvModuleRenameClass(dvModule Module, dvClass _Class, utSym sym);#define dvClassGetName(Class) utSymGetName(dvClassGetSym(Class))#define dvForeachModuleClass(pVar, cVar) \ for(cVar = dvModuleGetFirstClass(pVar); cVar != dvClassNull; \ cVar = dvClassGetNextModuleClass(cVar))#define dvEndForeachModuleClass#define dvSafeForeachModuleClass(pVar, cVar) { \ dvClass _nextClass; \ for(cVar = dvModuleGetFirstClass(pVar); cVar != dvClassNull; cVar = _nextClass) { \ _nextClass = dvClassGetNextModuleClass(cVar);#define dvEndSafeForeachModuleClass }}dvEnum dvModuleFindEnum(dvModule Module, utSym sym);void dvModuleRenameEnum(dvModule Module, dvEnum _Enum, utSym sym);#define dvEnumGetName(Enum) utSymGetName(dvEnumGetSym(Enum))#define dvForeachModuleEnum(pVar, cVar) \ for(cVar = dvModuleGetFirstEnum(pVar); cVar != dvEnumNull; \ cVar = dvEnumGetNextModuleEnum(cVar))#define dvEndForeachModuleEnum#define dvSafeForeachModuleEnum(pVar, cVar) { \ dvEnum _nextEnum; \ for(cVar = dvModuleGetFirstEnum(pVar); cVar != dvEnumNull; cVar = _nextEnum) { \ _nextEnum = dvEnumGetNextModuleEnum(cVar);#define dvEndSafeForeachModuleEnum }}dvTypedef dvModuleFindTypedef(dvModule Module, utSym sym);void dvModuleRenameTypedef(dvModule Module, dvTypedef _Typedef, utSym sym);#define dvTypedefGetName(Typedef) utSymGetName(dvTypedefGetSym(Typedef))#define dvForeachModuleTypedef(pVar, cVar) \ for(cVar = dvModuleGetFirstTypedef(pVar); cVar != dvTypedefNull; \ cVar = dvTypedefGetNextModuleTypedef(cVar))#define dvEndForeachModuleTypedef#define dvSafeForeachModuleTypedef(pVar, cVar) { \ dvTypedef _nextTypedef; \ for(cVar = dvModuleGetFirstTypedef(pVar); cVar != dvTypedefNull; cVar = _nextTypedef) { \ _nextTypedef = dvTypedefGetNextModuleTypedef(cVar);#define dvEndSafeForeachModuleTypedef }}dvSchema dvModuleFindSchema(dvModule Module, utSym sym);void dvModuleRenameSchema(dvModule Module, dvSchema _Schema, utSym sym);#define dvSchemaGetName(Schema) utSymGetName(dvSchemaGetSym(Schema))#define dvForeachModuleSchema(pVar, cVar) \ for(cVar = dvModuleGetFirstSchema(pVar); cVar != dvSchemaNull; \ cVar = dvSchemaGetNextModuleSchema(cVar))#define dvEndForeachModuleSchema#define dvSafeForeachModuleSchema(pVar, cVar) { \ dvSchema _nextSchema; \ for(cVar = dvModuleGetFirstSchema(pVar); cVar != dvSchemaNull; cVar = _nextSchema) { \ _nextSchema = dvSchemaGetNextModuleSchema(cVar);#define dvEndSafeForeachModuleSchema }}#define dvForeachModuleImportLink(pVar, cVar) \ for(cVar = dvModuleGetFirstImportLink(pVar); cVar != dvLinkNull; \ cVar = dvLinkGetNextModuleImportLink(cVar))#define dvEndForeachModuleImportLink#define dvSafeForeachModuleImportLink(pVar, cVar) { \ dvLink _nextLink; \ for(cVar = dvModuleGetFirstImportLink(pVar); cVar != dvLinkNull; cVar = _nextLink) { \ _nextLink = dvLinkGetNextModuleImportLink(cVar);#define dvEndSafeForeachModuleImportLink }}#define dvForeachModuleExportLink(pVar, cVar) \ for(cVar = dvModuleGetFirstExportLink(pVar); cVar != dvLinkNull; \ cVar = dvLinkGetNextModuleExportLink(cVar))#define dvEndForeachModuleExportLink#define dvSafeForeachModuleExportLink(pVar, cVar) { \ dvLink _nextLink; \ for(cVar = dvModuleGetFirstExportLink(pVar); cVar != dvLinkNull; cVar = _nextLink) { \ _nextLink = dvLinkGetNextModuleExportLink(cVar);#define dvEndSafeForeachModuleExportLink }}#define dvModuleSetConstructorCallback(func) (dvModuleConstructorCallback = (func))#define dvModuleGetConstructorCallback() (dvModuleConstructorCallback)#define dvFirstModule() (dvRootData.usedModule == 0? dvModuleNull : dvIndex2Module(0))#define dvLastModule() (dvRootData.usedModule == 0? dvModuleNull : \ dvIndex2Module(dvRootData.usedModule - 1))#define dvNextModule(Module) (dvModule2ValidIndex(Module) + 1 == dvRootData.usedModule? dvModuleNull : \ (Module) + 1)#define dvPrevModule(Module) (dvModule2ValidIndex(Module) == 0? dvModuleNull : (Module) - 1)#define dvForeachModule(var) \ for(var = dvIndex2Module(0); dvModule2Index(var) != dvRootData.usedModule; var++)#define dvEndForeachModule#define dvModuleFreeAll() (dvSetUsedModule(0), dvSetUsedModuleClassTable(0), dvSetUsedModuleEnumTable(0), dvSetUsedModuleTypedefTable(0), dvSetUsedModuleSchemaTable(0))#define dvModuleAllocRaw() ( \ dvRootData.usedModule == dvRootData.allocatedModule && (dvModuleAllocMore(), true), \ dvTemp_.Module = dvIndex2Module(dvRootData.usedModule), \ dvSetUsedModule(dvUsedModule() + 1), \ dvTemp_.Module)#define dvModuleAlloc() ( \ dvRootData.usedModule == dvRootData.allocatedModule && (dvModuleAllocMore(), true), \ dvTemp_.Module = dvIndex2Module(dvRootData.usedModule), \ dvSetUsedModule(dvUsedModule() + 1), \ dvModuleSetPrefixSym(dvTemp_.Module, 0), \ dvModuleSetPersistent(dvTemp_.Module, 0), \ dvModuleSetUndoRedo(dvTemp_.Module, 0), \ dvModuleSetNumFields(dvTemp_.Module, 0), \ dvModuleSetNumClasses(dvTemp_.Module, 0), \ dvModuleSetNumEnums(dvTemp_.Module, 0), \ dvModuleSetNextRootModule(dvTemp_.Module, dvModuleNull), \ dvModuleSetPrevRootModule(dvTemp_.Module, dvModuleNull), \ dvModuleSetSym(dvTemp_.Module, 0), \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -