📄 database.dd
字号:
// These are DataDraw's data structuresmodule Database dv volatileenum RelationshipType REL_ LINKED_LIST DOUBLY_LINKED TAIL_LINKED POINTER ARRAY HASHEDenum PropertyType PROP_ INT UINT FLOAT DOUBLE BIT BOOL CHAR ENUM TYPEDEF POINTER SYM UNBOUNDenum MemoryStyle MEM_ CREATE_ONLY FREE_LIST// This just gives us a way to keep track of top level data structuresclass Root create_onlyclass Modpath create_onlyclass Module create_only sym prefixSym bit Persistent bit UndoRedo uint16 numFields // The total number of fields to be tracked uint32 numClasses // The number of classes in the module uint32 numEnums // The number of classes in the module// Helper class to break many-to-many relationship between modules and modules they importclass Link create_onlyclass Schema create_onlyclass Enum create_only sym prefixSym uint16 numEntriesclass Entry create_only uint32 valueclass Typedef create_onlyclass Class create_only MemoryStyle memoryStyle uint8 referenceSize bit generateArrayClass uint16 numFieldsclass Property create_only PropertyType type bit Array bit Cascade uint32 fieldNumber // Used in persistent databases Property firstElementProp // Used only for arrays Property numElementsProp // Used only for arrays bit hidden // Hides fields in the manager. Used if we have to add a free-list property union type Enum enumProp: ENUM Typedef typedefProp: TYPEDEF Class classProp: POINTER sym typeSym: SYM // This is only used during parsing, to allow for forward references uint8 width: INT UINT uint32 line // This is set in parsing so we can report a line number in binding errorsclass Relationship create_only RelationshipType type sym parentLabelSym sym childLabelSym bit Mandatory // Upper case avoids keyword collision bit Cascade bit accessChild bit accessParent bit sharedParent // Set for all but one relationship that share a common parent pointerclass Union sym propertySym Property typeProperty uint32 line // This is set in parsing so we can report a line number in binding errors uint16 number // This is used rather than a name, since unions are not named uint32 fieldNumber // Used in persistent databases uint16 numCasesclass Case sym entrySym // Used in binding to an entry// Relationships are not owned by one class, but shared equally between "parent" and "child"relationship Root Modpath hashed mandatoryrelationship Root Module hashed child_only mandatoryrelationship Module Class hashed mandatoryrelationship Module Enum hashed mandatoryrelationship Module Typedef hashed mandatoryrelationship Module Schema hashed mandatoryrelationship Module:Import Link:Import tail_linked mandatoryrelationship Module:Export Link:Export tail_linked mandatoryrelationship Schema Class tail_linkedrelationship Class Property hashed mandatoryrelationship Class Property:freeList child_onlyrelationship Enum Entry hashed mandatoryrelationship Class:base Class:derived tail_linked mandatoryrelationship Class:parent Relationship:child tail_linked mandatoryrelationship Class:child Relationship:parent tail_linked mandatoryrelationship Class Union tail_linkedrelationship Union Property tail_linkedrelationship Entry Case tail_linked mandatoryrelationship Property Case tail_linked mandatory
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -