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-><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-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm15">appType</a> = dbField::tpRawBinary;00951 fd-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm24">alignment</a> = 1;00952 fd-><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><<font class="keyword">class</font> T>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& x) 00959 { 00960 fd-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm15">appType</a> = dbField::tpStructure;00961 fd-><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&) 00966 { 00967 fd-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-><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&) 00971 { 00972 fd-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-><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&) 00976 { 00977 fd-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-><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&) 00981 { 00982 fd-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-><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&) 00986 { 00987 fd-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-><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&) 00991 { 00992 fd-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">type</a> = fd-><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&) 00996 {
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?