summaryrefslogtreecommitdiff
path: root/docs/doxygen/html/xbexp_8h_source.html
blob: 00615370e88771a736fd9486a01ec938f42c4ffa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.0.3/src/include/xbexp.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
   </div>
   <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.3 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle"><div class="title">xbexp.h</div></div>
</div><!--header-->
<div class="contents">
<a href="xbexp_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/*  xbexp.h</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="comment"></span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="comment">XBase64 Software Library</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment"></span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="comment"></span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment"></span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment">Email Contact:</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="comment"></span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="comment">    XDB-devel@lists.sourceforge.net</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="comment">    XDB-users@lists.sourceforge.net</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="comment"></span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="comment">*/</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#ifndef __XB_EXP_H__</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor">#define __XB_EXP_H__</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="comment">// #ifdef  CMAKE_COMPILER_IS_GNUCC</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="comment">// #pragma interface</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="comment">// #endif</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#ifdef XB_FUNCTION_SUPPORT</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#define XB_EXP_CHAR      &#39;C&#39;</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#define XB_EXP_DATE      &#39;D&#39;</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#define XB_EXP_LOGICAL   &#39;L&#39;</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#define XB_EXP_NUMERIC   &#39;N&#39;</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#define XB_EXP_UNKNOWN   &#39;U&#39;</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="preprocessor">#ifdef XB_EXPRESSION_SUPPORT</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="preprocessor">#define XB_EXP_CONSTANT      &#39;C&#39;</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="preprocessor">#define XB_EXP_FUNCTION      &#39;F&#39;</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="preprocessor">#define XB_EXP_FIELD         &#39;D&#39;</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="preprocessor">#define XB_EXP_OPERATOR      &#39;O&#39;</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="preprocessor">#define XB_EXP_NOTROOT       &#39;N&#39;    </span><span class="comment">// not root node, needs further parsing</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="preprocessor">#define XB_EXP_PRE_OPERATOR  &#39;B&#39;    </span><span class="comment">// (B)efore) pre increment, pre decrement</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span><span class="preprocessor">#define XB_EXP_POST_OPERATOR &#39;A&#39;    </span><span class="comment">// (A)fter)  post increment, pre decrement</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span><span class="preprocessor">#define XB_END_OF_EXPRESSION -100</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span><span class="comment">// #define XB_UNBALANCED_PARENS -101</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="comment">// #define XB_UNBALANCED_QUOTES -102</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span><span class="keyword">struct </span>XBDLLEXPORT xbExpToken {</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span>  xbString sExpression;      <span class="comment">// in - expression to pull next token from</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>                             <span class="comment">// out - remainder of the expression after token removed</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>  xbString sToken;           <span class="comment">// next token pulled from the expression</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>  <span class="keywordtype">char</span>     cNodeType;        <span class="comment">// one of XB_EXP_CONSTANT, XB_EXP_FUNCTION, XB_EXP_FIELD, XB_EXP_OPERATOR, XB_EXP_NOTROOT</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>  <span class="keywordtype">char</span>     cReturnType;      <span class="comment">// one of XB_EXP_CHAR, XB_EXP_DATE, XB_EXP_LOGICAL, XB_EXP_NUMERIC, XB_EXP_UNKNOWN</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span>  xbInt16  iSts;             <span class="comment">// return status after retrieving or attempting next token from expression</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>                             <span class="comment">// 0 = no error</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span>                             <span class="comment">// XB_END_OF_EXPRESSION</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>                             <span class="comment">// XB_UNBALANCED_PARENS</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span>                             <span class="comment">// XB_UNBALANCED_QUOTES</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span>  <span class="keywordtype">char</span>     cPrevNodeType;    <span class="comment">// previous node type</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span>  <span class="keywordtype">char</span>     cPrevReturnType;  <span class="comment">// previous return type</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span>  <span class="comment">// constructor</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>  xbExpToken() { cNodeType = 0; cReturnType = 0; iSts = 0; cPrevNodeType = 0; cPrevReturnType = 0; }</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>};</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span><span class="comment">/************************************************************************/</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span><span class="keyword">class </span>XBDLLEXPORT xbExp{</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span> </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>  <span class="keyword">public</span>:</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>    xbExp( <a class="code hl_variable" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a> * );</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>    xbExp( <a class="code hl_variable" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a> *, <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> * );</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>    <span class="keyword">virtual</span> ~xbExp();</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>    <span class="keywordtype">void</span> ClearTreeHandle();</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span> </div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span> </div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span><span class="preprocessor">    #ifdef XB_DEBUG_SUPPORT</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>    <span class="keywordtype">void</span>      DumpTree( xbInt16 iOption );</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>    <span class="keywordtype">void</span>      DumpToken( xbExpToken &amp;t, xbInt16 iOption = 0 );</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span><span class="preprocessor">    #endif</span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span> </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span>    xbInt16   GetResultLen() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span>    <span class="keywordtype">char</span>      GetReturnType() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>    xbInt16   GetBoolResult( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bResult );</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>    xbInt16   GetDateResult( xbDate &amp;dtResult );</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span>    xbInt16   GetNumericResult( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dResult );</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span>    xbInt16   GetStringResult( xbString &amp;sResult );</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span>    xbInt16   GetStringResult( <span class="keywordtype">char</span> * vpResult, xbUInt32 ulLen );</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span>    xbExpNode *GetTreeHandle();</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span>    xbInt16   ParseExpression( <span class="keyword">const</span> xbString &amp;sExpression );</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span>    xbInt16   ParseExpression( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf, <span class="keyword">const</span> xbString &amp;sExpression );</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>    xbInt16   ProcessExpression();</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span>    xbInt16   ProcessExpression( xbInt16 iRecBufSw );</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span> </div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span> </div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>  <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>    xbInt16   GetNextToken( xbExpToken &amp;t );</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>    xbInt16   OperatorWeight( <span class="keyword">const</span> xbString &amp;sOperator );</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span>    xbExpNode *GetNextNode( xbExpNode * n ) <span class="keyword">const</span>;  <span class="comment">// traverses the tree from bottom left node, right, then up</span></div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span> </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>  <span class="keyword">private</span>:    <span class="comment">// methods</span></div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span> </div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span>    <span class="comment">// xbInt16 CalcExpressionResultLen();</span></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>    xbInt16 CalcFunctionResultLen( xbExpNode *n ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>    xbInt16 CalcCharNodeLen( xbExpNode *n );</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>    xbInt16 CheckParensAndQuotes( <span class="keyword">const</span> xbString &amp;sExpression );</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span>    xbInt16 GetExpressionResultLen() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span> </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span>    xbInt16 GetTokenCharConstant   ( xbExpToken &amp;t );</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span>    xbInt16 GetTokenDatabaseField  ( xbExpToken &amp;t );</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>    xbInt16 GetTokenDateConstant   ( xbExpToken &amp;t );</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>    xbInt16 GetTokenFunction       ( xbExpToken &amp;t );</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>    xbInt16 GetTokenLogicalConstant( xbExpToken &amp;t );</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span>    xbInt16 GetTokenNumericConstant( xbExpToken &amp;t );</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span>    xbInt16 GetTokenOperator       ( xbExpToken &amp;t );</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span>    xbInt16 GetTokenParen          ( xbExpToken &amp;t );</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span> </div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>    <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>  IsFunction             ( <span class="keyword">const</span> xbString &amp;sExp, <span class="keywordtype">char</span> &amp;cReturnType );</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span>    <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>  IsLogicalConstant      ( <span class="keyword">const</span> xbString &amp;sExp );</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span>    <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>  IsNumericConstant      ( <span class="keyword">const</span> xbString &amp;sExp, <span class="keywordtype">char</span> cPrevNodeType );</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>    <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>  IsOperator             ( <span class="keyword">const</span> xbString &amp;sExp );</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>    <span class="keywordtype">char</span>    IsTokenSeparator       ( <span class="keywordtype">char</span> c );</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span>    <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>  IsWhiteSpace           ( <span class="keywordtype">char</span> c );</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span> </div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span>    xbInt16 ParseExpression        ( <span class="keyword">const</span> xbString &amp;sExpression, xbInt16 iWeight );</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span>    xbInt16 ParseExpressionConstant( xbExpToken &amp;t, xbExpNode *n );</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span>    xbInt16 ParseExpressionFunction( xbExpToken &amp;t, xbExpNode *n, xbInt16 iWeight );</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span>    xbInt16 ParseExpressionFunctionParms( <span class="keyword">const</span> xbString &amp;sParms, xbLinkList&lt;xbString&gt; &amp;llParms );</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span>    xbInt16 ParseExpressionField   ( xbExpToken &amp;t, xbExpNode *n );</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span>    xbInt16 ParseExpressionOperator( xbExpToken &amp;t, xbExpNode *n, xbInt16 iWeight );</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span> </div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span>    xbInt16 ProcessExpressionFunction( xbExpNode *n, xbInt16 iRecBufSw = 0 );</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span>    xbInt16 ProcessExpressionOperator( xbExpNode *n );</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span>  <span class="keyword">private</span>:   <span class="comment">// fields</span></div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>    <a class="code hl_variable" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a>   *xbase;</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>    <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a>     *dbf;</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>    xbExpNode *nTree;        <span class="comment">// pointer to tree of expNodes</span></div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>    <span class="comment">// xbInt16   iExpLen;       // size of expression result</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span> </div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span> </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>};</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span> </div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span><span class="comment">/* Expression handler */</span></div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span> </div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span> </div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>};</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span><span class="preprocessor">#endif        </span><span class="comment">// XB_EXPRESSION_SUPPORT</span></div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span><span class="preprocessor">#endif        </span><span class="comment">// __XB_EXP_H__</span></div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span> </div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span> </div>
<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
<div class="ttc" id="anamespacexb_html_a25f47b226ce924a5c78f97989b0744a2"><div class="ttname"><a href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb::xbDouble</a></div><div class="ttdeci">double xbDouble</div><div class="ttdef"><b>Definition:</b> xbtypes.h:23</div></div>
<div class="ttc" id="anamespacexb_html_a97858ddeb1c4b0100f3edc1a46d3a8b0"><div class="ttname"><a href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xb::xbXBase</a></div><div class="ttdeci">class XBDLLEXPORT xbXBase</div><div class="ttdef"><b>Definition:</b> xbssv.h:27</div></div>
<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
<div class="ttc" id="anamespacexb_html_ab2eae4b4732466698a7fdd89d77ba53b"><div class="ttname"><a href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xb::xbDbf</a></div><div class="ttdeci">class XBDLLEXPORT xbDbf</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:28</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
</small></address>
</body>
</html>