class_8h-source.html

来自「一个功能强大的内存数据库源代码,c++编写,有详细的注释」· HTML 代码 · 共 665 行 · 第 1/4 页

HTML
665
字号
<a name="l00291"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm21">00291</a>     oid_t              tTree;00292 <a name="l00296"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm22">00296</a>     size_t             dbsSize;00297     <a name="l00301"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm23">00301</a>     size_t             appSize;00302 <a name="l00307"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm24">00307</a>     size_t             alignment;00308 <a name="l00312"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm25">00312</a>     dbUDTComparator    comparator;00313 <a name="l00317"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptors4">00317</a>     <font class="keyword">enum</font> FieldAttributes { 00318         ComponentOfArray   = 0x01,00319         HasArrayComponents = 0x02,00320         OneToOneMapping    = 0x04,00321         Updated            = 0x0800322     };00323     <font class="keywordtype">int</font>                attr;00324 <a name="l00328"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm27">00328</a>     <font class="keywordtype">int</font>                oldDbsType;<a name="l00332"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm28">00332</a>     <font class="keywordtype">int</font>                oldDbsOffs;<a name="l00336"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm29">00336</a>     <font class="keywordtype">int</font>                oldDbsSize;00337 <a name="l00341"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm30">00341</a>     <a class="code" href="classdbAnyMethodTrampoline.html">dbAnyMethodTrampoline</a>* method;00342 00346     void (*arrayAllocator)(<a class="code" href="classdbAnyArray.html">dbAnyArray</a>* array, <font class="keywordtype">void</font>* data, size_t length);00347     00348 00359     size_t calculateRecordSize(byte* base, size_t offs);00360 00370     size_t calculateNewRecordSize(byte* base, size_t offs);00371     00381     size_t convertRecord(byte* dst, byte* src, size_t offs);00382 00393     <font class="keywordtype">int</font>    sizeWithoutOneField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* field, 00394                                byte* base, size_t&amp; size);00395     00405     size_t copyRecordExceptOneField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* field, 00406                                     byte* dst, byte* src, size_t offs); 00407 00418     size_t storeRecordFields(byte* dst, byte* src, size_t offs, <font class="keywordtype">bool</font> insert);00419 00427     <font class="keywordtype">void</font> markUpdatedFields(byte* dst, byte* src);00428 00436     <font class="keywordtype">void</font> fetchRecordFields(byte* dst, byte* src);00437 00446     <font class="keywordtype">void</font> adjustReferences(byte* record, size_t base, size_t size, <font class="keywordtype">long</font> shift);00447 00453     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* find(<font class="keyword">const</font> <font class="keywordtype">char</font>* name);00454 <a name="l00459"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptora10">00459</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* getFirstComponent() { 00460         <font class="keywordflow">return</font> components;00461     }00462 <a name="l00467"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptora11">00467</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* getNextComponent(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* field) { 00468         <font class="keywordflow">if</font> (field != NULL) { 00469             field = field-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm0">next</a>;00470             <font class="keywordflow">if</font> (field == components) { 00471                 <font class="keywordflow">return</font> NULL;00472             }00473         }00474         <font class="keywordflow">return</font> field;00475     }00476         <a name="l00480"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptora12">00480</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>&amp; operator, (<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>&amp; field) { 00481         <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* tail = field.<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm1">prev</a>;00482         tail-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm0">next</a> = <font class="keyword">this</font>;00483         prev-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm0">next</a> = &amp;field;00484         field.<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm1">prev</a> = prev;00485         prev = tail;00486         <font class="keywordflow">return</font> *<font class="keyword">this</font>;00487     }00488 00489     <font class="keywordtype">void</font>* operator new(size_t size);00490     <font class="keywordtype">void</font>  operator delete(<font class="keywordtype">void</font>* p);00491 00495     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>&amp; adjustOffsets(<font class="keywordtype">long</font> offs);00496 00506     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>(<font class="keywordtype">char</font>* name, <font class="keywordtype">int</font> offs, <font class="keywordtype">int</font> size, <font class="keywordtype">int</font> indexType, 00507                       <font class="keywordtype">char</font>* inverse = NULL,00508                       <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* components = NULL);00509 00514     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>(<font class="keywordtype">char</font>* name);00515 00519     ~<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>();00520 };00521 00522 <a name="l00526"></a><a class="code" href="classdbTableDescriptor.html">00526</a> <font class="keyword">class </font>FASTDB_DLL_ENTRY dbTableDescriptor { 00527     <font class="keyword">friend</font> <font class="keyword">class </font>dbCompiler;00528     <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classdbDatabase.html">dbDatabase</a>;00529     <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classdbTable.html">dbTable</a>;00530     <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classdbAnyCursor.html">dbAnyCursor</a>;00531     <font class="keyword">friend</font> <font class="keyword">class </font>dbSubSql;00532     <font class="keyword">friend</font> <font class="keyword">class </font>dbHashTable;00533     <font class="keyword">friend</font> <font class="keyword">class </font>dbTtreeNode;00534     <font class="keyword">friend</font> <font class="keyword">class </font>dbServer;00535     <font class="keyword">friend</font> <font class="keyword">class </font>dbColumnBinding;00536     <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>;00537     <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classdbAnyContainer.html">dbAnyContainer</a>;00538     <font class="keyword">friend</font> <font class="keyword">class </font>dbCLI;00539   <font class="keyword">protected</font>:<a name="l00543"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn0">00543</a>     dbTableDescriptor*  next;00544     <font class="keyword">static</font> dbTableDescriptor* chain;00545 <a name="l00549"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn1">00549</a>     dbTableDescriptor*  nextDbTable; <font class="comment">// next table in the database</font>00550 <a name="l00554"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn2">00554</a>     <font class="keywordtype">char</font>*               name;00555 <a name="l00559"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn3">00559</a>     oid_t               tableId;00560 <a name="l00564"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn4">00564</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>*  columns; 00565     <a name="l00569"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn5">00569</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>*  hashedFields;00570 <a name="l00574"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn6">00574</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>*  indexedFields;00575 <a name="l00579"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn7">00579</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>*  inverseFields;00580 <a name="l00584"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn8">00584</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>*  firstField;00585 <a name="l00589"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn9">00589</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>** nextFieldLink;00590 <a name="l00594"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn10">00594</a>     <a class="code" href="classdbDatabase.html">dbDatabase</a>*         db;00595     <a name="l00599"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn11">00599</a>     <font class="keywordtype">bool</font>                fixedDatabase;00600 <a name="l00604"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn12">00604</a>     <font class="keywordtype">bool</font>                isStatic;00605 <a name="l00609"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn13">00609</a>     size_t              appSize;00610 <a name="l00614"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn14">00614</a>     size_t              fixedSize;00615 <a name="l00619"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn15">00619</a>     size_t              nFields;00620 <a name="l00624"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn16">00624</a>     size_t              nColumns;00625 <a name="l00629"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn17">00629</a>     int4                autoincrementCount;00630 00631 <a name="l00637"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn18">00637</a>     dbTableDescriptor*  cloneOf;00638 00639 <a name="l00643"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptort0">00643</a>     <font class="keyword">typedef</font> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* (*describeFunc)();00644     describeFunc        describeComponentsFunc;00645 00649     dbTableDescriptor*  clone();00650 00654     size_t              totalNamesLength();00655 00667     <font class="keywordtype">int</font> calculateFieldsAttributes(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* fieldsList, 00668                                   <font class="keywordtype">char</font> <font class="keyword">const</font>* prefix, <font class="keywordtype">int</font> offs, 00669                                   <font class="keywordtype">int</font> indexMask, <font class="keywordtype">int</font>&amp; attr);00670 00679     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* buildFieldsList(<a class="code" href="classdbTable.html">dbTable</a>* table, <font class="keywordtype">char</font> <font class="keyword">const</font>* prefix, <font class="keywordtype">int</font> prefixLen, <font class="keywordtype">int</font>&amp; attr);00680 00681   <font class="keyword">public</font>:<a name="l00685"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp0">00685</a>     <font class="keyword">static</font> <font class="keywordtype">int</font> initialAutoincrementCount;00686 00690     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* findSymbol(<font class="keywordtype">char</font> <font class="keyword">const</font>* name);00691 00692 00696     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* find(<font class="keywordtype">char</font> <font class="keyword">const</font>* name);00697 00698 <a name="l00703"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora2">00703</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* getFirstField() { 00704         <font class="keywordflow">return</font> columns;00705     }

⌨️ 快捷键说明

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