\hypertarget{xbxbase_8h_source}{}\doxysection{xbxbase.\+h}
\label{xbxbase_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.0/src/include/xbxbase.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.0/src/include/xbxbase.h}}
\mbox{\hyperlink{xbxbase_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 \textcolor{comment}{/*  xbxbase.h}}
\DoxyCodeLine{2 \textcolor{comment}{}}
\DoxyCodeLine{3 \textcolor{comment}{XBase64 Software Library}}
\DoxyCodeLine{4 \textcolor{comment}{}}
\DoxyCodeLine{5 \textcolor{comment}{Copyright (c) 1997,2003,2014,2022,2023 Gary A Kunkel}}
\DoxyCodeLine{6 \textcolor{comment}{}}
\DoxyCodeLine{7 \textcolor{comment}{The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.}}
\DoxyCodeLine{8 \textcolor{comment}{}}
\DoxyCodeLine{9 \textcolor{comment}{Email Contact:}}
\DoxyCodeLine{10 \textcolor{comment}{}}
\DoxyCodeLine{11 \textcolor{comment}{    XDB-\/devel@lists.sourceforge.net}}
\DoxyCodeLine{12 \textcolor{comment}{    XDB-\/users@lists.sourceforge.net}}
\DoxyCodeLine{13 \textcolor{comment}{}}
\DoxyCodeLine{14 \textcolor{comment}{*/}}
\DoxyCodeLine{15 }
\DoxyCodeLine{16 }
\DoxyCodeLine{17 \textcolor{preprocessor}{\#ifndef \_\_XB\_XBDBLIST\_H\_\_}}
\DoxyCodeLine{18 \textcolor{preprocessor}{\#define \_\_XB\_XBDBLIST\_H\_\_}}
\DoxyCodeLine{19 }
\DoxyCodeLine{20 \textcolor{preprocessor}{\#ifdef  CMAKE\_COMPILER\_IS\_GNUCC}}
\DoxyCodeLine{21 \textcolor{preprocessor}{\#pragma interface}}
\DoxyCodeLine{22 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{23 }
\DoxyCodeLine{24 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
\DoxyCodeLine{25 }
\DoxyCodeLine{26 \textcolor{keyword}{class }XBDLLEXPORT \mbox{\hyperlink{namespacexb_a4a31fbe9110c9e55495ce71e642d785c}{xbLog}};}
\DoxyCodeLine{27 }
\DoxyCodeLine{28 \textcolor{comment}{/************************************************************************/}}
\DoxyCodeLine{29 \textcolor{comment}{/* }}
\DoxyCodeLine{30 \textcolor{comment}{    Xbase functions}}
\DoxyCodeLine{31 \textcolor{comment}{}}
\DoxyCodeLine{32 \textcolor{comment}{   Min Parm Count is the minimum number of input parms needed by the function}}
\DoxyCodeLine{33 \textcolor{comment}{}}
\DoxyCodeLine{34 \textcolor{comment}{   Return Type}}
\DoxyCodeLine{35 \textcolor{comment}{       C        Char or string}}
\DoxyCodeLine{36 \textcolor{comment}{       D        Date}}
\DoxyCodeLine{37 \textcolor{comment}{       L        Logical}}
\DoxyCodeLine{38 \textcolor{comment}{       N        Numeric}}
\DoxyCodeLine{39 \textcolor{comment}{       1        Varies -\/ pull return type from first sibling}}
\DoxyCodeLine{40 \textcolor{comment}{       2        Varies -\/ pull return type from second sibling}}
\DoxyCodeLine{41 \textcolor{comment}{*/}}
\DoxyCodeLine{42 }
\DoxyCodeLine{43 \textcolor{preprocessor}{\#ifdef XB\_FUNCTION\_SUPPORT}}
\DoxyCodeLine{44 }
\DoxyCodeLine{45 \textcolor{comment}{/*}}
\DoxyCodeLine{46 \textcolor{comment}{struct XBDLLEXPORT xbFunctionInfo \{}}
\DoxyCodeLine{47 \textcolor{comment}{  const   char * FuncName;          // function name}}
\DoxyCodeLine{48 \textcolor{comment}{  char    ReturnType;               // return type of function}}
\DoxyCodeLine{49 \textcolor{comment}{  xbInt16 iReturnLenCalc;           // used to calculate the function return value is}}
\DoxyCodeLine{50 \textcolor{comment}{                                    // 1 = use value specified in iReturnLenVal}}
\DoxyCodeLine{51 \textcolor{comment}{                                    // 2 = use length of operand specified in col 4}}
\DoxyCodeLine{52 \textcolor{comment}{                                    // 3 = use valued of numeric operand specified in col 4}}
\DoxyCodeLine{53 \textcolor{comment}{                                    // 4 = length of parm 1 * numeric value parm}}
\DoxyCodeLine{54 \textcolor{comment}{                                    // 5 = larger length of parm 2 or length of parm 3}}
\DoxyCodeLine{55 \textcolor{comment}{                                    // 6 = if two or more parms, use numeric value from second parm,}}
\DoxyCodeLine{56 \textcolor{comment}{                                    //     otherwise use col4 value}}
\DoxyCodeLine{57 \textcolor{comment}{  xbInt16 iReturnLenVal;            // Used in combination with iReturnLenCalc}}
\DoxyCodeLine{58 \textcolor{comment}{}}
\DoxyCodeLine{59 \textcolor{comment}{\};}}
\DoxyCodeLine{60 \textcolor{comment}{*/}}
\DoxyCodeLine{61 \textcolor{comment}{/*}}
\DoxyCodeLine{62 \textcolor{comment}{static xbFunctionInfo FunctionList[] =}}
\DoxyCodeLine{63 \textcolor{comment}{//    Func       Return  -\/Rtrn Len-\/}}
\DoxyCodeLine{64 \textcolor{comment}{//    Name        Type   -\/Calc Val-\/}}
\DoxyCodeLine{65 \textcolor{comment}{\{}}
\DoxyCodeLine{66 \textcolor{comment}{   \{ "{}ABS"{},       'N',      1,   4 \},}}
\DoxyCodeLine{67 \textcolor{comment}{   \{ "{}ALLTRIM"{},   'C',      2,   1 \},}}
\DoxyCodeLine{68 \textcolor{comment}{   \{ "{}ASC"{},       'N',      1,   4 \},}}
\DoxyCodeLine{69 \textcolor{comment}{   \{ "{}AT"{},        'N',      1,   4 \},}}
\DoxyCodeLine{70 \textcolor{comment}{   \{ "{}CDOW"{},      'C',      1,   9 \},}}
\DoxyCodeLine{71 \textcolor{comment}{   \{ "{}CHR"{},       'C',      1,   1 \},}}
\DoxyCodeLine{72 \textcolor{comment}{   \{ "{}CMONTH"{},    'C',      1,   9 \},}}
\DoxyCodeLine{73 \textcolor{comment}{   \{ "{}CTOD"{},      'D',      1,   8 \},}}
\DoxyCodeLine{74 \textcolor{comment}{   \{ "{}DATE"{},      'D',      1,   8 \},}}
\DoxyCodeLine{75 \textcolor{comment}{   \{ "{}DAY"{},       'N',      1,   4 \},}}
\DoxyCodeLine{76 \textcolor{comment}{   \{ "{}DEL"{},       'C',      1,   1 \},}}
\DoxyCodeLine{77 \textcolor{comment}{   \{ "{}DELETED"{},   'L',      1,   1 \},}}
\DoxyCodeLine{78 \textcolor{comment}{   \{ "{}DESCEND"{},   '1',      2,   1 \},}}
\DoxyCodeLine{79 \textcolor{comment}{   \{ "{}DOW"{},       'N',      1,   4 \},}}
\DoxyCodeLine{80 \textcolor{comment}{   \{ "{}DTOC"{},      'C',      1,   8 \},}}
\DoxyCodeLine{81 \textcolor{comment}{   \{ "{}DTOS"{},      'C',      1,   8 \},}}
\DoxyCodeLine{82 \textcolor{comment}{   \{ "{}EXP"{},       'N',      1,   4 \},}}
\DoxyCodeLine{83 \textcolor{comment}{   \{ "{}IIF"{},       'C',      5,   0 \},}}
\DoxyCodeLine{84 \textcolor{comment}{   \{ "{}INT"{},       'N',      1,   4 \},}}
\DoxyCodeLine{85 \textcolor{comment}{   \{ "{}ISALPHA"{},   'L',      1,   1 \},}}
\DoxyCodeLine{86 \textcolor{comment}{   \{ "{}ISLOWER"{},   'L',      1,   1 \},}}
\DoxyCodeLine{87 \textcolor{comment}{   \{ "{}ISUPPER"{},   'L',      1,   1 \},}}
\DoxyCodeLine{88 \textcolor{comment}{   \{ "{}LEFT"{},      'C',      3,   2 \},}}
\DoxyCodeLine{89 \textcolor{comment}{   \{ "{}LEN"{},       'N',      1,   4 \},}}
\DoxyCodeLine{90 \textcolor{comment}{   \{ "{}LOG"{},       'N',      1,   4 \},}}
\DoxyCodeLine{91 \textcolor{comment}{   \{ "{}LOWER"{},     'C',      2,   1 \},}}
\DoxyCodeLine{92 \textcolor{comment}{   \{ "{}LTRIM"{},     'C',      2,   1 \},}}
\DoxyCodeLine{93 \textcolor{comment}{   \{ "{}MAX"{},       'N',      1,   4 \},}}
\DoxyCodeLine{94 \textcolor{comment}{   \{ "{}MIN"{},       'N',      1,   4 \},}}
\DoxyCodeLine{95 \textcolor{comment}{   \{ "{}MONTH"{},     'N',      1,   4 \},}}
\DoxyCodeLine{96 \textcolor{comment}{   \{ "{}RECNO"{},     'N',      1,   4 \},}}
\DoxyCodeLine{97 \textcolor{comment}{   \{ "{}RECCOUNT"{},  'N',      1,   4 \},}}
\DoxyCodeLine{98 \textcolor{comment}{   \{ "{}REPLICATE"{}, 'C',      4,   0 \},}}
\DoxyCodeLine{99 \textcolor{comment}{   \{ "{}RIGHT"{},     'C',      3,   2 \},}}
\DoxyCodeLine{100 \textcolor{comment}{   \{ "{}RTRIM"{},     'C',      2,   1 \},}}
\DoxyCodeLine{101 \textcolor{comment}{   \{ "{}SPACE"{},     'C',      3,   1 \},}}
\DoxyCodeLine{102 \textcolor{comment}{   \{ "{}SQRT"{},      'N',      1,   4 \},}}
\DoxyCodeLine{103 \textcolor{comment}{   \{ "{}STOD"{},      'D',      1,   8 \},}}
\DoxyCodeLine{104 \textcolor{comment}{   \{ "{}STR"{},       'C',      6,  10 \},}}
\DoxyCodeLine{105 \textcolor{comment}{   \{ "{}STRZERO"{},   'C',      3,   2 \},}}
\DoxyCodeLine{106 \textcolor{comment}{   \{ "{}SUBSTR"{},    'C',      3,   3 \},}}
\DoxyCodeLine{107 \textcolor{comment}{   \{ "{}TRIM"{},      'C',      2,   1 \},}}
\DoxyCodeLine{108 \textcolor{comment}{   \{ "{}UPPER"{},     'C',      2,   1 \},}}
\DoxyCodeLine{109 \textcolor{comment}{   \{ "{}VAL"{},       'N',      1,   4 \},}}
\DoxyCodeLine{110 \textcolor{comment}{   \{ "{}YEAR"{},      'N',      1,   4 \},}}
\DoxyCodeLine{111 \textcolor{comment}{   \{ 0, 0, 0, 0 \},}}
\DoxyCodeLine{112 \textcolor{comment}{\};}}
\DoxyCodeLine{113 \textcolor{comment}{*/}}
\DoxyCodeLine{114 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{115 }
\DoxyCodeLine{116 }
\DoxyCodeLine{117 }
\DoxyCodeLine{119 }
\DoxyCodeLine{123 \textcolor{keyword}{class }XBDLLEXPORT \mbox{\hyperlink{classxb_1_1xbXBase}{xbXBase}} : \textcolor{keyword}{public} \mbox{\hyperlink{classxb_1_1xbTblMgr}{xbTblMgr}}\{}
\DoxyCodeLine{124  \textcolor{keyword}{public}:}
\DoxyCodeLine{125   \mbox{\hyperlink{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}{xbXBase}}();}
\DoxyCodeLine{126   \mbox{\hyperlink{classxb_1_1xbXBase}{\string~xbXBase}}();}
\DoxyCodeLine{127 }
\DoxyCodeLine{128   xbInt16  CloseAllTables();}
\DoxyCodeLine{129   \textcolor{keywordtype}{void}     DisableMsgLogging();}
\DoxyCodeLine{130   \textcolor{keywordtype}{void}     EnableMsgLogging ();}
\DoxyCodeLine{131   xbInt16  FlushLog();}
\DoxyCodeLine{132 }
\DoxyCodeLine{133   \textcolor{keyword}{const}    \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&GetLogDirectory () \textcolor{keyword}{const};}
\DoxyCodeLine{134   \textcolor{keyword}{const}    \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&GetLogFileName  () \textcolor{keyword}{const};}
\DoxyCodeLine{135   \textcolor{keyword}{const}    \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&GetLogFqFileName() \textcolor{keyword}{const};}
\DoxyCodeLine{136   \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}}   GetLogStatus   () \textcolor{keyword}{const};}
\DoxyCodeLine{137 }
\DoxyCodeLine{138   xbInt16  \mbox{\hyperlink{classxb_1_1xbXBase_aa957eb502ecd076e5df89e7415cb094b}{OpenHighestVersion}}( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sAlias, \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} \&dbf, \textcolor{keywordtype}{int} dummy );}
\DoxyCodeLine{139   xbInt16  OpenHighestVersion( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sAlias, \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} **dbf );}
\DoxyCodeLine{140 }
\DoxyCodeLine{141   \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} *  Open( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, xbInt16 \&iRc );}
\DoxyCodeLine{142   \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} *  Open( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sAlias, xbInt16 iOpenMode, xbInt16 iShareMode, xbInt16 iVersion, xbInt16 \&iRc );}
\DoxyCodeLine{143   \textcolor{keywordtype}{void}     SetLogDirectory( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sLogFileDirectory );}
\DoxyCodeLine{144   \textcolor{keywordtype}{void}     SetLogFileName ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sLogFileName );}
\DoxyCodeLine{145   \textcolor{keywordtype}{void}     SetLogSize     ( \textcolor{keywordtype}{size\_t} lSize );}
\DoxyCodeLine{146   xbInt16  WriteLogMessage( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sLogMessage, xbInt16 iOutputOpt = 0 );}
\DoxyCodeLine{147   xbInt16  WriteLogBytes  ( xbUInt32 lCnt, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *p );}
\DoxyCodeLine{148 }
\DoxyCodeLine{149   \textcolor{keywordtype}{void}     xbSleep        ( xbInt32 lMillisecs );}
\DoxyCodeLine{150 }
\DoxyCodeLine{151   xbInt16  GetCmdLineOpt  ( xbInt32 lArgc, \textcolor{keywordtype}{char} **argv, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *sOptRqst, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sParmOut );}
\DoxyCodeLine{152   xbInt16  GetCmdLineOpt  ( xbInt32 lArgc, \textcolor{keywordtype}{char} **argv, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOptRqst, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sParmOut );}
\DoxyCodeLine{153 }
\DoxyCodeLine{154 }
\DoxyCodeLine{155   \textcolor{comment}{/* xbase functions */}}
\DoxyCodeLine{156 \textcolor{preprocessor}{  \#ifdef XB\_FUNCTION\_SUPPORT}}
\DoxyCodeLine{157   xbInt16 ABS( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
\DoxyCodeLine{158   xbInt16 ALLTRIM( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{159   xbInt16 ASC( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dAscOut );}
\DoxyCodeLine{160   xbInt16 AT( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sSrchFor, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sBase, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dPos );}
\DoxyCodeLine{161   xbInt16 CDOW( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOutDow );}
\DoxyCodeLine{162   xbInt16 CHR( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dAsciCd, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{163   xbInt16 CMONTH( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOutMonth );}
\DoxyCodeLine{164   xbInt16 CTOD( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sInDate, \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dOutDate );}
\DoxyCodeLine{165   xbInt16 DATE( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dOutDate );}
\DoxyCodeLine{166   xbInt16 DAY( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOutDay );}
\DoxyCodeLine{167   xbInt16 DEL( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} * d, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut, xbInt16 iRecBufSw = 0 );}
\DoxyCodeLine{168   xbInt16 DELETED( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} * d, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bOut, xbInt16 iRecBufSw = 0 );}
\DoxyCodeLine{169   xbInt16 DESCEND( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn,  \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{170   xbInt16 DESCEND( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}}   \&dInDate, \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dOutDate );}
\DoxyCodeLine{171   xbInt16 DESCEND( \textcolor{keyword}{const} \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn,   \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dsOut );}
\DoxyCodeLine{172   xbInt16 DOW( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&sInDate, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dDowOut );}
\DoxyCodeLine{173   xbInt16 DTOC( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOutFmtDate );}
\DoxyCodeLine{174   xbInt16 DTOS( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOutFmtDate );}
\DoxyCodeLine{175   xbInt16 EXP( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
\DoxyCodeLine{176   xbInt16 IIF( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bResult, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTrueResult, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFalseResult, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sResult );}
\DoxyCodeLine{177   xbInt16 INT( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
\DoxyCodeLine{178   xbInt16 ISALPHA( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bResult );}
\DoxyCodeLine{179   xbInt16 ISLOWER( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bResult );}
\DoxyCodeLine{180   xbInt16 ISUPPER( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bResult );}
\DoxyCodeLine{181   xbInt16 LEFT( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, xbUInt32 lCharCnt, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{182   xbInt16 LEN( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dLen );}
\DoxyCodeLine{183   xbInt16 LOG( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
\DoxyCodeLine{184   xbInt16 LOWER( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{185   xbInt16 LTRIM( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \& sOut );}
\DoxyCodeLine{186   xbInt16 MAX( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn1, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn2, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
\DoxyCodeLine{187   xbInt16 MIN( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn1, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn2, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
\DoxyCodeLine{188   xbInt16 MONTH( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dMonthOut );}
\DoxyCodeLine{189   xbInt16 RECCOUNT( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} * d, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dRecOut );}
\DoxyCodeLine{190   xbInt16 RECNO( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} * d, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dRecOut );}
\DoxyCodeLine{191   xbInt16 REPLICATE( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, xbUInt32 ulRepCnt, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{192   xbInt16 RIGHT( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, xbUInt32 iCharCnt, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{193   xbInt16 RTRIM( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{194   xbInt16 SPACE( xbInt32 lCnt, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{195   xbInt16 SQRT( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dBase, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dSqrRt );}
\DoxyCodeLine{196   xbInt16 STOD( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&sDateOut );}
\DoxyCodeLine{197   xbInt16 STR( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{198   xbInt16 STR( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, xbUInt32 ulLen, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{199   xbInt16 STR( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, xbUInt32 ulLen, xbUInt32 ulDec, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{200   xbInt16 STR( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, xbUInt32 ulLen, xbUInt32 ulDec, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sPadChar, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{201   xbInt16 STRZERO( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, xbUInt32 ulLen, xbUInt32 ulDec, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{202   xbInt16 SUBSTR( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, xbUInt32 ulStartPos, xbUInt32 ulLen, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{203   xbInt16 TRIM( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{204   xbInt16 UPPER( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
\DoxyCodeLine{205   xbInt16 VAL( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
\DoxyCodeLine{206   xbInt16 YEAR( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOutYear );}
\DoxyCodeLine{207 \textcolor{preprocessor}{  \#endif}}
\DoxyCodeLine{208 }
\DoxyCodeLine{209  \textcolor{keyword}{protected}:}
\DoxyCodeLine{210   \textcolor{keyword}{friend} \textcolor{keyword}{class }xbBcd;}
\DoxyCodeLine{211   \textcolor{keyword}{friend} \textcolor{keyword}{class }xbExp;}
\DoxyCodeLine{212 }
\DoxyCodeLine{213 \textcolor{preprocessor}{  \#ifdef XB\_BLOCKREAD\_SUPPORT}}
\DoxyCodeLine{214   \textcolor{keyword}{friend} \textcolor{keyword}{class }xbBlockRead;}
\DoxyCodeLine{215 \textcolor{preprocessor}{  \#endif }\textcolor{comment}{// XB\_BLOCKREAD\_SUPPORT}}
\DoxyCodeLine{216 }
\DoxyCodeLine{217 }
\DoxyCodeLine{218   xbInt16 \mbox{\hyperlink{classxb_1_1xbXBase_ae52e53340593b4253936c1372ec15ee1}{GetFunctionInfo}}( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sExpLine, \textcolor{keywordtype}{char} \&cReturnType, xbInt16 \&iReturnLenCalc, xbInt32 \&lReturnLenVal ) \textcolor{keyword}{const};}
\DoxyCodeLine{219   \textcolor{keyword}{static} xbInt16 xbMemcmp( \textcolor{keyword}{const} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} *s1, \textcolor{keyword}{const} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} *s2, \textcolor{keywordtype}{size\_t} n );}
\DoxyCodeLine{220 }
\DoxyCodeLine{221  \textcolor{keyword}{private}:}
\DoxyCodeLine{222 }
\DoxyCodeLine{223 \textcolor{preprocessor}{\#ifdef XB\_LOGGING\_SUPPORT}}
\DoxyCodeLine{224  \mbox{\hyperlink{namespacexb_a4a31fbe9110c9e55495ce71e642d785c}{xbLog}} *xLog;}
\DoxyCodeLine{225 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{226 }
\DoxyCodeLine{227 \};}
\DoxyCodeLine{228 }
\DoxyCodeLine{229 \}        \textcolor{comment}{/* namespace xb    */}}
\DoxyCodeLine{230 \textcolor{preprocessor}{\#endif   }\textcolor{comment}{/* \_\_XB\_DBLIST\_H\_\_ */}\textcolor{preprocessor}{}}

\end{DoxyCode}
