class_8h-source.html

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

HTML
665
字号
00706 <a name="l00712"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora3">00712</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* getNextField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* field) { 00713         <font class="keywordflow">if</font> (field != NULL) { 00714             field = field-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm0">next</a>;00715             <font class="keywordflow">if</font> (field == columns) { 00716                 <font class="keywordflow">return</font> NULL;00717             }00718         }00719         <font class="keywordflow">return</font> field;00720     }00721 <a name="l00725"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora4">00725</a>     <font class="keywordtype">char</font>* getName() { 00726         <font class="keywordflow">return</font> name;00727     }00728 00733     <font class="keywordtype">void</font> setFlags();00734 00741     <font class="keywordtype">bool</font> equal(<a class="code" href="classdbTable.html">dbTable</a>* table);00742 00750     <font class="keywordtype">bool</font> match(<a class="code" href="classdbTable.html">dbTable</a>* table);00751 00757     <font class="keywordtype">void</font> checkRelationship();00758 <a name="l00763"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora9">00763</a>     <a class="code" href="classdbDatabase.html">dbDatabase</a>* getDatabase() { <font class="keywordflow">return</font> db; }00764 00769     <font class="keywordtype">void</font> storeInDatabase(<a class="code" href="classdbTable.html">dbTable</a>* table);00770 00774     <font class="keyword">static</font> <font class="keywordtype">void</font> cleanup();00775 00780     dbTableDescriptor(<a class="code" href="classdbTable.html">dbTable</a>* table);00781 00790     dbTableDescriptor(<font class="keywordtype">char</font>* tableName, <a class="code" href="classdbDatabase.html">dbDatabase</a>* db, size_t objSize, 00791                       describeFunc func, dbTableDescriptor* original = NULL);00792 00796     ~dbTableDescriptor();00797 };00798 <a name="l00802"></a><a class="code" href="structdbVarying.html">00802</a> <font class="keyword">struct </font><a class="code" href="structdbVarying.html">dbVarying</a> { 00803     nat4 size; <font class="comment">// number of elements in the array</font>00804     int4 offs; <font class="comment">// offset from the beginning of the record</font>00805 };00806 <a name="l00810"></a><a class="code" href="structdbField.html">00810</a> <font class="keyword">struct </font><a class="code" href="structdbField.html">dbField</a> { 00811     <font class="keyword">enum</font> FieldTypes { 00812         tpBool,00813         tpInt1,00814         tpInt2,00815         tpInt4,00816         tpInt8,00817         tpReal4, 00818         tpReal8, 00819         tpString,00820         tpReference,00821         tpArray,00822         tpMethodBool,00823         tpMethodInt1,00824         tpMethodInt2,00825         tpMethodInt4,00826         tpMethodInt8,00827         tpMethodReal4,00828         tpMethodReal8,00829         tpMethodString,00830         tpMethodReference,00831         tpStructure,00832         tpRawBinary, 00833         tpStdString,00834         tpUnknown00835     };00836         <a name="l00840"></a><a class="code" href="structdbField.html#dbFieldm0">00840</a>     <a class="code" href="structdbVarying.html">dbVarying</a> <a class="code" href="structdbField.html#dbFieldm0">name</a>;    00841 <a name="l00845"></a><a class="code" href="structdbField.html#dbFieldm1">00845</a>     <a class="code" href="structdbVarying.html">dbVarying</a> <a class="code" href="structdbField.html#dbFieldm1">tableName</a>; 00846 <a name="l00850"></a><a class="code" href="structdbField.html#dbFieldm2">00850</a>     <a class="code" href="structdbVarying.html">dbVarying</a> <a class="code" href="structdbField.html#dbFieldm2">inverse</a>; 00851     <a name="l00855"></a><a class="code" href="structdbField.html#dbFieldm3">00855</a>     int4      <a class="code" href="structdbField.html#dbFieldm3">type</a>;00856 <a name="l00860"></a><a class="code" href="structdbField.html#dbFieldm4">00860</a>     int4      <a class="code" href="structdbField.html#dbFieldm4">offset</a>; 00861 <a name="l00865"></a><a class="code" href="structdbField.html#dbFieldm5">00865</a>     nat4      <a class="code" href="structdbField.html#dbFieldm5">size</a>;00866 <a name="l00870"></a><a class="code" href="structdbField.html#dbFieldm6">00870</a>     oid_t     <a class="code" href="structdbField.html#dbFieldm6">hashTable</a>;00871 <a name="l00875"></a><a class="code" href="structdbField.html#dbFieldm7">00875</a>     oid_t     <a class="code" href="structdbField.html#dbFieldm7">tTree</a>;00876 };     00877 00878 <a name="l00882"></a><a class="code" href="classdbRecord.html">00882</a> <font class="keyword">class </font><a class="code" href="classdbRecord.html">dbRecord</a> { 00883   <font class="keyword">public</font>:<a name="l00887"></a><a class="code" href="classdbRecord.html#dbTablem7">00887</a>     nat4   <a class="code" href="classdbRecord.html#dbTablem7">size</a>;00888 <a name="l00892"></a><a class="code" href="classdbRecord.html#dbTablem8">00892</a>     oid_t  <a class="code" href="classdbRecord.html#dbTablem8">next</a>;00893 <a name="l00897"></a><a class="code" href="classdbRecord.html#dbTablem9">00897</a>     oid_t  <a class="code" href="classdbRecord.html#dbTablem9">prev</a>;00898 };00899 00900 <a name="l00904"></a><a class="code" href="classdbTable.html">00904</a> <font class="keyword">class </font><a class="code" href="classdbTable.html">dbTable</a> : <font class="keyword">public</font> <a class="code" href="classdbRecord.html">dbRecord</a> { 00905   <font class="keyword">public</font>:<a name="l00909"></a><a class="code" href="classdbTable.html#dbTablem0">00909</a>     <a class="code" href="structdbVarying.html">dbVarying</a> <a class="code" href="classdbTable.html#dbTablem0">name</a>;00910     <a name="l00914"></a><a class="code" href="classdbTable.html#dbTablem1">00914</a>     <a class="code" href="structdbVarying.html">dbVarying</a> <a class="code" href="classdbTable.html#dbTablem1">fields</a>;00915 <a name="l00919"></a><a class="code" href="classdbTable.html#dbTablem2">00919</a>     nat4      <a class="code" href="classdbTable.html#dbTablem2">fixedSize</a>;00920 <a name="l00924"></a><a class="code" href="classdbTable.html#dbTablem3">00924</a>     nat4      <a class="code" href="classdbTable.html#dbTablem3">nRows</a>;00925 <a name="l00929"></a><a class="code" href="classdbTable.html#dbTablem4">00929</a>     nat4      <a class="code" href="classdbTable.html#dbTablem4">nColumns</a>;00930     <a name="l00934"></a><a class="code" href="classdbTable.html#dbTablem5">00934</a>     oid_t     <a class="code" href="classdbTable.html#dbTablem5">firstRow</a>;00935 <a name="l00939"></a><a class="code" href="classdbTable.html#dbTablem6">00939</a>     oid_t     <a class="code" href="classdbTable.html#dbTablem6">lastRow</a>;00940 <font class="preprocessor">#ifdef AUTOINCREMENT_SUPPORT</font>00941 <font class="preprocessor"></font>00944     nat4      count;00945 <font class="preprocessor">#endif</font>00946 <font class="preprocessor"></font>};00947 00948 <font class="keyword">inline</font> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* dbDescribeRawField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* fd, dbUDTComparator comparator)00949 {00950     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm15">appType</a> = dbField::tpRawBinary;00951     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm24">alignment</a> = 1;00952     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm25">comparator</a> = comparator;00953     <font class="keywordflow">return</font> fd;00954 }00955 00956 00957 <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00958 <font class="keyword">inline</font> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* dbDescribeField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* fd, T&amp; x) 00959 { 00960     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm15">appType</a> = dbField::tpStructure;00961     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm19">components</a> = x.dbDescribeComponents(fd);00962     <font class="keywordflow">return</font> fd;00963 }00964 00965 <font class="keyword">inline</font> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* dbDescribeField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* fd, int1&amp;) 00966 { 00967     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm15">appType</a> = dbField::tpInt1; 00968     <font class="keywordflow">return</font> fd;00969 }00970 <font class="keyword">inline</font> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* dbDescribeField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* fd, int2&amp;) 00971 { 00972     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm15">appType</a> = dbField::tpInt2; 00973     <font class="keywordflow">return</font> fd;00974 }00975 <font class="keyword">inline</font> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* dbDescribeField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* fd, int4&amp;) 00976 { 00977     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm15">appType</a> = dbField::tpInt4; 00978     <font class="keywordflow">return</font> fd;00979 }00980 <font class="keyword">inline</font> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* dbDescribeField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* fd, db_int8&amp;) 00981 { 00982     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm15">appType</a> = dbField::tpInt8; 00983     <font class="keywordflow">return</font> fd;00984 }00985 <font class="keyword">inline</font> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* dbDescribeField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* fd, nat1&amp;) 00986 { 00987     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm15">appType</a> = dbField::tpInt1; 00988     <font class="keywordflow">return</font> fd;00989 }00990 <font class="keyword">inline</font> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* dbDescribeField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* fd, nat2&amp;) 00991 { 00992     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm15">appType</a> = dbField::tpInt2; 00993     <font class="keywordflow">return</font> fd;00994 }00995 <font class="keyword">inline</font> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* dbDescribeField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* fd, nat4&amp;) 00996 { 

⌨️ 快捷键说明

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