query_8h-source.html

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

HTML
682
字号
00375     dbQuery&amp; operator,(std::string <font class="keyword">const</font>&amp; str) { <font class="keywordflow">return</font> add(str); }00376 <font class="preprocessor">#endif</font>00377 <font class="preprocessor"></font>    dbQuery&amp; add(<font class="keywordtype">char</font>** str) { 00378         <font class="keywordflow">return</font> append(dbQueryElement::qVarStringPtr, str);00379     }00380     dbQuery&amp; add(int1 <font class="keyword">const</font>&amp; value) { 00381         <font class="keywordflow">return</font> append(dbQueryElement::qVarInt1, &amp;value);00382     }00383     dbQuery&amp; add (int2 <font class="keyword">const</font>&amp; value) { 00384         <font class="keywordflow">return</font> append(dbQueryElement::qVarInt2, &amp;value);00385     }00386     dbQuery&amp; add (int4 <font class="keyword">const</font>&amp; value) { 00387         <font class="keywordflow">return</font> append(dbQueryElement::qVarInt4, &amp;value);00388     }00389     dbQuery&amp; add (db_int8 <font class="keyword">const</font>&amp; value) { 00390         <font class="keywordflow">return</font> append(dbQueryElement::qVarInt8, &amp;value);00391     }00392     dbQuery&amp; add (real4 <font class="keyword">const</font>&amp; value) { 00393         <font class="keywordflow">return</font> append(dbQueryElement::qVarReal4, &amp;value);00394     }00395     dbQuery&amp; add(real8 <font class="keyword">const</font>&amp; value) { 00396         <font class="keywordflow">return</font> append(dbQueryElement::qVarReal8, &amp;value);00397     }00398     dbQuery&amp; add(<font class="keywordtype">bool</font> <font class="keyword">const</font>&amp; value) { 00399         <font class="keywordflow">return</font> append(dbQueryElement::qVarBool, &amp;value);00400     }00401     dbQuery&amp; add(<font class="keywordtype">void</font> <font class="keyword">const</font>* value) { 00402         <font class="keywordflow">return</font> append(dbQueryElement::qVarRawData, value);00403     }00404 00405     dbQuery&amp; operator,(<font class="keywordtype">char</font> <font class="keyword">const</font>*  value) { <font class="keywordflow">return</font> add(value); }00406     dbQuery&amp; operator,(<font class="keywordtype">char</font> <font class="keyword">const</font>** value) { <font class="keywordflow">return</font> add(value); }00407     dbQuery&amp; operator,(<font class="keywordtype">char</font>** value) { <font class="keywordflow">return</font> add(value); }00408     dbQuery&amp; operator,(int1 <font class="keyword">const</font>&amp;  value) { <font class="keywordflow">return</font> add(value); }00409     dbQuery&amp; operator,(int2 <font class="keyword">const</font>&amp;  value) { <font class="keywordflow">return</font> add(value); }00410     dbQuery&amp; operator,(int4 <font class="keyword">const</font>&amp;  value) { <font class="keywordflow">return</font> add(value); }00411     dbQuery&amp; operator,(db_int8 <font class="keyword">const</font>&amp;  value) { <font class="keywordflow">return</font> add(value); }00412     dbQuery&amp; operator,(real4 <font class="keyword">const</font>&amp; value) { <font class="keywordflow">return</font> add(value); }00413     dbQuery&amp; operator,(real8 <font class="keyword">const</font>&amp; value) { <font class="keywordflow">return</font> add(value); }00414     dbQuery&amp; operator,(<font class="keywordtype">bool</font> <font class="keyword">const</font>&amp;  value) { <font class="keywordflow">return</font> add(value); }00415     dbQuery&amp; operator,(<font class="keywordtype">void</font> <font class="keyword">const</font>*  value) { <font class="keywordflow">return</font> add(value); }00416     dbQuery&amp; operator,(dbQueryExpression <font class="keyword">const</font>&amp; expr) { <font class="keywordflow">return</font> add(expr); }00417 00418     dbQuery&amp; operator = (<font class="keyword">const</font> <font class="keywordtype">char</font>* str) { 00419         <font class="keywordflow">return</font> reset().<a class="code" href="classdbQuery.html#dbQuerya2">append</a>(dbQueryElement::qExpression, str);00420     }00421 00422 <font class="preprocessor">#ifndef NO_MEMBER_TEMPLATES</font>00423 <font class="preprocessor"></font>    <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00424     dbQuery&amp; operator,(<a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> <font class="keyword">const</font>&amp; value) { 00425         <font class="keywordflow">return</font> append(dbQueryElement::qVarReference, &amp;value, &amp;T::dbDescriptor);00426     }00427 00428     <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00429     <font class="keyword">inline</font> dbQuery&amp; operator,(<a class="code" href="classdbArray.html">dbArray</a>&lt; <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> &gt; <font class="keyword">const</font>&amp; value) { 00430         <font class="keywordflow">return</font> append(dbQueryElement::qVarArrayOfRef, &amp;value, 00431                       &amp;T::dbDescriptor);00432     }00433 00434     <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00435     <font class="keyword">inline</font> dbQuery&amp; operator,(<a class="code" href="classdbArray.html">dbArray</a>&lt; <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> &gt;<font class="keyword">const</font>* <font class="keyword">const</font>&amp; value) { 00436         <font class="keywordflow">return</font> append(dbQueryElement::qVarArrayOfRefPtr, &amp;value, &amp;T::dbDescriptor);00437     }00438 00439     <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00440     dbQuery&amp; add(<a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> <font class="keyword">const</font>&amp; value) { 00441         <font class="keywordflow">return</font> append(dbQueryElement::qVarReference, &amp;value, &amp;T::dbDescriptor);00442     }00443 00444     <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00445     dbQuery&amp; add(<a class="code" href="classdbArray.html">dbArray</a>&lt; <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> &gt; <font class="keyword">const</font>&amp; value) { 00446         <font class="keywordflow">return</font> append(dbQueryElement::qVarArrayOfRef, &amp;value, 00447                       &amp;T::dbDescriptor);00448     }00449     <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00450     dbQuery&amp; add(<a class="code" href="classdbArray.html">dbArray</a>&lt; <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> &gt;<font class="keyword">const</font>* <font class="keyword">const</font>&amp; value) { 00451         <font class="keywordflow">return</font> append(dbQueryElement::qVarArrayOfRefPtr, &amp;value, &amp;T::dbDescriptor);00452     }00453 00454     <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00455     dbQuery&amp; operator = (T <font class="keyword">const</font>&amp; value) { 00456         <font class="keywordflow">return</font> reset().<a class="code" href="classdbQuery.html#dbQuerya4">add</a>(value);00457     }   00458 <font class="preprocessor">#else</font>00459 <font class="preprocessor"></font>    dbQuery&amp; operator = (dbQueryExpression <font class="keyword">const</font>&amp; expr) {00460         <font class="keywordflow">return</font> reset().<a class="code" href="classdbQuery.html#dbQuerya4">add</a>(expr);00461     }    00462 <font class="preprocessor">#endif</font>00463 <font class="preprocessor"></font>00464 00465     dbQuery() { 00466         elements = NULL;00467         nextElement = &amp;elements;00468         operand = <font class="keyword">false</font>;00469         pos = 0;00470     } 00471     dbQuery(<font class="keywordtype">char</font> <font class="keyword">const</font>* str) { 00472         elements = <font class="keyword">new</font> <a class="code" href="classdbQueryElement.html">dbQueryElement</a>(dbQueryElement::qExpression, str);00473         nextElement = &amp;elements-&gt;<a class="code" href="classdbQueryElement.html#dbQueryElemento0">next</a>;00474         operand = <font class="keyword">true</font>;00475         pos = 0;00476     } 00477     ~dbQuery() { 00478         reset();00479     }00480 };00481 00482 <font class="preprocessor">#ifdef NO_MEMBER_TEMPLATES</font>00483 <font class="preprocessor"></font><font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00484 <font class="keyword">inline</font> dbQueryExpression&amp; operator,(dbQueryExpression&amp; expr, <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> <font class="keyword">const</font>&amp; value) { 00485     <font class="keywordflow">return</font> expr.<a class="code" href="classdbQueryExpression.html#dbQueryExpressiona0">add</a>(dbQueryElement::qVarReference, &amp;value, &amp;T::dbDescriptor);00486 }00487 <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00488 <font class="keyword">inline</font> dbQueryExpression&amp; operator,(dbQueryExpression&amp; expr, <a class="code" href="classdbArray.html">dbArray</a>&lt; <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> &gt; <font class="keyword">const</font>&amp; value) { 00489     <font class="keywordflow">return</font> expr.<a class="code" href="classdbQueryExpression.html#dbQueryExpressiona0">add</a>(dbQueryElement::qVarArrayOfRef, &amp;value, 00490                     &amp;T::dbDescriptor);00491 }00492 00493 <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00494 <font class="keyword">inline</font> dbQueryExpression&amp; operator,(dbQueryExpression&amp; expr, <a class="code" href="classdbArray.html">dbArray</a>&lt; <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> &gt;<font class="keyword">const</font>* <font class="keyword">const</font>&amp; value) { 00495     <font class="keywordflow">return</font> expr.<a class="code" href="classdbQueryExpression.html#dbQueryExpressiona0">add</a>(dbQueryElement::qVarArrayOfRefPtr, &amp;value, &amp;T::dbDescriptor);00496 }00497 00498 <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00499 <font class="keyword">inline</font> dbQuery&amp; operator,(dbQuery&amp; query, <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> <font class="keyword">const</font>&amp; value) { 00500     <font class="keywordflow">return</font> query.<a class="code" href="classdbQuery.html#dbQuerya2">append</a>(dbQueryElement::qVarReference, &amp;value, 00501                         &amp;T::dbDescriptor);00502 }00503 00504 <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00505 <font class="keyword">inline</font> dbQuery&amp; operator,(dbQuery&amp; query, 00506                              <a class="code" href="classdbArray.html">dbArray</a>&lt; <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> &gt; <font class="keyword">const</font>&amp; value) 00507 { 00508     <font class="keywordflow">return</font> query.<a class="code" href="classdbQuery.html#dbQuerya2">append</a>(dbQueryElement::qVarArrayOfRef, &amp;value, 00509                         &amp;T::dbDescriptor);00510 }00511 00512 <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00513 <font class="keyword">inline</font> dbQuery&amp; operator,(dbQuery&amp; query, 00514                              <a class="code" href="classdbArray.html">dbArray</a>&lt; <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> &gt;<font class="keyword">const</font>* <font class="keyword">const</font>&amp; value) 00515 { 00516     <font class="keywordflow">return</font> query.<a class="code" href="classdbQuery.html#dbQuerya2">append</a>(dbQueryElement::qVarArrayOfRefPtr, &amp;value, 00517                         &amp;T::dbDescriptor);00518 }00519 00520 <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00521 <font class="keyword">inline</font> dbQuery&amp; add(dbQuery&amp; query, <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> <font class="keyword">const</font>&amp; value) { 00522     <font class="keywordflow">return</font> query.<a class="code" href="classdbQuery.html#dbQuerya2">append</a>(dbQueryElement::qVarReference, &amp;value, &amp;T::dbDescriptor);00523 }00524 00525 <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00526 <font class="keyword">inline</font> dbQuery&amp; add(dbQuery&amp; query, <a class="code" href="classdbArray.html">dbArray</a>&lt; <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> &gt; <font class="keyword">const</font>&amp; value) { 00527     <font class="keywordflow">return</font> query.<a class="code" href="classdbQuery.html#dbQuerya2">append</a>(dbQueryElement::qVarArrayOfRef, &amp;value, 00528                         &amp;T::dbDescriptor);00529 }00530 00531 <font class="keyword">template</font>&lt;<font class="keyword">class</font> T&gt;00532 <font class="keyword">inline</font> dbQuery&amp; add(dbQuery&amp; query, <a class="code" href="classdbArray.html">dbArray</a>&lt; <a class="code" href="classdbReference.html">dbReference&lt;T&gt;</a> &gt;<font class="keyword">const</font>* <font class="keyword">const</font>&amp; value) { 00533     <font class="keywordflow">return</font> query.<a class="code" href="classdbQuery.html#dbQuerya2">append</a>(dbQueryElement::qVarArrayOfRefPtr, &amp;value, &amp;T::dbDescriptor);00534 }00535 <font class="preprocessor">#endif</font>00536 <font class="preprocessor"></font>00537 <font class="preprocessor">#define USER_FUNC(f) static dbUserFunction f##_descriptor(&amp;f, #f)</font>00538 <font class="preprocessor"></font>00539 <font class="keyword">struct </font>dbInheritedAttribute;00540 <font class="keyword">union  </font>dbSynthesizedAttribute;00541 <a name="l00546"></a><a class="code" href="classdbUserFunctionArgument.html">00546</a> <font class="keyword">class </font>FASTDB_DLL_ENTRY  dbUserFunctionArgument { 00547   <font class="keyword">public</font>:00548     <font class="keyword">enum</font> dbArgumentType { 00549         atInteger, 

⌨️ 快捷键说明

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