query_8h-source.html
来自「一个功能强大的内存数据库源代码,c++编写,有详细的注释」· HTML 代码 · 共 682 行 · 第 1/4 页
HTML
682 行
00550 atBoolean, 00551 atString, 00552 atReal, 00553 atReference, 00554 atRawBinary00555 }; 00556 dbArgumentType type; 00557 <font class="keyword">union </font>{00558 real8 realValue;00559 db_int8 intValue;00560 <font class="keywordtype">bool</font> boolValue;00561 <font class="keywordtype">char</font> <font class="keyword">const</font>* strValue;00562 oid_t oidValue;00563 <font class="keywordtype">void</font>* rawValue;00564 } u;00565 00566 <font class="keyword">private</font>:00567 <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classdbDatabase.html">dbDatabase</a>;00568 dbUserFunctionArgument(dbExprNode* expr, 00569 dbInheritedAttribute& iattr, 00570 dbSynthesizedAttribute& sattr, 00571 <font class="keywordtype">int</font> i);00572 };00573 <a name="l00582"></a><a class="code" href="classdbUserFunction.html">00582</a> <font class="keyword">class </font>FASTDB_DLL_ENTRY dbUserFunction { 00583 <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classdbDatabase.html">dbDatabase</a>;00584 <font class="keyword">friend</font> <font class="keyword">class </font>dbCompiler;00585 00586 <font class="keywordtype">void</font>* fptr;00587 <font class="keywordtype">char</font>* name;00588 00589 dbUserFunction* next;00590 <font class="keyword">static</font> dbUserFunction* list;00591 00592 <font class="keyword">enum</font> funcType {00593 fInt2Bool,00594 fReal2Bool,00595 fStr2Bool,00596 fInt2Int,00597 fReal2Int,00598 fStr2Int,00599 fInt2Real,00600 fReal2Real,00601 fStr2Real,00602 fInt2Str,00603 fReal2Str,00604 fStr2Str, 00605 fArg2Bool, 00606 fArg2Int, 00607 fArg2Real, 00608 fArg2Str, 00609 fArgArg2Bool, 00610 fArgArg2Int, 00611 fArgArg2Real, 00612 fArgArg2Str, 00613 fArgArgArg2Bool, 00614 fArgArgArg2Int, 00615 fArgArgArg2Real, 00616 fArgArgArg2Str00617 };00618 <font class="keywordtype">int</font> type;00619 00620 <font class="keywordtype">void</font> bind(<font class="keywordtype">char</font>* name, <font class="keywordtype">void</font>* f, funcType ftype);00621 00622 <font class="keyword">public</font>:00623 00624 <font class="keyword">static</font> dbUserFunction* find(<font class="keywordtype">char</font> <font class="keyword">const</font>* name) { 00625 <font class="keywordflow">for</font> (dbUserFunction* func = list; func != NULL; func = func-><a class="code" href="classdbUserFunction.html#dbUserFunctiono2">next</a>) { 00626 <font class="keywordflow">if</font> (name == func-><a class="code" href="classdbUserFunction.html#dbUserFunctiono1">name</a>) { 00627 <font class="keywordflow">return</font> func;00628 }00629 }00630 <font class="keywordflow">return</font> NULL;00631 }00632 00633 <font class="keywordtype">int</font> getParameterType();00634 00635 <font class="keywordtype">int</font> getNumberOfParameters();00636 00637 dbUserFunction(<font class="keywordtype">bool</font> (*f)(db_int8), <font class="keywordtype">char</font>* name) { 00638 bind(name, (<font class="keywordtype">void</font>*)f, fInt2Bool); 00639 }00640 dbUserFunction(<font class="keywordtype">bool</font> (*f)(real8), <font class="keywordtype">char</font>* name) { 00641 bind(name, (<font class="keywordtype">void</font>*)f, fReal2Bool); 00642 }00643 dbUserFunction(<font class="keywordtype">bool</font> (*f)(<font class="keywordtype">char</font> <font class="keyword">const</font>*), <font class="keywordtype">char</font>* name) { 00644 bind(name, (<font class="keywordtype">void</font>*)f, fStr2Bool); 00645 }00646 dbUserFunction(db_int8 (*f)(db_int8), <font class="keywordtype">char</font>* name) { 00647 bind(name, (<font class="keywordtype">void</font>*)f, fInt2Int); 00648 }00649 dbUserFunction(db_int8 (*f)(real8), <font class="keywordtype">char</font>* name) { 00650 bind(name, (<font class="keywordtype">void</font>*)f, fReal2Int); 00651 }00652 dbUserFunction(db_int8 (*f)(<font class="keywordtype">char</font> <font class="keyword">const</font>*), <font class="keywordtype">char</font>* name) { 00653 bind(name, (<font class="keywordtype">void</font>*)f, fStr2Int); 00654 }00655 dbUserFunction(real8 (*f)(db_int8), <font class="keywordtype">char</font>* name) { 00656 bind(name, (<font class="keywordtype">void</font>*)f, fInt2Real); 00657 }00658 dbUserFunction(real8 (*f)(real8), <font class="keywordtype">char</font>* name) { 00659 bind(name, (<font class="keywordtype">void</font>*)f, fReal2Real); 00660 }00661 dbUserFunction(real8 (*f)(<font class="keywordtype">char</font> <font class="keyword">const</font>*), <font class="keywordtype">char</font>* name) { 00662 bind(name, (<font class="keywordtype">void</font>*)f, fStr2Real); 00663 }00664 dbUserFunction(<font class="keywordtype">char</font>* (*f)(db_int8), <font class="keywordtype">char</font>* name) { 00665 bind(name, (<font class="keywordtype">void</font>*)f, fInt2Str); 00666 }00667 dbUserFunction(<font class="keywordtype">char</font>* (*f)(real8), <font class="keywordtype">char</font>* name) { 00668 bind(name, (<font class="keywordtype">void</font>*)f, fReal2Str); 00669 }00670 dbUserFunction(<font class="keywordtype">char</font>* (*f)(<font class="keywordtype">char</font> <font class="keyword">const</font>*), <font class="keywordtype">char</font>* name) { 00671 bind(name, (<font class="keywordtype">void</font>*)f, fStr2Str); 00672 }00673 00674 00675 dbUserFunction(<font class="keywordtype">bool</font> (*f)(dbUserFunctionArgument&), <font class="keywordtype">char</font>* name) { 00676 bind(name, (<font class="keywordtype">void</font>*)f, fArg2Bool); 00677 }00678 dbUserFunction(<font class="keywordtype">char</font>* (*f)(dbUserFunctionArgument&), <font class="keywordtype">char</font>* name) { 00679 bind(name, (<font class="keywordtype">void</font>*)f, fArg2Str); 00680 }00681 dbUserFunction(db_int8 (*f)(dbUserFunctionArgument&), <font class="keywordtype">char</font>* name) { 00682 bind(name, (<font class="keywordtype">void</font>*)f, fArg2Int); 00683 }00684 dbUserFunction(real8 (*f)(dbUserFunctionArgument&), <font class="keywordtype">char</font>* name) { 00685 bind(name, (<font class="keywordtype">void</font>*)f, fArg2Real); 00686 }00687 00688 dbUserFunction(<font class="keywordtype">bool</font> (*f)(dbUserFunctionArgument&, dbUserFunctionArgument&), <font class="keywordtype">char</font>* name) { 00689 bind(name, (<font class="keywordtype">void</font>*)f, fArgArg2Bool); 00690 }00691 dbUserFunction(<font class="keywordtype">char</font>* (*f)(dbUserFunctionArgument&, dbUserFunctionArgument&), <font class="keywordtype">char</font>* name) { 00692 bind(name, (<font class="keywordtype">void</font>*)f, fArgArg2Str); 00693 }00694 dbUserFunction(db_int8 (*f)(dbUserFunctionArgument&, dbUserFunctionArgument&), <font class="keywordtype">char</font>* name) { 00695 bind(name, (<font class="keywordtype">void</font>*)f, fArgArg2Int); 00696 }00697 dbUserFunction(real8 (*f)(dbUserFunctionArgument&, dbUserFunctionArgument&), <font class="keywordtype">char</font>* name) { 00698 bind(name, (<font class="keywordtype">void</font>*)f, fArgArg2Real); 00699 }00700 00701 00702 dbUserFunction(<font class="keywordtype">bool</font> (*f)(dbUserFunctionArgument&, dbUserFunctionArgument&, dbUserFunctionArgument&), <font class="keywordtype">char</font>* name) { 00703 bind(name, (<font class="keywordtype">void</font>*)f, fArgArgArg2Bool); 00704 }00705 dbUserFunction(<font class="keywordtype">char</font>* (*f)(dbUserFunctionArgument&, dbUserFunctionArgument&, dbUserFunctionArgument&), <font class="keywordtype">char</font>* name) { 00706 bind(name, (<font class="keywordtype">void</font>*)f, fArgArgArg2Str); 00707 }00708 dbUserFunction(db_int8 (*f)(dbUserFunctionArgument&, dbUserFunctionArgument&, dbUserFunctionArgument&), <font class="keywordtype">char</font>* name) { 00709 bind(name, (<font class="keywordtype">void</font>*)f, fArgArgArg2Int); 00710 }00711 dbUserFunction(real8 (*f)(dbUserFunctionArgument&, dbUserFunctionArgument&, dbUserFunctionArgument&), <font class="keywordtype">char</font>* name) { 00712 bind(name, (<font class="keywordtype">void</font>*)f, fArgArgArg2Real); 00713 }00714 };00715 00716 <font class="preprocessor">#endif</font>00717 <font class="preprocessor"></font>00718 00719 </pre></div><hr><address align="right"><small>Generated on Fri Nov 15 21:06:29 2002 for FastDB by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.15 </small></address></body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?