summaryrefslogtreecommitdiff
path: root/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex
diff options
context:
space:
mode:
Diffstat (limited to '1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex')
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/Makefile23
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/annotated.tex13
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/checkndx_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDate.eps197
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDate.pdfbin0 -> 4739 bytes
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDate.tex1149
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDbf.eps203
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDbf.pdfbin0 -> 4914 bytes
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDbf.tex4523
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbFile.eps203
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbFile.pdfbin0 -> 4915 bytes
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbFile.tex1953
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbSsv.eps219
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbSsv.pdfbin0 -> 6100 bytes
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbSsv.tex427
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbString.tex1776
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbTblMgr.eps203
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbTblMgr.pdfbin0 -> 5490 bytes
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbTblMgr.tex491
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbXBase.eps203
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbXBase.pdfbin0 -> 5492 bytes
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbXBase.tex817
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dbfxtrct_8cpp.tex25
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_25b94c3afce00ed38231227d8141f932.tex27
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_313caf1132e152dd9b58bea13a4052ca.tex27
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_aebb8dcc11953d78e620bbef0b9e2183.tex57
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_b0856f6b0d80ccb263b2f415c91f9e17.tex55
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_d93a1d4020dea85bb71b237545b5e722.tex55
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_e931c1a3f0014e624d0645a271726ad2.tex25
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/doxygen.sty601
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/files.tex111
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/hierarchy.tex19
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/include_2xbcrix_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/longtable_doxygen.sty448
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/namespaces.tex4
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/namespacexb.tex126
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/refman.tex341
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/reindex_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/sql_2xbcrix_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/structsFldMap.tex45
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/structxb_1_1xbSchema.tex77
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/structxb_1_1xbTblList.tex57
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/tabu_doxygen.sty2557
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/tstfuncs_8cpp.tex118
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__cfg__check_8cpp.tex19
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__copydbf_8cpp.tex33
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dbfutil_8cpp.tex33
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__deletall_8cpp.tex33
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumpdbt_8cpp.tex33
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumphdr_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumpix_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumprecs_8cpp.tex33
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__date_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__expression_8cpp.tex51
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__log_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__sql_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__ssv_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__string_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v3__create__dbf_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v3__upd__dbf_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v4__create__dbf_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v4__upd__dbf_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__execsql_8cpp.tex41
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__import_8cpp.tex38
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__pack_8cpp.tex33
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__tblinfo_8cpp.tex33
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__bcd_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__blockread_8cpp.tex42
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__blockread__save_8cpp.tex42
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__date_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v3__memos_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v3__nomemos_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v4__memos_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v4__nomemos_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__expnode_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__expression_8cpp.tex74
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__file_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__filter_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__funcs_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__linklist_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__lock2_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__lock_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__log_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__mdx_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__ndx2_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__ndx_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__sql_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__string_8cpp.tex32
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__tblmgr_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__tdx_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__uda_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__xbase_8cpp.tex18
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__undelall_8cpp.tex33
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__zap_8cpp.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbalttbl_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbase_8h.tex31
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbase_8h_source.tex106
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbbcd_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbbcd_8h.tex2
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbbcd_8h_source.tex97
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbblkread_8h.tex7
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbblkread_8h_source.tex69
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbblockread_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrix_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrtbl_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrtbl_8save2_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrtbl_8save_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdate_8cpp.tex9
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdate_8h.tex50
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdate_8h_source.tex106
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf3_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf4_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf_8cpp.tex8
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf_8h.tex196
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf_8h_source.tex521
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdelete_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdrpix_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdrptbl_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexp_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexp_8h.tex16
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexp_8h_source.tex165
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexpnode_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexpnode_8h.tex2
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexpnode_8h_source.tex113
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfields_8cpp.tex8
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfile_8cpp.tex8
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfile_8h.tex58
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfile_8h_source.tex184
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfilter_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfilter_8h.tex2
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfilter_8h_source.tex84
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfuncs_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbindex_8h.tex2
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbindex_8h_source.tex521
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbinsert_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixbase_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixmdx_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixndx_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixtdx_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklst_8h.tex2
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklst_8h_source.tex263
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklstord_8h.tex2
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklstord_8h_source.tex373
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnknod_8h.tex2
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnknod_8h_source.tex100
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblog_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblog_8h.tex7
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblog_8h_source.tex60
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo3_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo4_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo_8h.tex2
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo_8h_source.tex187
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbretcod_8h.tex477
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbretcod_8h_source.tex104
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbselect_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbset_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbsql_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbsql_8h.tex2
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbsql_8h_source.tex167
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbssv_8cpp.tex13
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbssv_8h.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbssv_8h_source.tex187
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstmt_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstring_8cpp.tex13
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstring_8h.tex14
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstring_8h_source.tex174
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtag_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtag_8h.tex7
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtag_8h_source.tex69
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtblmgr_8cpp.tex8
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtblmgr_8h.tex19
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtblmgr_8h_source.tex69
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtypes_8h.tex48
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtypes_8h_source.tex61
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbuda_8cpp.tex3
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbuda_8h.tex2
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbuda_8h_source.tex58
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbxbase_8cpp.tex8
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbxbase_8h.tex17
-rw-r--r--1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbxbase_8h_source.tex237
182 files changed, 23662 insertions, 0 deletions
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/Makefile b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/Makefile
new file mode 100644
index 0000000..877c9cc
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/Makefile
@@ -0,0 +1,23 @@
+LATEX_CMD=pdflatex
+
+all: refman.pdf
+
+pdf: refman.pdf
+
+refman.pdf: clean refman.tex
+ $(LATEX_CMD) refman
+ makeindex refman.idx
+ $(LATEX_CMD) refman
+ latex_count=8 ; \
+ while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
+ do \
+ echo "Rerunning latex...." ;\
+ $(LATEX_CMD) refman ;\
+ latex_count=`expr $$latex_count - 1` ;\
+ done
+ makeindex refman.idx
+ $(LATEX_CMD) refman
+
+
+clean:
+ rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/annotated.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/annotated.tex
new file mode 100644
index 0000000..c670b75
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/annotated.tex
@@ -0,0 +1,13 @@
+\doxysection{Data Structures}
+Here are the data structures with brief descriptions\+:\begin{DoxyCompactList}
+\item\contentsline{section}{\mbox{\hyperlink{structsFldMap}{s\+Fld\+Map}} }{\pageref{structsFldMap}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classxb_1_1xbDate}{xb\+::xb\+Date}} \\*Xb\+Date class }{\pageref{classxb_1_1xbDate}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+::xb\+Dbf}} \\*Base class for handling dbf files/tables }{\pageref{classxb_1_1xbDbf}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classxb_1_1xbFile}{xb\+::xb\+File}} \\*Class for handling low level file I/O }{\pageref{classxb_1_1xbFile}}{}
+\item\contentsline{section}{\mbox{\hyperlink{structxb_1_1xbSchema}{xb\+::xb\+Schema}} \\*Schema used for defining tables with Create\+Table methods }{\pageref{structxb_1_1xbSchema}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classxb_1_1xbSsv}{xb\+::xb\+Ssv}} \\*Class for handling shared system variables }{\pageref{classxb_1_1xbSsv}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classxb_1_1xbString}{xb\+::xb\+String}} \\*Class for handling string data }{\pageref{classxb_1_1xbString}}{}
+\item\contentsline{section}{\mbox{\hyperlink{structxb_1_1xbTblList}{xb\+::xb\+Tbl\+List}} }{\pageref{structxb_1_1xbTblList}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classxb_1_1xbTblMgr}{xb\+::xb\+Tbl\+Mgr}} }{\pageref{classxb_1_1xbTblMgr}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+::xb\+XBase}} \\*Xb\+Xbase class }{\pageref{classxb_1_1xbXBase}}{}
+\end{DoxyCompactList}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/checkndx_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/checkndx_8cpp.tex
new file mode 100644
index 0000000..d2155ae
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/checkndx_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{checkndx_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.0.2/src/utils/checkndx.cpp File Reference}
+\label{checkndx_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.0.2/src/utils/checkndx.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.0.2/src/utils/checkndx.cpp}}
+{\ttfamily \#include $<$xbase64/xbase64.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{checkndx_8cpp_a0c99d968a34e803d378692bde2e3f18f}{main}} (int ac, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{checkndx_8cpp_a0c99d968a34e803d378692bde2e3f18f}\label{checkndx_8cpp_a0c99d968a34e803d378692bde2e3f18f}}
+\index{checkndx.cpp@{checkndx.cpp}!main@{main}}
+\index{main@{main}!checkndx.cpp@{checkndx.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{ac, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDate.eps b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDate.eps
new file mode 100644
index 0000000..80ed36f
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDate.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 512.820496
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.975000 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text 'arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col 'arg1' to 'arg2' of row 'arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(xb::xbDate) cw
+(xb::xbSsv) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (xb::xbDate) 0.000000 0.000000 box
+ (xb::xbSsv) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDate.pdf b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDate.pdf
new file mode 100644
index 0000000..566204d
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDate.pdf
Binary files differ
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDate.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDate.tex
new file mode 100644
index 0000000..a7a9988
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDate.tex
@@ -0,0 +1,1149 @@
+\hypertarget{classxb_1_1xbDate}{}\doxysection{xb\+::xb\+Date Class Reference}
+\label{classxb_1_1xbDate}\index{xb::xbDate@{xb::xbDate}}
+
+
+\mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} class.
+
+
+
+
+{\ttfamily \#include $<$xbdate.\+h$>$}
+
+Inheritance diagram for xb\+::xb\+Date\+:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classxb_1_1xbDate}
+\end{center}
+\end{figure}
+\doxysubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\hyperlink{classxb_1_1xbDate_ab3150e7db0ab5db10a07d748b55465eb}{xb\+Date}} ()
+\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbDate_ac8a4d9330221a3daee21b3c28c1d9719}{xb\+Date}} (const char $\ast$Date8)
+\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbDate_acf4546f5681735ede18210f60bab68d4}{xb\+Date}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&Date8)
+\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbDate_a7ab727a7ec184a086ad36ef83b948170}{xb\+Date}} (xb\+Int32 l\+Jul\+Date)
+\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbDate_a8dfc827b466be3c5e3def599277dfa43}{xb\+Date}} (xb\+UInt16 i\+Init)
+\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbDate_a05c9680c6eb9fe07ecf13a189b596c37}{$\sim$xb\+Date}} ()
+\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbDate_a2e33ad9415c32e820e08fd8084198690}{operator=}} (const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&d)
+\begin{DoxyCompactList}\small\item\em Set operator=. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbDate_a947ba156d04fe063aaa4c9964ae5d163}{operator+=}} (xb\+Int32 i)
+\begin{DoxyCompactList}\small\item\em operator += \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbDate_a4a8f207d759540114373f5e9d6d375f7}{operator-\/=}} (xb\+Int32 i)
+\begin{DoxyCompactList}\small\item\em operator -\/= \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbDate_a1c7d9e3718c43df18b21646072c8605e}{operator++}} (xb\+Int32 i)
+\begin{DoxyCompactList}\small\item\em operator ++ \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbDate_ae2b33dfee60d324916d833b2098b5a6b}{operator-\/-\/}} (xb\+Int32 i)
+\begin{DoxyCompactList}\small\item\em operator -- \end{DoxyCompactList}\item
+xb\+Int32 \mbox{\hyperlink{classxb_1_1xbDate_a3f3a8802c96098c85aa8d0e19717a979}{operator-\/}} (const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&) const
+\begin{DoxyCompactList}\small\item\em operator -\/ \end{DoxyCompactList}\item
+const char $\ast$ \mbox{\hyperlink{classxb_1_1xbDate_a73ff5c037046ac0a0bb7d73f74e25cbb}{operator-\/}} (xb\+Int32 i)
+\begin{DoxyCompactList}\small\item\em operator -\/ \end{DoxyCompactList}\item
+const char $\ast$ \mbox{\hyperlink{classxb_1_1xbDate_ad09609bf78cf038886a4f9cd19423f9c}{operator+}} (xb\+Int32 i)
+\begin{DoxyCompactList}\small\item\em operator + \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDate_aaaf98c1a672066021895f0953b6e94d0}{operator==}} (const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&) const
+\begin{DoxyCompactList}\small\item\em operator == \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDate_ac3aaf8997fc0c36676085e7741f33a8a}{operator!=}} (const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&) const
+\begin{DoxyCompactList}\small\item\em operator != \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDate_a11f09d97ed527e7ef00ba6f17b9fb02c}{operator$<$}} (const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&) const
+\begin{DoxyCompactList}\small\item\em operator \texorpdfstring{$<$}{<} \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDate_a744031c4031d6ec4595d34acbd1c5860}{operator$>$}} (const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&) const
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>} \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDate_a6d8fa4df4664f3fd8d4cc15e77f6d046}{operator$<$=}} (const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&) const
+\begin{DoxyCompactList}\small\item\em operator \texorpdfstring{$<$}{<}= \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDate_a1d81959ea55440588068ea7f82617c99}{operator$>$=}} (const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&) const
+\begin{DoxyCompactList}\small\item\em operator \texorpdfstring{$>$}{>}= \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDate_a9df58caa54105c489c314785c457e8cb}{Calc\+Rolling\+Century\+For\+Year}} (xb\+Int16 year) const
+\begin{DoxyCompactList}\small\item\em Calculate century for a given year. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDate_a38b2c5285c69ed65e94ece6c22dafde0}{Century\+Of}} () const
+\begin{DoxyCompactList}\small\item\em Get century for date. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDate_a9fc29730b66cddfbb58c69992a99cc7c}{Char\+Day\+Of}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Out\+Char\+Day)
+\begin{DoxyCompactList}\small\item\em Get the day of the week. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDate_afffc84f02bd421335ff8ebe9fb3db0ac}{Char\+Month\+Of}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Out\+Char\+Month)
+\begin{DoxyCompactList}\small\item\em Get the month from the date. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDate_a367f66ef0c03c1747c12a18784554ccb}{Date\+Is\+Valid}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Date8) const
+\begin{DoxyCompactList}\small\item\em Check a date for valid data. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDate_ad6417a900ce64a46f8909c0c7a2ddea2}{Day\+Of}} (xb\+Int16 i\+Format) const
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDate_abb1eb4b0394e4a67aadab15779b1b8c5}{CTOD}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Ctod\+In\+Date)
+\begin{DoxyCompactList}\small\item\em Format MM/\+DD/\+YY date. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDate_a01de44dc869f7db99f33046fc91f2c6a}{Format\+Date}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fmt\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fmt\+Out)
+\item
+const char $\ast$ \mbox{\hyperlink{classxb_1_1xbDate_ab43a5d8d929767c0ffdd722972bb8cc0}{Str}} () const
+\begin{DoxyCompactList}\small\item\em Return the date value. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDate_af2bd33a72448e2c5ee00d8b711dc5d95}{Is\+Leap\+Year}} (xb\+Int16 i\+Year) const
+\begin{DoxyCompactList}\small\item\em Determine if date is a leap year. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDate_a5f8051c31b29244265e8f26ac3547b9b}{Is\+Leap\+Year}} () const
+\begin{DoxyCompactList}\small\item\em Determine if date is a leap year. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDate_a611a64b14ff89ad3c20b34081ea1e658}{Is\+Null}} () const
+\begin{DoxyCompactList}\small\item\em Determine if date is null date. \end{DoxyCompactList}\item
+xb\+Int32 \mbox{\hyperlink{classxb_1_1xbDate_a1ee3377d4ead9d31099eee539d9b13a7}{Julian\+Days}} () const
+\begin{DoxyCompactList}\small\item\em Calculate julian days for a given date. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDate_a9d28b2a46d8aaa284b92f44eeb96b2ff}{Jul\+To\+Date8}} (xb\+Int32 l\+Jul\+Date)
+\begin{DoxyCompactList}\small\item\em Convert the number of julian days to gregorian date. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDate_a15847866bb7642aa42bc254e0cf2038a}{Last\+Day\+Of\+Month}} ()
+\begin{DoxyCompactList}\small\item\em Set the date to the last day of month for a given date. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDate_a08bd84c67e1119d8c5c1748cd89d092e}{Month\+Of}} () const
+\begin{DoxyCompactList}\small\item\em Return the month for the date. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDate_a4b0cde152b5de0f7d26608d1445110b6}{Set}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&Date8)
+\begin{DoxyCompactList}\small\item\em Set the date. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDate_a40ba54a58d64cf56266f020f91584192}{Sysdate}} ()
+\begin{DoxyCompactList}\small\item\em Set the date equal to the system date. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDate_a31057dfaa36389a16e40e3db82c46262}{Year\+Of}} () const
+\begin{DoxyCompactList}\small\item\em Returns the year of the date. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}{Display\+Error}} (xb\+Int16 Error\+Code) const
+\begin{DoxyCompactList}\small\item\em Display error message on console for a given error number. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}{Get\+Default\+Date\+Format}} () const
+\begin{DoxyCompactList}\small\item\em Get the default date format. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}{Get\+Data\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the current data directory. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}{Get\+Temp\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the current temp directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}{Get\+Home\+Dir}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Home\+Dir\+Out)
+\begin{DoxyCompactList}\small\item\em Get home directory. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}{Get\+Endian\+Type}} () const
+\begin{DoxyCompactList}\small\item\em Get the Endian type. \end{DoxyCompactList}\item
+const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}{Get\+Error\+Message}} (xb\+Int16 Error\+Code) const
+\begin{DoxyCompactList}\small\item\em Get an error message. \end{DoxyCompactList}\item
+char \mbox{\hyperlink{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}{Get\+Path\+Separator}} () const
+\begin{DoxyCompactList}\small\item\em Get the OS dependent path separator. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}{Set\+Data\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Data\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the data directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}{Set\+Default\+Date\+Format}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Default\+Date\+Format)
+\begin{DoxyCompactList}\small\item\em Set the default date format. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}{Set\+Temp\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Temp\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the temp directory. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}{Bit\+Set}} (unsigned char c, xb\+Int16 i\+Bit\+No) const
+\begin{DoxyCompactList}\small\item\em Check a bit in a one byte field and see if it is set. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}{Bit\+Dump}} (unsigned char c) const
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}{Bit\+Dump}} (char c) const
+\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}{Get\+Default\+Auto\+Commit}} () const
+\begin{DoxyCompactList}\small\item\em Get the default auto commit setting. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}{Set\+Default\+Auto\+Commit}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Default\+Auto\+Commit)
+\begin{DoxyCompactList}\small\item\em Set the default auto commit. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}{Get\+Log\+Directory}} () const
+\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}{Get\+Log\+File\+Name}} () const
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}{Set\+Log\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+Directory)
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}{Set\+Log\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+File\+Name)
+\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}{Get\+Multi\+User}} () const
+\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}{Set\+Multi\+User}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Multi\+User)
+\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Static Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+static const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}{Error\+Code\+Text}} \mbox{[}$\,$\mbox{]}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}{Set\+Endian\+Type}} ()
+\begin{DoxyCompactList}\small\item\em Set the endian type. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Static Protected Attributes}
+\begin{DoxyCompactItemize}
+\item
+static xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}{i\+Endian\+Type}} = 0
+\item
+static \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}{s\+Null\+String}} = \char`\"{}\char`\"{}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Detailed Description}
+\mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} class.
+
+This \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} class handles two type of date values\+:~\newline
+
+
+1) Gregorian dates with a format of CCYYMMDD. This is how dates are stored in dbf files.~\newline
+ 2) Julian dates calculated as the number of days since 1901-\/01-\/01 + 1721425.~\newline
+
+
+Leap Years\+: The routines in the class support both leap years (one every four years) and leap centuries (one every four hundred years.)
+
+A leap year is a year having 366 days, which can be evenly divisible by 4 and not by 100.~\newline
+ Leap centuries are years which are evenly divisible by 400.~\newline
+
+
+From a programming perspective, Julian dates are useful for date arithmetic, determining the difference between two dates or calculating a future or past date.~\newline
+
+
+To determine the difference between two dates, convert both dates to a Julian date and subtract one from the other.~\newline
+
+
+To calculate a future or past date, convert the base date to a Julian date, add (or subtract) the number of days necessary to (from) it and convert the julian date back to a Gregorian date.
+
+\doxysubsection{Constructor \& Destructor Documentation}
+\mbox{\Hypertarget{classxb_1_1xbDate_ab3150e7db0ab5db10a07d748b55465eb}\label{classxb_1_1xbDate_ab3150e7db0ab5db10a07d748b55465eb}}
+\index{xb::xbDate@{xb::xbDate}!xbDate@{xbDate}}
+\index{xbDate@{xbDate}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{xbDate()}{xbDate()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}}
+{\footnotesize\ttfamily xb\+::xb\+Date\+::xb\+Date (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Constructor.
+
+\mbox{\Hypertarget{classxb_1_1xbDate_ac8a4d9330221a3daee21b3c28c1d9719}\label{classxb_1_1xbDate_ac8a4d9330221a3daee21b3c28c1d9719}}
+\index{xb::xbDate@{xb::xbDate}!xbDate@{xbDate}}
+\index{xbDate@{xbDate}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{xbDate()}{xbDate()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}}
+{\footnotesize\ttfamily xb\+::xb\+Date\+::xb\+Date (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s\+Date8\+In }\end{DoxyParamCaption})}
+
+
+
+Constructor.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Date8\+In} & -\/ Input date. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbDate_acf4546f5681735ede18210f60bab68d4}\label{classxb_1_1xbDate_acf4546f5681735ede18210f60bab68d4}}
+\index{xb::xbDate@{xb::xbDate}!xbDate@{xbDate}}
+\index{xbDate@{xbDate}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{xbDate()}{xbDate()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}}
+{\footnotesize\ttfamily xb\+::xb\+Date\+::xb\+Date (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Date8\+In }\end{DoxyParamCaption})}
+
+
+
+Constructor.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Date8\+In} & -\/ Input date. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbDate_a7ab727a7ec184a086ad36ef83b948170}\label{classxb_1_1xbDate_a7ab727a7ec184a086ad36ef83b948170}}
+\index{xb::xbDate@{xb::xbDate}!xbDate@{xbDate}}
+\index{xbDate@{xbDate}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{xbDate()}{xbDate()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}}
+{\footnotesize\ttfamily xb\+::xb\+Date\+::xb\+Date (\begin{DoxyParamCaption}\item[{xb\+Int32}]{l\+Jul\+Date }\end{DoxyParamCaption})}
+
+
+
+Constructor.
+
+
+\begin{DoxyParams}{Parameters}
+{\em l\+Jul\+Date} & -\/ Input julian date. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbDate_a8dfc827b466be3c5e3def599277dfa43}\label{classxb_1_1xbDate_a8dfc827b466be3c5e3def599277dfa43}}
+\index{xb::xbDate@{xb::xbDate}!xbDate@{xbDate}}
+\index{xbDate@{xbDate}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{xbDate()}{xbDate()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}}
+{\footnotesize\ttfamily xb\+::xb\+Date\+::xb\+Date (\begin{DoxyParamCaption}\item[{xb\+UInt16}]{i\+Init }\end{DoxyParamCaption})}
+
+
+
+Constructor.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Init\+Opt} & -\/ Constructor to use to initialize date static variables Called by the main xb\+Xbase\+::xb\+XBase constructor \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbDate_a05c9680c6eb9fe07ecf13a189b596c37}\label{classxb_1_1xbDate_a05c9680c6eb9fe07ecf13a189b596c37}}
+\index{xb::xbDate@{xb::xbDate}!````~xbDate@{$\sim$xbDate}}
+\index{````~xbDate@{$\sim$xbDate}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{$\sim$xbDate()}{~xbDate()}}
+{\footnotesize\ttfamily xb\+::xb\+Date\+::$\sim$xb\+Date (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Destructor.
+
+
+
+\doxysubsection{Member Function Documentation}
+\mbox{\Hypertarget{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}\label{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}}
+\index{xb::xbDate@{xb::xbDate}!BitDump@{BitDump}}
+\index{BitDump@{BitDump}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}\label{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}}
+\index{xb::xbDate@{xb::xbDate}!BitDump@{BitDump}}
+\index{BitDump@{BitDump}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{unsigned char}]{c }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}\label{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}}
+\index{xb::xbDate@{xb::xbDate}!BitSet@{BitSet}}
+\index{BitSet@{BitSet}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{BitSet()}{BitSet()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Bit\+Set (\begin{DoxyParamCaption}\item[{unsigned char}]{c, }\item[{xb\+Int16}]{i\+Bit\+No }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Check a bit in a one byte field and see if it is set.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & One byte char field to examine. \\
+\hline
+{\em i\+Bit\+No} & which bit to examine. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True Bit is set~\newline
+ xb\+False Bit is not set
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a9df58caa54105c489c314785c457e8cb}\label{classxb_1_1xbDate_a9df58caa54105c489c314785c457e8cb}}
+\index{xb::xbDate@{xb::xbDate}!CalcRollingCenturyForYear@{CalcRollingCenturyForYear}}
+\index{CalcRollingCenturyForYear@{CalcRollingCenturyForYear}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{CalcRollingCenturyForYear()}{CalcRollingCenturyForYear()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Date\+::\+Calc\+Rolling\+Century\+For\+Year (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Calc\+Year }\end{DoxyParamCaption}) const}
+
+
+
+Calculate century for a given year.
+
+This routine calculates a century for a given year. It uses an 80/20 rolling date window to calculate the century.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Calc\+Year} & -\/ Two digit year to calculate a century for. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Century calculated for the two digit year.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a38b2c5285c69ed65e94ece6c22dafde0}\label{classxb_1_1xbDate_a38b2c5285c69ed65e94ece6c22dafde0}}
+\index{xb::xbDate@{xb::xbDate}!CenturyOf@{CenturyOf}}
+\index{CenturyOf@{CenturyOf}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{CenturyOf()}{CenturyOf()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Date\+::\+Century\+Of (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get century for date.
+
+\begin{DoxyReturn}{Returns}
+the century from the valid date. or 0 for a null date.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a9fc29730b66cddfbb58c69992a99cc7c}\label{classxb_1_1xbDate_a9fc29730b66cddfbb58c69992a99cc7c}}
+\index{xb::xbDate@{xb::xbDate}!CharDayOf@{CharDayOf}}
+\index{CharDayOf@{CharDayOf}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{CharDayOf()}{CharDayOf()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Date\+::\+Char\+Day\+Of (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Out\+Char\+Day }\end{DoxyParamCaption})}
+
+
+
+Get the day of the week.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Out\+Char\+Day} & -\/ Output character day of week (Sun-\/\+Sat). \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+INVALID\+\_\+\+DATE~\newline
+XB\+\_\+\+NO\+\_\+\+ERROR
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_afffc84f02bd421335ff8ebe9fb3db0ac}\label{classxb_1_1xbDate_afffc84f02bd421335ff8ebe9fb3db0ac}}
+\index{xb::xbDate@{xb::xbDate}!CharMonthOf@{CharMonthOf}}
+\index{CharMonthOf@{CharMonthOf}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{CharMonthOf()}{CharMonthOf()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Date\+::\+Char\+Month\+Of (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Out\+Char\+Month }\end{DoxyParamCaption})}
+
+
+
+Get the month from the date.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Out\+Char\+Month} & -\/ Output character month. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+INVALID\+\_\+\+DATE~\newline
+XB\+\_\+\+NO\+\_\+\+ERROR
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_abb1eb4b0394e4a67aadab15779b1b8c5}\label{classxb_1_1xbDate_abb1eb4b0394e4a67aadab15779b1b8c5}}
+\index{xb::xbDate@{xb::xbDate}!CTOD@{CTOD}}
+\index{CTOD@{CTOD}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{CTOD()}{CTOD()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Date\+::\+CTOD (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Ctod\+In\+Date }\end{DoxyParamCaption})}
+
+
+
+Format MM/\+DD/\+YY date.
+
+This routine takes an MM/\+DD/\+YY format date as input and populates a date class with the appropriate YYYYMMDD data.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Ctod\+In\+Date} & -\/ MM/\+DD/\+YY formatted date as input. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+INVALID\+\_\+\+OPTION~\newline
+XB\+\_\+\+NO\+\_\+\+ERROR
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a367f66ef0c03c1747c12a18784554ccb}\label{classxb_1_1xbDate_a367f66ef0c03c1747c12a18784554ccb}}
+\index{xb::xbDate@{xb::xbDate}!DateIsValid@{DateIsValid}}
+\index{DateIsValid@{DateIsValid}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{DateIsValid()}{DateIsValid()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Date\+::\+Date\+Is\+Valid (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Date\+In }\end{DoxyParamCaption}) const}
+
+
+
+Check a date for valid data.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Date\+In} & -\/ Date to check for valid formaat of CCYYMMDD. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Valid date.~\newline
+xb\+False -\/ Not a valid date.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_ad6417a900ce64a46f8909c0c7a2ddea2}\label{classxb_1_1xbDate_ad6417a900ce64a46f8909c0c7a2ddea2}}
+\index{xb::xbDate@{xb::xbDate}!DayOf@{DayOf}}
+\index{DayOf@{DayOf}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{DayOf()}{DayOf()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Date\+::\+Day\+Of (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Format }\end{DoxyParamCaption}) const}
+
+This routine returns the numeric day.
+\begin{DoxyParams}{Parameters}
+{\em i\+Format} & XB\+\_\+\+FMT\+\_\+\+WEEK Number of day in WEEK 0-\/6 ( Sat -\/ Fri )~\newline
+ XB\+\_\+\+FMT\+\_\+\+MONTH Number of day in MONTH 1-\/31~\newline
+ XB\+\_\+\+FMT\+\_\+\+YEAR Number of day in YEAR 1-\/366 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+INVALID\+\_\+\+OPTION~\newline
+XB\+\_\+\+NO\+\_\+\+ERROR
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}\label{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}}
+\index{xb::xbDate@{xb::xbDate}!DisplayError@{DisplayError}}
+\index{DisplayError@{DisplayError}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{DisplayError()}{DisplayError()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Display\+Error (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Display error message on console for a given error number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Error\+Code} & Error number to reference \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbDate_a01de44dc869f7db99f33046fc91f2c6a}\label{classxb_1_1xbDate_a01de44dc869f7db99f33046fc91f2c6a}}
+\index{xb::xbDate@{xb::xbDate}!FormatDate@{FormatDate}}
+\index{FormatDate@{FormatDate}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{FormatDate()}{FormatDate()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Date\+::\+Format\+Date (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Fmt\+In, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Out\+Fmt\+Date }\end{DoxyParamCaption})}
+
+This routine will reformat a date based on the format specifiers entered in s\+Fmt\+In. If no input format is specified, the routine will use the system default date format.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Fmt\+In} & -\/ A format specifier with the following paramaters\+:~\newline
+ \begin{DoxyVerb} 1) YYDDD - A julian date format
+ 2) YY or YYYY will print a 2 or 4 digit year
+ 3) M,MM,MMM or MMMM
+ M - one digit month if no leading zero
+ MM - two digit month, contains leading zero
+ MMM - Jan through Dec
+ MMMM - January through December
+ 4) D,DD,DDD or DDDD
+ D - one digit dayif no leading zero
+ DD - two digit day, contains leading zero
+ DDD - Sun through Sat (or julian if YYDDD)
+ DDDD - Sunday through Saturday
+\end{DoxyVerb}
+ \\
+\hline
+{\em s\+Out\+Fmt\+Date} & -\/ Reformatted output date. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+NO\+\_\+\+ERROR ~\newline
+~\newline
+ Format Examples\+:~\newline
+ MM/\+DD/\+YY~\newline
+ YYYY-\/\+MM-\/\+DD~\newline
+ DDDDDDDDDDD MMMMMMMMMMM DD,YYYY
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}\label{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}}
+\index{xb::xbDate@{xb::xbDate}!GetDataDirectory@{GetDataDirectory}}
+\index{GetDataDirectory@{GetDataDirectory}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{GetDataDirectory()}{GetDataDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Data\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the current data directory.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the current data directory where the database files are stored.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}\label{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}}
+\index{xb::xbDate@{xb::xbDate}!GetDefaultAutoCommit@{GetDefaultAutoCommit}}
+\index{GetDefaultAutoCommit@{GetDefaultAutoCommit}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{GetDefaultAutoCommit()}{GetDefaultAutoCommit()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Default\+Auto\+Commit (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the default auto commit setting.
+
+When auto commit is enabled, the library will automatically post any updates when moving off an updated record or closing files. If auto commit is disabled, the application program will need to explicitly update the tables using using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}Append\+Record().
+
+\begin{DoxyReturn}{Returns}
+xb\+True if auto commit is turned on~\newline
+ xb\+False is auto commit is turned off
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}\label{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}}
+\index{xb::xbDate@{xb::xbDate}!GetDefaultDateFormat@{GetDefaultDateFormat}}
+\index{GetDefaultDateFormat@{GetDefaultDateFormat}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{GetDefaultDateFormat()}{GetDefaultDateFormat()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Default\+Date\+Format (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the default date format.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the default date format.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}\label{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}}
+\index{xb::xbDate@{xb::xbDate}!GetEndianType@{GetEndianType}}
+\index{GetEndianType@{GetEndianType}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{GetEndianType()}{GetEndianType()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::\+Get\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the Endian type.
+
+\begin{DoxyReturn}{Returns}
+B -\/ Big endian~\newline
+ L -\/ Little endian~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}\label{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}}
+\index{xb::xbDate@{xb::xbDate}!GetErrorMessage@{GetErrorMessage}}
+\index{GetErrorMessage@{GetErrorMessage}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{GetErrorMessage()}{GetErrorMessage()}}
+{\footnotesize\ttfamily const char $\ast$ xb\+::xb\+Ssv\+::\+Get\+Error\+Message (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get an error message.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Error\+Code} & Error\+Code is the error number of description to be returned. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns a pointer to a string containing a text description for the error code.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}\label{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}}
+\index{xb::xbDate@{xb::xbDate}!GetHomeDir@{GetHomeDir}}
+\index{GetHomeDir@{GetHomeDir}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{GetHomeDir()}{GetHomeDir()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Get\+Home\+Dir (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Home\+Dir\+Out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get home directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Home\+Dir\+Out} & -\/ Output home directory for current user. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}\label{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}}
+\index{xb::xbDate@{xb::xbDate}!GetLogDirectory@{GetLogDirectory}}
+\index{GetLogDirectory@{GetLogDirectory}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{GetLogDirectory()}{GetLogDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}\label{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}}
+\index{xb::xbDate@{xb::xbDate}!GetLogFileName@{GetLogFileName}}
+\index{GetLogFileName@{GetLogFileName}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{GetLogFileName()}{GetLogFileName()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}\label{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}}
+\index{xb::xbDate@{xb::xbDate}!GetMultiUser@{GetMultiUser}}
+\index{GetMultiUser@{GetMultiUser}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{GetMultiUser()}{GetMultiUser()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Multi\+User (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the multi user setting.
+
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Multi user mode turned on.~\newline
+ xb\+False -\/ Multi user mode turned off.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}\label{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}}
+\index{xb::xbDate@{xb::xbDate}!GetPathSeparator@{GetPathSeparator}}
+\index{GetPathSeparator@{GetPathSeparator}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{GetPathSeparator()}{GetPathSeparator()}}
+{\footnotesize\ttfamily char xb\+::xb\+Ssv\+::\+Get\+Path\+Separator (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the OS dependent path separator.
+
+\begin{DoxyReturn}{Returns}
+Returns \textquotesingle{}\textbackslash{}\textquotesingle{} for windows environment, otherwise returns \textquotesingle{}/\textquotesingle{}.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}\label{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}}
+\index{xb::xbDate@{xb::xbDate}!GetTempDirectory@{GetTempDirectory}}
+\index{GetTempDirectory@{GetTempDirectory}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{GetTempDirectory()}{GetTempDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Temp\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the current temp directory.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the current data directory where the database files are stored.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a5f8051c31b29244265e8f26ac3547b9b}\label{classxb_1_1xbDate_a5f8051c31b29244265e8f26ac3547b9b}}
+\index{xb::xbDate@{xb::xbDate}!IsLeapYear@{IsLeapYear}}
+\index{IsLeapYear@{IsLeapYear}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{IsLeapYear()}{IsLeapYear()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Date\+::\+Is\+Leap\+Year (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Determine if date is a leap year.
+
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Is leapyear.~\newline
+ xb\+False -\/ Not a leap year.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_af2bd33a72448e2c5ee00d8b711dc5d95}\label{classxb_1_1xbDate_af2bd33a72448e2c5ee00d8b711dc5d95}}
+\index{xb::xbDate@{xb::xbDate}!IsLeapYear@{IsLeapYear}}
+\index{IsLeapYear@{IsLeapYear}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{IsLeapYear()}{IsLeapYear()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Date\+::\+Is\+Leap\+Year (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Year }\end{DoxyParamCaption}) const}
+
+
+
+Determine if date is a leap year.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Year} & -\/ Year to check for leap year status. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Is leapyear.~\newline
+ xb\+False -\/ Not a leap year.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a611a64b14ff89ad3c20b34081ea1e658}\label{classxb_1_1xbDate_a611a64b14ff89ad3c20b34081ea1e658}}
+\index{xb::xbDate@{xb::xbDate}!IsNull@{IsNull}}
+\index{IsNull@{IsNull}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{IsNull()}{IsNull()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Date\+::\+Is\+Null (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Determine if date is null date.
+
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ If null date.~\newline
+ xb\+False -\/ Not a null date.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a1ee3377d4ead9d31099eee539d9b13a7}\label{classxb_1_1xbDate_a1ee3377d4ead9d31099eee539d9b13a7}}
+\index{xb::xbDate@{xb::xbDate}!JulianDays@{JulianDays}}
+\index{JulianDays@{JulianDays}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{JulianDays()}{JulianDays()}}
+{\footnotesize\ttfamily xb\+Int32 xb\+::xb\+Date\+::\+Julian\+Days (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Calculate julian days for a given date.
+
+\begin{DoxyReturn}{Returns}
+The number of days since 01/01/0001 + JUL\+\_\+\+OFFSET.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a9d28b2a46d8aaa284b92f44eeb96b2ff}\label{classxb_1_1xbDate_a9d28b2a46d8aaa284b92f44eeb96b2ff}}
+\index{xb::xbDate@{xb::xbDate}!JulToDate8@{JulToDate8}}
+\index{JulToDate8@{JulToDate8}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{JulToDate8()}{JulToDate8()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Date\+::\+Jul\+To\+Date8 (\begin{DoxyParamCaption}\item[{xb\+Int32}]{l\+Jul\+Days }\end{DoxyParamCaption})}
+
+
+
+Convert the number of julian days to gregorian date.
+
+
+\begin{DoxyParams}{Parameters}
+{\em l\+Jul\+Days} & -\/ Julian days. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+NO\+\_\+\+ERROR
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a15847866bb7642aa42bc254e0cf2038a}\label{classxb_1_1xbDate_a15847866bb7642aa42bc254e0cf2038a}}
+\index{xb::xbDate@{xb::xbDate}!LastDayOfMonth@{LastDayOfMonth}}
+\index{LastDayOfMonth@{LastDayOfMonth}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{LastDayOfMonth()}{LastDayOfMonth()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Date\+::\+Last\+Day\+Of\+Month (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Set the date to the last day of month for a given date.
+
+This routine sets the last date of the month. \begin{DoxyReturn}{Returns}
+XB\+\_\+\+NO\+\_\+\+ERROR
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a08bd84c67e1119d8c5c1748cd89d092e}\label{classxb_1_1xbDate_a08bd84c67e1119d8c5c1748cd89d092e}}
+\index{xb::xbDate@{xb::xbDate}!MonthOf@{MonthOf}}
+\index{MonthOf@{MonthOf}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{MonthOf()}{MonthOf()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Date\+::\+Month\+Of (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Return the month for the date.
+
+\begin{DoxyReturn}{Returns}
+The month of the date.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_ac3aaf8997fc0c36676085e7741f33a8a}\label{classxb_1_1xbDate_ac3aaf8997fc0c36676085e7741f33a8a}}
+\index{xb::xbDate@{xb::xbDate}!operator"!=@{operator"!=}}
+\index{operator"!=@{operator"!=}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator"!=()}{operator!=()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Date\+::operator!= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt }\end{DoxyParamCaption}) const}
+
+
+
+operator !=
+
+This routine compares two dates for inequality.
+\begin{DoxyParams}{Parameters}
+{\em dt} & -\/ Date to compare. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Dates don\textquotesingle{}t match.~\newline
+xb\+False -\/ Dates match.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_ad09609bf78cf038886a4f9cd19423f9c}\label{classxb_1_1xbDate_ad09609bf78cf038886a4f9cd19423f9c}}
+\index{xb::xbDate@{xb::xbDate}!operator+@{operator+}}
+\index{operator+@{operator+}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator+()}{operator+()}}
+{\footnotesize\ttfamily const char $\ast$ xb\+::xb\+Date\+::operator+ (\begin{DoxyParamCaption}\item[{xb\+Int32}]{l\+Count }\end{DoxyParamCaption})}
+
+
+
+operator +
+
+This routine adds additional days to a valid date field.
+\begin{DoxyParams}{Parameters}
+{\em l\+Count} & -\/ Number of days to add. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+New date in CCYYMMDD format.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a1c7d9e3718c43df18b21646072c8605e}\label{classxb_1_1xbDate_a1c7d9e3718c43df18b21646072c8605e}}
+\index{xb::xbDate@{xb::xbDate}!operator++@{operator++}}
+\index{operator++@{operator++}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator++()}{operator++()}}
+{\footnotesize\ttfamily void xb\+::xb\+Date\+::operator++ (\begin{DoxyParamCaption}\item[{xb\+Int32}]{i }\end{DoxyParamCaption})}
+
+
+
+operator ++
+
+This routine adds one day to the date field if the date is not null. \mbox{\Hypertarget{classxb_1_1xbDate_a947ba156d04fe063aaa4c9964ae5d163}\label{classxb_1_1xbDate_a947ba156d04fe063aaa4c9964ae5d163}}
+\index{xb::xbDate@{xb::xbDate}!operator+=@{operator+=}}
+\index{operator+=@{operator+=}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator+=()}{operator+=()}}
+{\footnotesize\ttfamily void xb\+::xb\+Date\+::operator+= (\begin{DoxyParamCaption}\item[{xb\+Int32}]{l\+Days }\end{DoxyParamCaption})}
+
+
+
+operator +=
+
+This routine adds l\+Days to the date if the date is not null.
+\begin{DoxyParams}{Parameters}
+{\em l\+Days} & -\/ Number of days to add to the date. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbDate_a3f3a8802c96098c85aa8d0e19717a979}\label{classxb_1_1xbDate_a3f3a8802c96098c85aa8d0e19717a979}}
+\index{xb::xbDate@{xb::xbDate}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int32 xb\+::xb\+Date\+::operator-\/ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt }\end{DoxyParamCaption}) const}
+
+
+
+operator -\/
+
+This routine subtracts one date from another date returning the difference.
+\begin{DoxyParams}{Parameters}
+{\em dt} & -\/ Date to subtract \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Number of days difference or zero if one of the dates is null.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a73ff5c037046ac0a0bb7d73f74e25cbb}\label{classxb_1_1xbDate_a73ff5c037046ac0a0bb7d73f74e25cbb}}
+\index{xb::xbDate@{xb::xbDate}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily const char $\ast$ xb\+::xb\+Date\+::operator-\/ (\begin{DoxyParamCaption}\item[{xb\+Int32}]{l\+Count }\end{DoxyParamCaption})}
+
+
+
+operator -\/
+
+This routine subtracts days from a valid date field.
+\begin{DoxyParams}{Parameters}
+{\em l\+Count} & -\/ Number of days to subtract. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+New date in CCYYMMDD format.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_ae2b33dfee60d324916d833b2098b5a6b}\label{classxb_1_1xbDate_ae2b33dfee60d324916d833b2098b5a6b}}
+\index{xb::xbDate@{xb::xbDate}!operator-\/-\/@{operator-\/-\/}}
+\index{operator-\/-\/@{operator-\/-\/}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator-\/-\/()}{operator--()}}
+{\footnotesize\ttfamily void xb\+::xb\+Date\+::operator-\/-\/ (\begin{DoxyParamCaption}\item[{xb\+Int32}]{i }\end{DoxyParamCaption})}
+
+
+
+operator --
+
+This routine subtracts one day from the date field if the date is not null. \mbox{\Hypertarget{classxb_1_1xbDate_a4a8f207d759540114373f5e9d6d375f7}\label{classxb_1_1xbDate_a4a8f207d759540114373f5e9d6d375f7}}
+\index{xb::xbDate@{xb::xbDate}!operator-\/=@{operator-\/=}}
+\index{operator-\/=@{operator-\/=}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator-\/=()}{operator-=()}}
+{\footnotesize\ttfamily void xb\+::xb\+Date\+::operator-\/= (\begin{DoxyParamCaption}\item[{xb\+Int32}]{l\+Days }\end{DoxyParamCaption})}
+
+
+
+operator -\/=
+
+This routine subtracts l\+Days from the date if the date is not null.
+\begin{DoxyParams}{Parameters}
+{\em l\+Days} & -\/ Number of days to subtract from the date. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbDate_a11f09d97ed527e7ef00ba6f17b9fb02c}\label{classxb_1_1xbDate_a11f09d97ed527e7ef00ba6f17b9fb02c}}
+\index{xb::xbDate@{xb::xbDate}!operator$<$@{operator$<$}}
+\index{operator$<$@{operator$<$}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator$<$()}{operator<()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Date\+::operator$<$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt }\end{DoxyParamCaption}) const}
+
+
+
+operator \texorpdfstring{$<$}{<}
+
+This routine compares two dates
+\begin{DoxyParams}{Parameters}
+{\em dt} & -\/ Date to compare. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Left date is less than right date.~\newline
+ xb\+False -\/ Left date is not less than right date.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a6d8fa4df4664f3fd8d4cc15e77f6d046}\label{classxb_1_1xbDate_a6d8fa4df4664f3fd8d4cc15e77f6d046}}
+\index{xb::xbDate@{xb::xbDate}!operator$<$=@{operator$<$=}}
+\index{operator$<$=@{operator$<$=}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator$<$=()}{operator<=()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Date\+::operator$<$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt }\end{DoxyParamCaption}) const}
+
+
+
+operator \texorpdfstring{$<$}{<}=
+
+This routine compares two dates
+\begin{DoxyParams}{Parameters}
+{\em dt} & -\/ Date to compare. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Left date is less than or equal to right date.~\newline
+ xb\+False -\/ Left date is not less than or equal to right date.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a2e33ad9415c32e820e08fd8084198690}\label{classxb_1_1xbDate_a2e33ad9415c32e820e08fd8084198690}}
+\index{xb::xbDate@{xb::xbDate}!operator=@{operator=}}
+\index{operator=@{operator=}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}}
+{\footnotesize\ttfamily void xb\+::xb\+Date\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt }\end{DoxyParamCaption})}
+
+
+
+Set operator=.
+
+
+\begin{DoxyParams}{Parameters}
+{\em dt} & -\/ Date value for set operation. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbDate_aaaf98c1a672066021895f0953b6e94d0}\label{classxb_1_1xbDate_aaaf98c1a672066021895f0953b6e94d0}}
+\index{xb::xbDate@{xb::xbDate}!operator==@{operator==}}
+\index{operator==@{operator==}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator==()}{operator==()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Date\+::operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt }\end{DoxyParamCaption}) const}
+
+
+
+operator ==
+
+This routine compares two dates for equality.
+\begin{DoxyParams}{Parameters}
+{\em dt} & -\/ Date to compare. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Dates match.~\newline
+xb\+False -\/ Dates don\textquotesingle{}t match.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a744031c4031d6ec4595d34acbd1c5860}\label{classxb_1_1xbDate_a744031c4031d6ec4595d34acbd1c5860}}
+\index{xb::xbDate@{xb::xbDate}!operator$>$@{operator$>$}}
+\index{operator$>$@{operator$>$}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator$>$()}{operator>()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Date\+::operator$>$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt }\end{DoxyParamCaption}) const}
+
+
+
+\texorpdfstring{$>$}{>}
+
+This routine compares two dates
+\begin{DoxyParams}{Parameters}
+{\em dt} & -\/ Date to compare. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Left date is greater than right date.~\newline
+ xb\+False -\/ Left date is not greater than right date.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a1d81959ea55440588068ea7f82617c99}\label{classxb_1_1xbDate_a1d81959ea55440588068ea7f82617c99}}
+\index{xb::xbDate@{xb::xbDate}!operator$>$=@{operator$>$=}}
+\index{operator$>$=@{operator$>$=}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{operator$>$=()}{operator>=()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Date\+::operator$>$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt }\end{DoxyParamCaption}) const}
+
+
+
+operator \texorpdfstring{$>$}{>}=
+
+This routine compares two dates
+\begin{DoxyParams}{Parameters}
+{\em dt} & -\/ Date to compare. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Left date is greater than or equal to right date.~\newline
+ xb\+False -\/ Left date is not greater than or equal to right date.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a4b0cde152b5de0f7d26608d1445110b6}\label{classxb_1_1xbDate_a4b0cde152b5de0f7d26608d1445110b6}}
+\index{xb::xbDate@{xb::xbDate}!Set@{Set}}
+\index{Set@{Set}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{Set()}{Set()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Date\+::\+Set (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Date\+In }\end{DoxyParamCaption})}
+
+
+
+Set the date.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Date\+In} & -\/ Input date. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+NO\+\_\+\+ERROR
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}\label{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}}
+\index{xb::xbDate@{xb::xbDate}!SetDataDirectory@{SetDataDirectory}}
+\index{SetDataDirectory@{SetDataDirectory}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{SetDataDirectory()}{SetDataDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Data\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Data\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the data directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Data\+Directory} & Set the data directory. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}\label{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}}
+\index{xb::xbDate@{xb::xbDate}!SetDefaultAutoCommit@{SetDefaultAutoCommit}}
+\index{SetDefaultAutoCommit@{SetDefaultAutoCommit}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{SetDefaultAutoCommit()}{SetDefaultAutoCommit()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Auto\+Commit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Default\+Auto\+Commit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the default auto commit.
+
+Disabling auto commit requires the application execute explicit updates using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}Append\+Record(). With auto commit on, the library posts updates automatically when moving off the current record or closing a file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Default\+Auto\+Commit} & xb\+True -\/ Enable default auto commit.~\newline
+ xb\+False -\/ Disable default auto commit.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}\label{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}}
+\index{xb::xbDate@{xb::xbDate}!SetDefaultDateFormat@{SetDefaultDateFormat}}
+\index{SetDefaultDateFormat@{SetDefaultDateFormat}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{SetDefaultDateFormat()}{SetDefaultDateFormat()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Date\+Format (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Default\+Date\+Format }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the default date format.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Default\+Date\+Format} & Set the default date format. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}\label{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}}
+\index{xb::xbDate@{xb::xbDate}!SetEndianType@{SetEndianType}}
+\index{SetEndianType@{SetEndianType}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{SetEndianType()}{SetEndianType()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+
+
+Set the endian type.
+
+This routine determines the Endian-\/ness at run time instead of compile time as some processers (ie; Sparc,ARM) can be switched either way. This routine is called automatically by the library at startup and does not need to be called in an application program. \mbox{\Hypertarget{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}\label{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}}
+\index{xb::xbDate@{xb::xbDate}!SetLogDirectory@{SetLogDirectory}}
+\index{SetLogDirectory@{SetLogDirectory}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{SetLogDirectory()}{SetLogDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}\label{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}}
+\index{xb::xbDate@{xb::xbDate}!SetLogFileName@{SetLogFileName}}
+\index{SetLogFileName@{SetLogFileName}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{SetLogFileName()}{SetLogFileName()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+File\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}\label{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}}
+\index{xb::xbDate@{xb::xbDate}!SetMultiUser@{SetMultiUser}}
+\index{SetMultiUser@{SetMultiUser}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{SetMultiUser()}{SetMultiUser()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Multi\+User (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Multi\+User }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the multi user setting.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Multi\+User} & xb\+True -\/ Turn on Multi user mode.~\newline
+ xb\+False -\/ Turn off Multi user mode.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}\label{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}}
+\index{xb::xbDate@{xb::xbDate}!SetTempDirectory@{SetTempDirectory}}
+\index{SetTempDirectory@{SetTempDirectory}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{SetTempDirectory()}{SetTempDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Temp\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Temp\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the temp directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Temp\+Directory} & Set the data direcroty. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbDate_ab43a5d8d929767c0ffdd722972bb8cc0}\label{classxb_1_1xbDate_ab43a5d8d929767c0ffdd722972bb8cc0}}
+\index{xb::xbDate@{xb::xbDate}!Str@{Str}}
+\index{Str@{Str}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{Str()}{Str()}}
+{\footnotesize\ttfamily const char $\ast$ xb\+::xb\+Date\+::\+Str (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Return the date value.
+
+\begin{DoxyReturn}{Returns}
+char ptr to date value.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a40ba54a58d64cf56266f020f91584192}\label{classxb_1_1xbDate_a40ba54a58d64cf56266f020f91584192}}
+\index{xb::xbDate@{xb::xbDate}!Sysdate@{Sysdate}}
+\index{Sysdate@{Sysdate}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{Sysdate()}{Sysdate()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Date\+::\+Sysdate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Set the date equal to the system date.
+
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+NO\+\_\+\+ERROR
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDate_a31057dfaa36389a16e40e3db82c46262}\label{classxb_1_1xbDate_a31057dfaa36389a16e40e3db82c46262}}
+\index{xb::xbDate@{xb::xbDate}!YearOf@{YearOf}}
+\index{YearOf@{YearOf}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{YearOf()}{YearOf()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Date\+::\+Year\+Of (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Returns the year of the date.
+
+\begin{DoxyReturn}{Returns}
+The year of the date.
+\end{DoxyReturn}
+
+
+\doxysubsection{Field Documentation}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}\label{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}}
+\index{xb::xbDate@{xb::xbDate}!ErrorCodeText@{ErrorCodeText}}
+\index{ErrorCodeText@{ErrorCodeText}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{ErrorCodeText}{ErrorCodeText}}
+{\footnotesize\ttfamily const char$\ast$ xb\+::xb\+Ssv\+::\+Error\+Code\+Text\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}\label{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}}
+\index{xb::xbDate@{xb::xbDate}!iEndianType@{iEndianType}}
+\index{iEndianType@{iEndianType}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{iEndianType}{iEndianType}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::i\+Endian\+Type = 0\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}\label{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}}
+\index{xb::xbDate@{xb::xbDate}!sNullString@{sNullString}}
+\index{sNullString@{sNullString}!xb::xbDate@{xb::xbDate}}
+\doxysubsubsection{\texorpdfstring{sNullString}{sNullString}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+Ssv\+::s\+Null\+String = \char`\"{}\char`\"{}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbdate_8h}{xbdate.\+h}}\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbdate_8cpp}{xbdate.\+cpp}}\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDbf.eps b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDbf.eps
new file mode 100644
index 0000000..26ff00c
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDbf.eps
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 821.917786
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.608333 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text 'arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col 'arg1' to 'arg2' of row 'arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(xb::xbDbf) cw
+(xb::xbFile) cw
+(xb::xbSsv) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (xb::xbDbf) 0.000000 0.000000 box
+ (xb::xbFile) 0.000000 1.000000 box
+ (xb::xbSsv) 0.000000 2.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
+solid
+0 0.000000 1.000000 out
+solid
+1 0.000000 2.000000 in
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDbf.pdf b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDbf.pdf
new file mode 100644
index 0000000..73fad18
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDbf.pdf
Binary files differ
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDbf.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDbf.tex
new file mode 100644
index 0000000..248e693
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbDbf.tex
@@ -0,0 +1,4523 @@
+\hypertarget{classxb_1_1xbDbf}{}\doxysection{xb\+::xb\+Dbf Class Reference}
+\label{classxb_1_1xbDbf}\index{xb::xbDbf@{xb::xbDbf}}
+
+
+Base class for handling dbf files/tables.
+
+
+
+
+{\ttfamily \#include $<$xbdbf.\+h$>$}
+
+Inheritance diagram for xb\+::xb\+Dbf\+:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3.000000cm]{classxb_1_1xbDbf}
+\end{center}
+\end{figure}
+\doxysubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\hyperlink{classxb_1_1xbDbf_a84a75f80bc0e9b8a22b728767949c204}{xb\+Dbf}} (\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$x)
+\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
+virtual \mbox{\hyperlink{classxb_1_1xbDbf_a7eb87521fba8a939c613056d9918d880}{$\sim$xb\+Dbf}} ()
+\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4edcf31390fbdc8c3558004770fd9f2f}{Abort}} ()
+\begin{DoxyCompactList}\small\item\em Abort any uncommited changes for the current record buffer. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a5b412dd796241673eb1aa2c93513d69b}{Append\+Record}} ()
+\begin{DoxyCompactList}\small\item\em Append the current record to the data file. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a78da5a3d2011a3f2e7618cbdd3ba02d6}{Blank\+Record}} ()
+\begin{DoxyCompactList}\small\item\em Blank the record buffer. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_abd69532c885ab72bcf3fb5066b318f4f}{Commit}} ()
+\begin{DoxyCompactList}\small\item\em Commit updates to disk. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ad68d73113e54e1b5f326e90f45e9989d}{Close}} ()
+\begin{DoxyCompactList}\small\item\em Close DBF file/table. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a829c615a130a1fdf609d93438d8a6264}{Copy\+Dbf\+Structure}} (\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d\+New\+Table, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Alias, xb\+Int16 i\+Overlay, xb\+Int16 i\+Share\+Mode)
+\begin{DoxyCompactList}\small\item\em Copy table (dbf) file structure. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a73e41bfe679dd06ab16c436652df93f1}{Create\+Table}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&\mbox{\hyperlink{classxb_1_1xbDbf_a73f9c792d0a769e2e604c1855245a276}{s\+Alias}}, \mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} $\ast$p\+Schema, xb\+Int16 i\+Overlay, xb\+Int16 i\+Share\+Mode)=0
+\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4085ed4f049d976124d8edc3d3c56397}{Delete\+Table}} ()
+\begin{DoxyCompactList}\small\item\em Delete a table. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a01c26b67e312be1e674b3da710e031b9}{Delete\+All}} (xb\+Int16 i\+Option)
+\begin{DoxyCompactList}\small\item\em Delete or undelete all records in a dbf file (table). \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a3067fdfa3a7a5c15651f6e89d1102176}{Delete\+All\+Records}} ()
+\begin{DoxyCompactList}\small\item\em Delete all records. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_acd8c10579229f3a2e2c5fdb7fcef90db}{Delete\+Record}} ()
+\begin{DoxyCompactList}\small\item\em Delete the current record. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a47643728f74cf3b6e0ffc55259895bdb}{Dump\+Header}} (xb\+Int16 i\+Option)
+\begin{DoxyCompactList}\small\item\em Dump dbf file header. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aba30399f15885a07f87f904c0d0656fa}{Dump\+Record}} (xb\+UInt32 ul\+Rec\+No, xb\+Int16 i\+Output\+Dest=0, xb\+Int16 i\+Output\+Fmt=0)
+\begin{DoxyCompactList}\small\item\em Dump record. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_abb9e20c5efacd4fea80f1515abbc6b55}{Get\+Auto\+Commit}} () const
+\begin{DoxyCompactList}\small\item\em Get auto commit setting. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ae0c00226fd2ea7a67f101e795467ed68}{Get\+Auto\+Commit}} (xb\+Int16 i\+Option) const
+\begin{DoxyCompactList}\small\item\em Get auto commit setting. \end{DoxyCompactList}\item
+virtual \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDbf_ad0827a43c025c1184ffebab74cc9e779}{Get\+Bof}} ()
+\begin{DoxyCompactList}\small\item\em Get a pointer to the current index object. \end{DoxyCompactList}\item
+virtual xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbDbf_a643a80a3792a52760c8e09ba18719503}{Get\+Cur\+Rec\+No}} () const
+\begin{DoxyCompactList}\small\item\em Return the current record number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ac1110d867ba297a52c8b0e83e88f05e6}{Get\+Dbf\+Status}} () const
+\begin{DoxyCompactList}\small\item\em Return the current dbf status. \end{DoxyCompactList}\item
+virtual \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDbf_a256dc1f98626fa77da24e91a38ab5b4d}{Get\+Eof}} ()
+\begin{DoxyCompactList}\small\item\em Return true if dbf file empty or positioned to the last record. \end{DoxyCompactList}\item
+virtual xb\+Int32 \mbox{\hyperlink{classxb_1_1xbDbf_add27d8ef555a13b336b8c804165dc15e}{Get\+Field\+Cnt}} () const
+\begin{DoxyCompactList}\small\item\em Return the number of fields in the table. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a6fc5b8a3e2f177d5ceaf9d975cbb5226}{Get\+First\+Record}} ()
+\begin{DoxyCompactList}\small\item\em Get the first record. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_acb78991e8435edd36318c653cb977c1a}{Get\+First\+Record}} (xb\+Int16 i\+Option)
+\begin{DoxyCompactList}\small\item\em Get the first record. \end{DoxyCompactList}\item
+virtual xb\+UInt16 \mbox{\hyperlink{classxb_1_1xbDbf_ad56be2756b7a9f8318d9ba5cf215dafb}{Get\+Header\+Len}} () const
+\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a49e667f9c8ee55c36444702663fc5964}{Get\+Last\+Record}} ()
+\begin{DoxyCompactList}\small\item\em Get the last record. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a8ccfa2291417412b6894940d1b92f9a6}{Get\+Last\+Record}} (xb\+Int16 i\+Option)
+\begin{DoxyCompactList}\small\item\em Get the last record. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ab896fe3b734f556de578d30f92b18fe2}{Get\+Next\+Record}} ()
+\begin{DoxyCompactList}\small\item\em Get the next record. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a3191428a7a92d9107d8d42448884f2ac}{Get\+Next\+Record}} (xb\+Int16 i\+Option)
+\begin{DoxyCompactList}\small\item\em Get the next record. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a18fdcb4ab15b36cd47fa6f6f7a540d1a}{Get\+Next\+Record}} (xb\+Int16 i\+Option, xb\+UInt32 ul\+Start\+Rec)
+\begin{DoxyCompactList}\small\item\em Get the next record. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ab3d248e5221b4f0809897cd43af17a1e}{Get\+Prev\+Record}} ()
+\begin{DoxyCompactList}\small\item\em Get the previous record. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a7eadc7b08d73003802b90584f7b33387}{Get\+Prev\+Record}} (xb\+Int16 i\+Option)
+\begin{DoxyCompactList}\small\item\em Get the previous record. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a26fba086b07caeab95066bf1c8d25161}{Get\+Record}} (xb\+UInt32 ul\+Rec\+No)
+\begin{DoxyCompactList}\small\item\em Get record for specified record number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ac196ad55335e1f4789d698748434dc89}{Get\+Record\+Cnt}} (xb\+UInt32 \&ul\+Rec\+Cnt)
+\begin{DoxyCompactList}\small\item\em Get the current number of records in the dbf data file. \end{DoxyCompactList}\item
+virtual char $\ast$ \mbox{\hyperlink{classxb_1_1xbDbf_aa3e38c4057d726a28a27d07a1610d124}{Get\+Record\+Buf}} (xb\+Int16 i\+Opt=0) const
+\begin{DoxyCompactList}\small\item\em Get pointer to record buffer. \end{DoxyCompactList}\item
+virtual xb\+UInt16 \mbox{\hyperlink{classxb_1_1xbDbf_ab50d76c6e29e81e347a6feb04c2f62bb}{Get\+Record\+Len}} () const
+\begin{DoxyCompactList}\small\item\em Get the dbf record length. \end{DoxyCompactList}\item
+virtual const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbDbf_a27758a325c097f204247908b65ba7fbd}{Get\+Tbl\+Alias}} () const
+\begin{DoxyCompactList}\small\item\em Get the table alias. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a49212a9eb17f7fa9f303e08d5fc50fc6}{Get\+Version}} () const =0
+\item
+virtual \mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$ \mbox{\hyperlink{classxb_1_1xbDbf_ab21ec23c076b0c9affdc0f6672bd133f}{Get\+Xbase\+Ptr}} () const
+\begin{DoxyCompactList}\small\item\em Get the pointer to the xb\+Xbase structure,. \end{DoxyCompactList}\item
+virtual \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDbf_a013dc8c51fc1aa988de39cf3da6da950}{Memo\+Fields\+Exist}} () const
+\begin{DoxyCompactList}\small\item\em Check for existence of any memo fields. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a69824d7bafc3f5a15bf7d09f2f511768}{Open}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name)
+\begin{DoxyCompactList}\small\item\em Open a table/dbf file. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ae388c5e02adc86e6e9988e697e061610}{Open}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&\mbox{\hyperlink{classxb_1_1xbDbf_a73f9c792d0a769e2e604c1855245a276}{s\+Alias}})
+\begin{DoxyCompactList}\small\item\em Open a table/dbf file. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4d018cbf44d8d8b2145c9acab02c8adf}{Open}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&\mbox{\hyperlink{classxb_1_1xbDbf_a73f9c792d0a769e2e604c1855245a276}{s\+Alias}}, xb\+Int16 i\+Open\+Mode, xb\+Int16 i\+Share\+Mode)=0
+\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a8a52bf3ef2123c0d17e6b1f67bf0dc55}{Pack}} ()
+\begin{DoxyCompactList}\small\item\em Pack dbf file. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a93bb14ad0451355bfa3379128120988a}{Pack}} (xb\+UInt32 \&ul\+Deleted\+Rec\+Cnt)
+\begin{DoxyCompactList}\small\item\em Pack dbf file. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a3c36a5ffbc7067a1abbcb526dd3b981d}{Put\+Record}} ()
+\begin{DoxyCompactList}\small\item\em Write the current record to disk. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aacbc7bac3ea0c502ee75b838f4f0fcbf}{Put\+Record}} (xb\+UInt32 ul\+Rec\+No)
+\begin{DoxyCompactList}\small\item\em Write record to disk. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a94d7d626ba691fd4b740c034673e6fc6}{Record\+Deleted}} (xb\+Int16 i\+Opt=0) const
+\begin{DoxyCompactList}\small\item\em Return record deletion status. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aeeeb2eb5fabcd0f91d457df07b0e0708}{Rename}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} s\+New\+Name)=0
+\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4cf7f0d423164f3cf074ae41f96f4e90}{Set\+Auto\+Commit}} (xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ab506450954bc86e7bf1d7c4efe681f43}{i\+Auto\+Commit}})
+\begin{DoxyCompactList}\small\item\em Set auto commit. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ae94cb1bf9f75184f39d9e1a80ab49d4a}{Undelete\+All\+Records}} ()
+\begin{DoxyCompactList}\small\item\em Set auto lock. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a255681976a04fc722538bb630507b3a0}{Undelete\+Record}} ()
+\begin{DoxyCompactList}\small\item\em Undelete one record. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a8ed0693b10b95aaa4e46037758d160ed}{Zap}} ()
+\begin{DoxyCompactList}\small\item\em Zap (remove) everything from the file,. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ad245a26eb8b79610c9ae7bab19e05513}{Get\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Value, xb\+Int16 i\+Rec\+Buf\+Sw) const
+\begin{DoxyCompactList}\small\item\em Get field data for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ac81f078f3c932f0da60ad1fbdd848d3e}{Get\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Value) const
+\begin{DoxyCompactList}\small\item\em Get field data for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a9a0fcf7e2040ab483e3807927833cb26}{Get\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Value) const
+\begin{DoxyCompactList}\small\item\em Get \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_abcb4defad2e1b6e67f63cc60737ad840}{Get\+Field\+Decimal}} (xb\+Int16 i\+Field\+No, xb\+Int16 \&i\+Field\+Decimal) const
+\begin{DoxyCompactList}\small\item\em Get decimal for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a607f774fcd6dc0b9913d7a7801b60db2}{Get\+Field\+Decimal}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, xb\+Int16 \&i\+Field\+Decimal) const
+\begin{DoxyCompactList}\small\item\em Get decimal for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_adda4302b58cc6109b048f19d9b68bbd4}{Get\+Field\+Len}} (xb\+Int16 i\+Field\+No, xb\+Int16 \&i\+Field\+Len) const
+\begin{DoxyCompactList}\small\item\em Get field length for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_acf06dbccdba1a4bcd90fa0bea6cca59b}{Get\+Field\+Len}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, xb\+Int16 \&i\+Field\+Len) const
+\begin{DoxyCompactList}\small\item\em Get field length for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a5e3e4368bfba1724c016b8859023e34c}{Get\+Field\+Name}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name) const
+\begin{DoxyCompactList}\small\item\em Returns the name of the specified field. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aed9113b5095c6df1b9c854cbd0d8047b}{Get\+Field\+No}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, xb\+Int16 \&i\+Field\+No) const
+\begin{DoxyCompactList}\small\item\em Get the field number for name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aad9029e63909aeb77d8473256d88bea8}{Get\+Field\+No}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name) const
+\begin{DoxyCompactList}\small\item\em Get field ID number for a given field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a5143973e4f165651152aa13c8fd45f84}{Get\+Field\+Type}} (xb\+Int16 i\+Field\+No, char \&c\+Field\+Type) const
+\begin{DoxyCompactList}\small\item\em Get field type for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a181db879f1a75f93a34c03513a0b2fea}{Get\+Field\+Type}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, char \&c\+Field\+Type) const
+\begin{DoxyCompactList}\small\item\em Get field type for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a7862215dd2f83a1c488e539cd1f9aec0}{Put\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Data)
+\begin{DoxyCompactList}\small\item\em Put field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a142b0c0dc904917f3c68c5572c1237b5}{Put\+Field}} (xb\+Int16 i\+Field\+No, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Data)
+\begin{DoxyCompactList}\small\item\em Put field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ab39ac4269ac63bc7ea4f638733bb17f0}{Put\+Logical\+Field}} (xb\+Int16 i\+Field\+No, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Data)
+\begin{DoxyCompactList}\small\item\em Put logical field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a507e400ca6526a9e0391cf06dd6a014e}{Put\+Logical\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Data)
+\begin{DoxyCompactList}\small\item\em Put logical field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a3254f091fc4a1404abed3dd2bcdd6ce6}{Get\+Logical\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Data) const
+\begin{DoxyCompactList}\small\item\em Get logical field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a9cd6819bfd932ff8507e54d9cb9a624e}{Get\+Logical\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Data) const
+\begin{DoxyCompactList}\small\item\em Get logical field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a423a0cb7bd252cedf956ace4954f275d}{Put\+Logical\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Field\+Data)
+\begin{DoxyCompactList}\small\item\em Put logical field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a623ca3ef5520c42308c1a16b518e7ff3}{Put\+Logical\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Field\+Data)
+\begin{DoxyCompactList}\small\item\em Put logical field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aaf615ddcf08f8cd14efc713c2a8d7ae1}{Get\+Logical\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&b\+Field\+Data) const
+\begin{DoxyCompactList}\small\item\em Get logical field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ab28feef20c988b0a6f1c1911a45377b0}{Get\+Logical\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&b\+Field\+Data, xb\+Int16 i\+Rec\+Buf\+Sw) const
+\begin{DoxyCompactList}\small\item\em Get logical field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a943cea7fde1b06c1a05184193eff8d2d}{Get\+Logical\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&b\+Field\+Data) const
+\begin{DoxyCompactList}\small\item\em Get logical field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_abe525c0820640e0a9e169d0b7913cfa1}{Get\+Long\+Field}} (xb\+Int16 i\+Field\+No, xb\+Int32 \&l\+Field\+Value) const
+\begin{DoxyCompactList}\small\item\em Get long field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a7b8ef75b17941beac17e50e969b2d3db}{Get\+Long\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, xb\+Int32 \&l\+Field\+Value) const
+\begin{DoxyCompactList}\small\item\em Get long field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a56c8f924284bf88aabf90b7930b4eb47}{Put\+Long\+Field}} (xb\+Int16 i\+Field\+No, xb\+Int32 l\+Field\+Value)
+\begin{DoxyCompactList}\small\item\em Put long field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a0692d1776a725c2f61d4c14677e9307c}{Put\+Long\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, xb\+Int32 l\+Field\+Value)
+\begin{DoxyCompactList}\small\item\em Put long field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a67e3a050f9090edf69eee75aef7f5d83}{Get\+ULong\+Field}} (xb\+Int16 i\+Field\+No, xb\+UInt32 \&l\+Field\+Value) const
+\begin{DoxyCompactList}\small\item\em Get unsigned long field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a039eb02418ec4ca862adbc0f95b9cbec}{Get\+ULong\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, xb\+UInt32 \&l\+Field\+Value) const
+\begin{DoxyCompactList}\small\item\em Get unsigned long field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_af5dec5c9ff903efffdb0490a44d296d2}{Put\+ULong\+Field}} (xb\+Int16 i\+Field\+No, xb\+UInt32 l\+Field\+Value)
+\begin{DoxyCompactList}\small\item\em Put unsigned long field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ac62cb97c4e678c83f41788b1ae4d0381}{Put\+ULong\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+No, xb\+UInt32 l\+Field\+Value)
+\begin{DoxyCompactList}\small\item\em Put unsigned long field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4556041a7ff2f6b6f986729901c11f08}{Get\+Double\+Field}} (xb\+Int16 Field\+No, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \&d\+Field\+Value) const
+\begin{DoxyCompactList}\small\item\em Get xb\+Double field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a2370b5e736931441a5968649291b9ef4}{Get\+Double\+Field}} (xb\+Int16 Field\+No, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \&d\+Field\+Value, xb\+Int16 i\+Rec\+Buf\+Sw) const
+\begin{DoxyCompactList}\small\item\em Get xb\+Double field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a6e6774df0f2d7733f4b25a9989596d95}{Get\+Double\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \&d\+Field\+Value) const
+\begin{DoxyCompactList}\small\item\em Get xb\+Double field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4f34842d7e8ff1f16992c2ece2fc38a5}{Put\+Double\+Field}} (xb\+Int16 Field\+No, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} d\+Field\+Value)
+\begin{DoxyCompactList}\small\item\em Put double field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ae695bbc71c19abc71c0c5f2ff2e1f971}{Put\+Double\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&Field\+Name, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} d\+Field\+Value)
+\begin{DoxyCompactList}\small\item\em Put double field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a3443f646038ced14425f067a59c0f2da}{Get\+Float\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}} \&f\+Field\+Value) const
+\begin{DoxyCompactList}\small\item\em Get xb\+Float field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a81ef2f36f921d7ece066a592eb6393eb}{Get\+Float\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}} \&f\+Field\+Value) const
+\begin{DoxyCompactList}\small\item\em Get xb\+Float field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a64161eb50d72e424b11bf3732657ebd8}{Put\+Float\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}} f\+Field\+Value)
+\begin{DoxyCompactList}\small\item\em Put float field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4ea3241bc710d57e5f755efda62288ad}{Put\+Float\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}} f\+Field\+Value)
+\begin{DoxyCompactList}\small\item\em Put float field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_af78ef1fba949463ff7f829d3cffc4555}{Get\+Date\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&dt) const
+\begin{DoxyCompactList}\small\item\em Get \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ac624e06a97666bfd64b4f252b4548b36}{Get\+Date\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&dt) const
+\begin{DoxyCompactList}\small\item\em Get \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a873f04af528a9d81e6a367a59d998ec5}{Put\+Date\+Field}} (xb\+Int16 i\+Field\+No, const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&dt)
+\begin{DoxyCompactList}\small\item\em Put date field for field number. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a571b36b3a940b1a16d5e834f329b33b9}{Put\+Date\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&dt)
+\begin{DoxyCompactList}\small\item\em Put date field for field name. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ae9a3f726ce5229ed021bfce0515050fc}{Get\+Null\+Sts}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&b\+Is\+Null) const
+\begin{DoxyCompactList}\small\item\em Get field null status. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a909788123ce0694b65dfcf036380d918}{Get\+Null\+Sts}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&b\+Is\+Null) const
+\begin{DoxyCompactList}\small\item\em Get field null status. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a7930fe8b930c6d646b7b0d3df576fe9e}{Get\+Null\+Sts}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&b\+Is\+Null, xb\+Int16 i\+Rec\+Buf\+Sw) const
+\begin{DoxyCompactList}\small\item\em Get field null status. \end{DoxyCompactList}\item
+const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbFile_acd0fb2166b2bff7e8a1cf65a7bc8be1e}{Get\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the directory name. \end{DoxyCompactList}\item
+const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbFile_ac95cb882ccbcdedc9a233c6ad9fed07a}{Get\+File\+Name}} () const
+\begin{DoxyCompactList}\small\item\em Get the file name. \end{DoxyCompactList}\item
+const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbFile_a31b4e641f93206ba23e2a5a27491dcd4}{Get\+Fq\+File\+Name}} () const
+\begin{DoxyCompactList}\small\item\em Get the fully qualified file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ad39797624a752b9d62533d00fad9feff}{Create\+Unique\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Dir\+In, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Ext\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fqn\+Out, xb\+Int16 i\+Option=0)
+\begin{DoxyCompactList}\small\item\em Create a unique file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ae2b6ac26018dc28f77afbb3f008c3f66}{Determine\+Xbase\+Table\+Version}} (unsigned char c\+File\+Type\+Byte) const
+\begin{DoxyCompactList}\small\item\em Determine xbase dbf version. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5a740033664c9ad2611c90e2a6d0c2d3}{Determine\+Xbase\+Memo\+Version}} (unsigned char c\+File\+Type\+Byte) const
+\begin{DoxyCompactList}\small\item\em Determine which version the memo (dbt) file is. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \mbox{\hyperlink{classxb_1_1xbFile_ab14e4a11427f5efb81cba1dd32bd1aa1}{e\+Get\+Double}} (const char $\ast$p) const
+\begin{DoxyCompactList}\small\item\em Get a portable double value. \end{DoxyCompactList}\item
+xb\+Int32 \mbox{\hyperlink{classxb_1_1xbFile_a60b24a5afc984c586bf384c7e915ba0d}{e\+Get\+Int32}} (const char $\ast$p) const
+\begin{DoxyCompactList}\small\item\em Get a portable long value. \end{DoxyCompactList}\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbFile_a78f052529d39a18deaface5a0d47d0b0}{e\+Get\+UInt32}} (const char $\ast$p) const
+\begin{DoxyCompactList}\small\item\em Get a portable unsigned long value. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ac40c991110ddc6fb30a72d90f4652762}{e\+Get\+Int16}} (const char $\ast$p) const
+\begin{DoxyCompactList}\small\item\em Get a portable short value. \end{DoxyCompactList}\item
+xb\+UInt16 \mbox{\hyperlink{classxb_1_1xbFile_a936ade458e6d5e6d29f9b5031888d189}{e\+Get\+UInt16}} (const char $\ast$p) const
+\begin{DoxyCompactList}\small\item\em Get a portable unsigned short value. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a98b6ff533ae93f90c977a2ba23eeb105}{e\+Put\+Double}} (char $\ast$p, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} d)
+\begin{DoxyCompactList}\small\item\em Write a portable double value to memory location. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a19c37f76a2ccbb45019cb0fc373d3f46}{e\+Put\+Int32}} (char $\ast$p, xb\+Int32 l)
+\begin{DoxyCompactList}\small\item\em Write a portable long value to memory location. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_aa3f6ceae4b96f24875d86848bf13a173}{e\+Put\+UInt32}} (char $\ast$p, xb\+UInt32 ul)
+\begin{DoxyCompactList}\small\item\em Write a portable unsigned long value to memory location. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a29130f12739ac8fa837f4eaedf1338b2}{e\+Put\+Int16}} (char $\ast$p, xb\+Int16 s)
+\begin{DoxyCompactList}\small\item\em Write a portable short value to memory location. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a65e9839f92b96eac7b0d071fac3bbe40}{e\+Put\+UInt16}} (char $\ast$p, xb\+UInt16 s)
+\begin{DoxyCompactList}\small\item\em Write a portable unsigned short value to memory location. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a78bd8a11dce102647095baf3aff2b006}{File\+Exists}} () const
+\begin{DoxyCompactList}\small\item\em Determines if a file exists. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a174d8a6aabc9cfcd32fedbd1e5b13ddd}{File\+Exists}} (xb\+Int16 i\+Option) const
+\begin{DoxyCompactList}\small\item\em Determines if a file exists. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a61130b4fbf4cf9d5972dcb4993de2f94}{File\+Exists}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name) const
+\begin{DoxyCompactList}\small\item\em Determines if a file exists. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a0592168f39a10f2a401a88ef781f6148}{File\+Exists}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 i\+Option) const
+\begin{DoxyCompactList}\small\item\em Determines if a file exists. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a7fa837938a32dc9ca3fbc81cbaf50f59}{File\+Is\+Open}} () const
+\begin{DoxyCompactList}\small\item\em Determines if file is open. \end{DoxyCompactList}\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbFile_a638e14262410a1627819f016a16cdce2}{Get\+Block\+Size}} () const
+\begin{DoxyCompactList}\small\item\em Get the block size. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a60c53998e3d1b694134b20a87bc9bf5a}{Get\+File\+Dir\+Part}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Dir\+Part\+Out) const
+\begin{DoxyCompactList}\small\item\em Get the directory part of the file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_af5127c92892816e9bbc5c19653c4147a}{Get\+File\+Dir\+Part}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Complete\+File\+Name\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Dir\+Part\+Out) const
+\begin{DoxyCompactList}\small\item\em Get the directory part of the file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a57a9222e5cbb51019d4eeb2c3ac89fa2}{Get\+File\+Ext\+Part}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Ext\+Part\+Out) const
+\begin{DoxyCompactList}\small\item\em Get the extension part of the file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ab289b6ffe955321160c1f90220c22e25}{Get\+File\+Ext\+Part}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Complete\+File\+Name\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Ext\+Part\+Out) const
+\begin{DoxyCompactList}\small\item\em Get the extension part of the file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a02df78f4c90313243f508fc56b95aba8}{Get\+File\+Mtime}} (time\+\_\+t \&mtime)
+\begin{DoxyCompactList}\small\item\em Get the time of last file modification timestamp as reported by the OS. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a81422b3dd52763d2cc6c77237ec9af0a}{Get\+File\+Name\+Part}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name\+Part\+Out) const
+\begin{DoxyCompactList}\small\item\em Get the name part of the file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a6110763c5ae996b72c7a62c15bdecc73}{Get\+File\+Name\+Part}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Complete\+File\+Name\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name\+Part\+Out) const
+\begin{DoxyCompactList}\small\item\em Get the name part of the file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a50b63c39e49d44e52078038027b24cc5}{Get\+File\+Size}} (xb\+UInt64 \&ull\+File\+Size)
+\begin{DoxyCompactList}\small\item\em Get the size of the file as reported by the OS. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5548236d38d43b89ae29b9a015b1f678}{Get\+File\+Type}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Type) const
+\begin{DoxyCompactList}\small\item\em Get the file type aka Capitalized file extension. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a3c500dc9dac22c49496e4b29386b2dd3}{Get\+Open\+Mode}} () const
+\begin{DoxyCompactList}\small\item\em Get the open mode of the file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a9b63e05b77f477ff6109ff7b9432c1b6}{Get\+Share\+Mode}} () const
+\begin{DoxyCompactList}\small\item\em Get the share mode of the file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_aaf2e697751a0beff41432a66bb83fb5e}{Get\+Xbase\+File\+Type\+Byte}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 \&i\+Version)
+\begin{DoxyCompactList}\small\item\em Get the file type byte and version of the dbf file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a7af337808919680b90710ad5e8a99232}{Get\+Xbase\+File\+Type\+Byte}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, unsigned char \&c\+File\+Type\+Byte)
+\begin{DoxyCompactList}\small\item\em Get the file type byte and version of the dbf file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a78aebdd21d3de46a450d5f835e3027f6}{Get\+Xbase\+File\+Type\+Byte}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, unsigned char \&c\+File\+Type\+Byte, xb\+Int16 \&i\+Version)
+\begin{DoxyCompactList}\small\item\em Get the file type byte and version of the dbf file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a361e3cc318bbf1c4d10f069e0800a24e}{Name\+Suffix\+Missing}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 i\+Option) const
+\begin{DoxyCompactList}\small\item\em Determines status of file extension. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_aa1bb80340abc7a5c22f87f878e9dc825}{Read\+Block}} (xb\+UInt32 ul\+Block\+No, size\+\_\+t read\+Size, void $\ast$buf)
+\begin{DoxyCompactList}\small\item\em Read a block of data from file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_aef696b1c4c0ef5338e818599f695d485}{Read\+Block}} (xb\+UInt32 ul\+Block\+No, xb\+UInt32 ul\+Block\+Size, size\+\_\+t read\+Size, void $\ast$buf)
+\begin{DoxyCompactList}\small\item\em Read a block of data from file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a991c5676a6f38fa752435390989f413e}{Set\+Block\+Size}} (xb\+UInt32 ul\+Block\+Size)
+\begin{DoxyCompactList}\small\item\em Set the block size. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_ae78a85255488bc78964c16946dbaead3}{Set\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a5419eb27e56822f828b2b88a9502a636}{Set\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name)
+\begin{DoxyCompactList}\small\item\em Set the filename. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_aee832fa11db2077a532f49e1329bd05a}{Set\+Fq\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fq\+Name)
+\begin{DoxyCompactList}\small\item\em Set the fully qualifed filename. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a060acbfaa8d528f86cb59301814b414a}{Set\+Home\+Folders}} ()
+\begin{DoxyCompactList}\small\item\em Set Home Folders. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5d871dcfecc2b4338f7a13722aab766c}{Write\+Block}} (xb\+UInt32 ul\+Block\+No, size\+\_\+t write\+Size, void $\ast$buf)
+\begin{DoxyCompactList}\small\item\em Write a block of data to file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a18830b5755d74818f60d9c7ce38ddf2d}{xb\+Fclose}} ()
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fclose. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_af5b6356832d2a67212070a1aa605f170}{xb\+Feof}} ()
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary feof. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ad205184d43409f04216540ae22f15009}{xb\+Fflush}} ()
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fflush. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_afb1c584d2895ffb7834df80aea7eb1e4}{xb\+Fgetc}} (xb\+Int32 \&c)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fgetc. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5ee229bda4d7d6695e122200e581e7a6}{xb\+Fgetc}} (char \&c)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fgetc. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ad245955ace26e5dde85fd4373b30d026}{xb\+Fgets}} (size\+\_\+t l\+Size, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Line)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fgets. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a7cdfef5ede9ac98d44a28a6b7a70972c}{xb\+Fopen}} (xb\+Int16 i\+Open\+Mode)
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a0548cedf0f26b7d8ac221f75b0cd048c}{xb\+Fopen}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Open\+Mode, xb\+Int16 i\+Share\+Mode)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fopen. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_aabd113333b49c36cad23244b392baab4}{xb\+Fopen}} (xb\+Int16 i\+Open\+Mode, xb\+Int16 i\+Share\+Mode)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fopen. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ab0fa19686ca8953ff4b556fb5b249135}{xb\+Fopen}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Mode, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 i\+Share\+Mode)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fopen. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_af2e940c78956e5cb6824f9a1bc404896}{xb\+Fputc}} (xb\+Int32 c)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fputc. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a863f74cf17df8186d88586b4d2a6441a}{xb\+Fputc}} (xb\+Int32 c, xb\+Int32 i\+No\+Times)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fputc. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a698f3b40216778562e639e6ca1a47573}{xb\+Fputs}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fputs. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ab4f6afaa1f77539f27a4f05c26e54e2f}{xb\+Fread}} (void $\ast$ptr, size\+\_\+t size, size\+\_\+t nmemb)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fread. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5337ab8918df240910c0d19b4f298e3d}{xb\+Fseek}} (xb\+Int64 ll\+Offset, xb\+Int32 whence)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fseek. \end{DoxyCompactList}\item
+size\+\_\+t \mbox{\hyperlink{classxb_1_1xbFile_a0e1c06aedfa7fbcb92e117f891edd13b}{xb\+Ftell}} ()
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary ftell. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a9891b792f585a696f38a5cf959e30918}{xb\+FTurn\+Off\+File\+Buffering}} ()
+\begin{DoxyCompactList}\small\item\em Turn off file buffering. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a08463f506f425c2385acbe1a561506e9}{xb\+Read\+Until}} (const char c\+Delim, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Out)
+\begin{DoxyCompactList}\small\item\em Read file until a particular character is encountered on input stream. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a6d919366c2ec95e529906bf8842cbf07}{xb\+Remove}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 i\+Option)
+\begin{DoxyCompactList}\small\item\em Delete file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a58f6a6751fdf7e9549c273bb75d93eb5}{xb\+Remove}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name)
+\begin{DoxyCompactList}\small\item\em Delete file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ab3c668a8570433188382d31d7c60bd48}{xb\+Remove}} ()
+\begin{DoxyCompactList}\small\item\em Delete file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_afc8ce113aa72611a278233f9bb170012}{xb\+Rename}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Old\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+New\+Name)
+\begin{DoxyCompactList}\small\item\em Rename file. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a7996b6e084665c37c3892faea64b3505}{xb\+Rewind}} ()
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for rewind. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a6aadd871d1782944703fed773d44b85f}{xb\+Fwrite}} (const void $\ast$ptr, size\+\_\+t l\+Size, size\+\_\+t l\+Nmemb)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fwrite. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a518bfcbfa3699d883cf89affee383296}{xb\+Truncate}} (xb\+Int64 ll\+Size)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for ftruncate. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}{Display\+Error}} (xb\+Int16 Error\+Code) const
+\begin{DoxyCompactList}\small\item\em Display error message on console for a given error number. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}{Get\+Default\+Date\+Format}} () const
+\begin{DoxyCompactList}\small\item\em Get the default date format. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}{Get\+Data\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the current data directory. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}{Get\+Temp\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the current temp directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}{Get\+Home\+Dir}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Home\+Dir\+Out)
+\begin{DoxyCompactList}\small\item\em Get home directory. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}{Get\+Endian\+Type}} () const
+\begin{DoxyCompactList}\small\item\em Get the Endian type. \end{DoxyCompactList}\item
+const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}{Get\+Error\+Message}} (xb\+Int16 Error\+Code) const
+\begin{DoxyCompactList}\small\item\em Get an error message. \end{DoxyCompactList}\item
+char \mbox{\hyperlink{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}{Get\+Path\+Separator}} () const
+\begin{DoxyCompactList}\small\item\em Get the OS dependent path separator. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}{Set\+Data\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Data\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the data directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}{Set\+Default\+Date\+Format}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Default\+Date\+Format)
+\begin{DoxyCompactList}\small\item\em Set the default date format. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}{Set\+Temp\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Temp\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the temp directory. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}{Bit\+Set}} (unsigned char c, xb\+Int16 i\+Bit\+No) const
+\begin{DoxyCompactList}\small\item\em Check a bit in a one byte field and see if it is set. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}{Bit\+Dump}} (unsigned char c) const
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}{Bit\+Dump}} (char c) const
+\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}{Get\+Default\+Auto\+Commit}} () const
+\begin{DoxyCompactList}\small\item\em Get the default auto commit setting. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}{Set\+Default\+Auto\+Commit}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Default\+Auto\+Commit)
+\begin{DoxyCompactList}\small\item\em Set the default auto commit. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}{Get\+Log\+Directory}} () const
+\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}{Get\+Log\+File\+Name}} () const
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}{Set\+Log\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+Directory)
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}{Set\+Log\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+File\+Name)
+\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}{Get\+Multi\+User}} () const
+\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}{Set\+Multi\+User}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Multi\+User)
+\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Static Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+static const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}{Error\+Code\+Text}} \mbox{[}$\,$\mbox{]}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a060541addb5bb1f0fe12959ed6f66fb9}{Read\+Header}} (xb\+Int16 i\+File\+Position\+Option, xb\+Int16 i\+Read\+Option)
+\begin{DoxyCompactList}\small\item\em Read dbf file header information. \end{DoxyCompactList}\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aabd146c0e1054ab905ec96aedd84b02e}{Get\+Raw\+Field}} (xb\+Int16 i\+Field\+No, char $\ast$Buf, xb\+UInt32 Buf\+Size, xb\+Int16 i\+Rec\+Buf\+Sw) const
+\begin{DoxyCompactList}\small\item\em Get raw field data for field number. \end{DoxyCompactList}\item
+virtual void \mbox{\hyperlink{classxb_1_1xbDbf_ad06fe0f7975fb81125d27d82504e6829}{Init\+Vars}} ()
+\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a7e63e852418f337eb7c44de5dcd50323}{Set\+Version}} ()=0
+\item
+virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aba5dcac3b4092261bc1669740cdd669d}{Validate\+Schema}} (\mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} $\ast$s)=0
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a44e1410109ef7b3d11a6af4b704b62b2}{Write\+Header}} (xb\+Int16 i\+Position\+Option, xb\+Int16 i\+Write\+Option)
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}{Set\+Endian\+Type}} ()
+\begin{DoxyCompactList}\small\item\em Set the endian type. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes}
+\begin{DoxyCompactItemize}
+\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbDbf_afcd99924606be0a9e1e25180bcd1abf8}{ul\+Cur\+Rec}}
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ab506450954bc86e7bf1d7c4efe681f43}{i\+Auto\+Commit}}
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a15f495446f0d75bcf2fa89e3b699d388}{i\+File\+Version}}
+\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbDbf_a73f9c792d0a769e2e604c1855245a276}{s\+Alias}}
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a5056757614c39f725cc775332494966a}{i\+No\+Of\+Fields}}
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a6d8e193da3ca414eef1e8866ec5ca81b}{i\+Dbf\+Status}}
+\item
+xb\+Schema\+Rec $\ast$ \mbox{\hyperlink{classxb_1_1xbDbf_ad8c8b5eb12063bb898da1b2cc02cfce7}{Schema\+Ptr}}
+\item
+char $\ast$ \mbox{\hyperlink{classxb_1_1xbDbf_a8a9b3bce0b741e73473d3ebbd6e6f1cd}{Rec\+Buf}}
+\item
+char $\ast$ \mbox{\hyperlink{classxb_1_1xbDbf_a353ebfc8a2960ef827f429ec74025606}{Rec\+Buf2}}
+\item
+unsigned char \mbox{\hyperlink{classxb_1_1xbDbf_a3a262abf658e5fa968b57ef457a69470}{c\+Version}}
+\item
+char \mbox{\hyperlink{classxb_1_1xbDbf_a4fcd6a86ddd32d4a9d76a4074573440a}{c\+Update\+YY}}
+\item
+char \mbox{\hyperlink{classxb_1_1xbDbf_a9340a5e8ee53eb0f3b6601eec2d71e1b}{c\+Update\+MM}}
+\item
+char \mbox{\hyperlink{classxb_1_1xbDbf_a6021789d314cd41488991e708fcd0df2}{c\+Update\+DD}}
+\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbDbf_acb594ab61dd35b17bdf28394083f8e87}{ul\+No\+Of\+Recs}}
+\item
+xb\+UInt16 \mbox{\hyperlink{classxb_1_1xbDbf_a62f5fa9149ae0f6dc75642823de66918}{ui\+Header\+Len}}
+\item
+xb\+UInt16 \mbox{\hyperlink{classxb_1_1xbDbf_a1760e222567e2c849f9c799b9d896e91}{ui\+Record\+Len}}
+\item
+char \mbox{\hyperlink{classxb_1_1xbDbf_ac3c89fc3bc6a6abf385478a8adbed970}{c\+Transaction\+Flag}}
+\item
+char \mbox{\hyperlink{classxb_1_1xbDbf_a8734e799707582f022fc341d515650f4}{c\+Encryption\+Flag}}
+\item
+char \mbox{\hyperlink{classxb_1_1xbDbf_ad59074633641e03647e54d2b66c9102b}{c\+Index\+Flag}}
+\item
+char \mbox{\hyperlink{classxb_1_1xbDbf_aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1}{c\+Lang\+Driver}}
+\item
+\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$ \mbox{\hyperlink{classxb_1_1xbFile_ae39a67ea391b46055d4ca299cb222004}{xbase}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Static Protected Attributes}
+\begin{DoxyCompactItemize}
+\item
+static xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}{i\+Endian\+Type}} = 0
+\item
+static \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}{s\+Null\+String}} = \char`\"{}\char`\"{}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Detailed Description}
+Base class for handling dbf files/tables.
+
+The \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} class is used as a base class for accessing dbf files. ~\newline
+ In line with relational theory, a each dbf file can be considered as a table. The documentation uses the terms dbf and table interchangeably.~\newline
+
+
+This module handles methods for accessing and updating dbf files.
+
+~\newline
+ The class is designed to support additional file layouts with a minimal amount of effort. If you are wanting to update the library to support a new dbf file type not currently supported by the library, create a derived class using \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} as a base class and modify methods needed to support the new dbf file version.~\newline
+ See the following for examples on how to start on this\+:~\newline
+ xb\+Dbf3 is a derived class from \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} and supports the original Dbase III+ file version.~\newline
+ xb\+Dbf4 is a derived class from \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} and supports the original Dbase IV file version.~\newline
+
+
+\doxysubsection{Constructor \& Destructor Documentation}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a84a75f80bc0e9b8a22b728767949c204}\label{classxb_1_1xbDbf_a84a75f80bc0e9b8a22b728767949c204}}
+\index{xb::xbDbf@{xb::xbDbf}!xbDbf@{xbDbf}}
+\index{xbDbf@{xbDbf}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbDbf()}{xbDbf()}}
+{\footnotesize\ttfamily xb\+::xb\+Dbf\+::xb\+Dbf (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$}]{x }\end{DoxyParamCaption})}
+
+
+
+Constructor.
+
+
+\begin{DoxyParams}{Parameters}
+{\em x} & Pointer to xb\+Xbase \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a7eb87521fba8a939c613056d9918d880}\label{classxb_1_1xbDbf_a7eb87521fba8a939c613056d9918d880}}
+\index{xb::xbDbf@{xb::xbDbf}!````~xbDbf@{$\sim$xbDbf}}
+\index{````~xbDbf@{$\sim$xbDbf}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{$\sim$xbDbf()}{~xbDbf()}}
+{\footnotesize\ttfamily xb\+::xb\+Dbf\+::$\sim$xb\+Dbf (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Destructor.
+
+
+
+\doxysubsection{Member Function Documentation}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a4edcf31390fbdc8c3558004770fd9f2f}\label{classxb_1_1xbDbf_a4edcf31390fbdc8c3558004770fd9f2f}}
+\index{xb::xbDbf@{xb::xbDbf}!Abort@{Abort}}
+\index{Abort@{Abort}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{Abort()}{Abort()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Abort (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Abort any uncommited changes for the current record buffer.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a5b412dd796241673eb1aa2c93513d69b}\label{classxb_1_1xbDbf_a5b412dd796241673eb1aa2c93513d69b}}
+\index{xb::xbDbf@{xb::xbDbf}!AppendRecord@{AppendRecord}}
+\index{AppendRecord@{AppendRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{AppendRecord()}{AppendRecord()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Append\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Append the current record to the data file.
+
+This method attempts to append the contents of the current record buffer to the end of the DBF file, updates the file date, number of records in the file and updates any open indices associated with this data file.~\newline
+
+
+To add a record, an application would typically blank the record buffer, update various fields in the record buffer, then append the record.~\newline
+
+
+The append method performs the following tasks\+:~\newline
+ 1) Create new index key values~\newline
+ 2) Lock the table~\newline
+ 3) Lock append bytes~\newline
+ 4) Lock indices~\newline
+ 5) Read the dbf header~\newline
+ 6) Check for dup keys~\newline
+ 7) Calc last update date, no of recs~\newline
+ 8) Add keys~\newline
+ 9) Unlock indices~\newline
+ 10) Update file header~\newline
+ 11) Unlock file header~\newline
+ 12) Append record~\newline
+ 13) Unlock append bytes~\newline
+
+
+Note\+: Locking memo files is not needed as the memo file updates are handled outside of the append method.~\newline
+
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}\label{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}}
+\index{xb::xbDbf@{xb::xbDbf}!BitDump@{BitDump}}
+\index{BitDump@{BitDump}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}\label{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}}
+\index{xb::xbDbf@{xb::xbDbf}!BitDump@{BitDump}}
+\index{BitDump@{BitDump}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{unsigned char}]{c }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}\label{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}}
+\index{xb::xbDbf@{xb::xbDbf}!BitSet@{BitSet}}
+\index{BitSet@{BitSet}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{BitSet()}{BitSet()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Bit\+Set (\begin{DoxyParamCaption}\item[{unsigned char}]{c, }\item[{xb\+Int16}]{i\+Bit\+No }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Check a bit in a one byte field and see if it is set.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & One byte char field to examine. \\
+\hline
+{\em i\+Bit\+No} & which bit to examine. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True Bit is set~\newline
+ xb\+False Bit is not set
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a78da5a3d2011a3f2e7618cbdd3ba02d6}\label{classxb_1_1xbDbf_a78da5a3d2011a3f2e7618cbdd3ba02d6}}
+\index{xb::xbDbf@{xb::xbDbf}!BlankRecord@{BlankRecord}}
+\index{BlankRecord@{BlankRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{BlankRecord()}{BlankRecord()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Blank\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Blank the record buffer.
+
+This method would typically be called to initialize the record buffer before updates are applied to append a new record.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ad68d73113e54e1b5f326e90f45e9989d}\label{classxb_1_1xbDbf_ad68d73113e54e1b5f326e90f45e9989d}}
+\index{xb::xbDbf@{xb::xbDbf}!Close@{Close}}
+\index{Close@{Close}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{Close()}{Close()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Close (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Close DBF file/table.
+
+This routine flushes any remaining updates to disk, closes the DBF file and any associated memo and index files.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_abd69532c885ab72bcf3fb5066b318f4f}\label{classxb_1_1xbDbf_abd69532c885ab72bcf3fb5066b318f4f}}
+\index{xb::xbDbf@{xb::xbDbf}!Commit@{Commit}}
+\index{Commit@{Commit}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{Commit()}{Commit()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Commit (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Commit updates to disk.
+
+This routine commits any pending updates to disk.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a829c615a130a1fdf609d93438d8a6264}\label{classxb_1_1xbDbf_a829c615a130a1fdf609d93438d8a6264}}
+\index{xb::xbDbf@{xb::xbDbf}!CopyDbfStructure@{CopyDbfStructure}}
+\index{CopyDbfStructure@{CopyDbfStructure}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{CopyDbfStructure()}{CopyDbfStructure()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Copy\+Dbf\+Structure (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d\+New\+Table, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+New\+Table\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+New\+Table\+Alias, }\item[{xb\+Int16}]{i\+Overlay, }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Copy table (dbf) file structure.
+
+This routine will copy the structure of a dbf file and if successful return a pointer to the new table in an open state.
+
+
+\begin{DoxyParams}{Parameters}
+{\em d\+New\+Table} & Reference to new table object. \\
+\hline
+{\em s\+New\+Table\+Name} & New table (dbf) name. \\
+\hline
+{\em s\+New\+Table\+Alias} & Alias name of new table. \\
+\hline
+{\em i\+Overlay} & xb\+True -\/ Overlay existing file.~\newline
+ xb\+False -\/ Don\textquotesingle{}t overlay existing file. \\
+\hline
+{\em i\+Share\+Mode} & XB\+\_\+\+SINGLE\+\_\+\+USER~\newline
+ XB\+\_\+\+MULTI\+\_\+\+USER \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}} Copy DBF structure
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a73e41bfe679dd06ab16c436652df93f1}\label{classxb_1_1xbDbf_a73e41bfe679dd06ab16c436652df93f1}}
+\index{xb::xbDbf@{xb::xbDbf}!CreateTable@{CreateTable}}
+\index{CreateTable@{CreateTable}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{CreateTable()}{CreateTable()}}
+{\footnotesize\ttfamily virtual xb\+Int16 xb\+::xb\+Dbf\+::\+Create\+Table (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Table\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Alias, }\item[{\mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} $\ast$}]{p\+Schema, }\item[{xb\+Int16}]{i\+Overlay, }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}
+
+\mbox{\Hypertarget{classxb_1_1xbFile_ad39797624a752b9d62533d00fad9feff}\label{classxb_1_1xbFile_ad39797624a752b9d62533d00fad9feff}}
+\index{xb::xbDbf@{xb::xbDbf}!CreateUniqueFileName@{CreateUniqueFileName}}
+\index{CreateUniqueFileName@{CreateUniqueFileName}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{CreateUniqueFileName()}{CreateUniqueFileName()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Create\+Unique\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Dir\+In, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Ext\+In, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Fqn\+Out, }\item[{xb\+Int16}]{i\+Option = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Create a unique file name.
+
+Given a directory and file extension as inputs, create a unique file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Dir\+In} & Directory \\
+\hline
+{\em s\+Ext\+In} & File Extension \\
+\hline
+{\em s\+Fqn\+Out} & A fully qualifed unique file name as output \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+Create a unique file name.
+
+Given a directory and file extension as inputs, create a unique file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Dir\+In} & Directory \\
+\hline
+{\em s\+Ext\+In} & File Extension \\
+\hline
+{\em i\+Option} & 0 -\/ look only for one file for a given directory and extension~\newline
+ 1 -\/ if file name extension is \char`\"{}dbf\char`\"{} or \char`\"{}\+DBF\char`\"{}, verify unique dbt or DBT (memo) file is also available~\newline
+ \\
+\hline
+{\em s\+Fqn\+Out} & A fully qualifed unique file name as output \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a01c26b67e312be1e674b3da710e031b9}\label{classxb_1_1xbDbf_a01c26b67e312be1e674b3da710e031b9}}
+\index{xb::xbDbf@{xb::xbDbf}!DeleteAll@{DeleteAll}}
+\index{DeleteAll@{DeleteAll}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{DeleteAll()}{DeleteAll()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Delete\+All (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Delete or undelete all records in a dbf file (table).
+
+This routine deletes or un-\/deletes all records. The xbase file format contains a leading one byte character used for flagging a record as deleted. When a record is deleted, it\textquotesingle{}s not physically removed from the file, the first byte is flagged as deleted.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Option} & 0 -\/ Delete all records.~\newline
+ 1 -\/ Un-\/delete all deleted records. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a3067fdfa3a7a5c15651f6e89d1102176}\label{classxb_1_1xbDbf_a3067fdfa3a7a5c15651f6e89d1102176}}
+\index{xb::xbDbf@{xb::xbDbf}!DeleteAllRecords@{DeleteAllRecords}}
+\index{DeleteAllRecords@{DeleteAllRecords}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{DeleteAllRecords()}{DeleteAllRecords()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Delete\+All\+Records (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Delete all records.
+
+This routine deletes all the records in a table / dbf file.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_acd8c10579229f3a2e2c5fdb7fcef90db}\label{classxb_1_1xbDbf_acd8c10579229f3a2e2c5fdb7fcef90db}}
+\index{xb::xbDbf@{xb::xbDbf}!DeleteRecord@{DeleteRecord}}
+\index{DeleteRecord@{DeleteRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{DeleteRecord()}{DeleteRecord()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Delete\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Delete the current record.
+
+This routine flags the current record for deletion if it\textquotesingle{}s not already flagged.
+
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+ XB\+\_\+\+INVALID\+\_\+\+RECORD
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a4085ed4f049d976124d8edc3d3c56397}\label{classxb_1_1xbDbf_a4085ed4f049d976124d8edc3d3c56397}}
+\index{xb::xbDbf@{xb::xbDbf}!DeleteTable@{DeleteTable}}
+\index{DeleteTable@{DeleteTable}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{DeleteTable()}{DeleteTable()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Delete\+Table (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Delete a table.
+
+This routine deletes a given table, associated index files if any, the memo file if any and the .INF file if any. \begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a5a740033664c9ad2611c90e2a6d0c2d3}\label{classxb_1_1xbFile_a5a740033664c9ad2611c90e2a6d0c2d3}}
+\index{xb::xbDbf@{xb::xbDbf}!DetermineXbaseMemoVersion@{DetermineXbaseMemoVersion}}
+\index{DetermineXbaseMemoVersion@{DetermineXbaseMemoVersion}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{DetermineXbaseMemoVersion()}{DetermineXbaseMemoVersion()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Determine\+Xbase\+Memo\+Version (\begin{DoxyParamCaption}\item[{unsigned char}]{c\+File\+Type\+Byte }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Determine which version the memo (dbt) file is.
+
+This routine uses the first byte in the dbf file to determine which memo file version is in use. The main difference between version 3 and 4 is that version 4 will reuse blocks if they become available. Version 3 does not.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c\+File\+Type\+Byte} & is an output field and is one of\+:~\newline
+ ~\newline
+ 0 -\/ none~\newline
+ 3 -\/ Dbase III+~\newline
+ 4 -\/ Dbase IV~\newline
+\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ae2b6ac26018dc28f77afbb3f008c3f66}\label{classxb_1_1xbFile_ae2b6ac26018dc28f77afbb3f008c3f66}}
+\index{xb::xbDbf@{xb::xbDbf}!DetermineXbaseTableVersion@{DetermineXbaseTableVersion}}
+\index{DetermineXbaseTableVersion@{DetermineXbaseTableVersion}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{DetermineXbaseTableVersion()}{DetermineXbaseTableVersion()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Determine\+Xbase\+Table\+Version (\begin{DoxyParamCaption}\item[{unsigned char}]{c\+File\+Type\+Byte }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Determine xbase dbf version.
+
+This routine is used to determine which version of the Xbase classes can be used for a given DBF file.~\newline
+
+
+It attempts to use the highest version compiled into the library.~\newline
+
+
+References\+:~\newline
+ This routine uses the first byte from the dbf file.~\newline
+ Per DBase documentation\+:~\newline
+ Valid d\+BASE for Windows table file, bits 0-\/2 indicate version number\+: 3 for d\+BASE Level 5, 4 for d\+BASE Level 7.~\newline
+ Bit 3 and bit 7 indicate presence of a d\+BASE IV or d\+BASE for Windows memo file;~\newline
+ Bits 4-\/6 indicate the presence of a d\+BASE IV SQL table;~\newline
+ Bit 7 indicates the presence of any .DBT memo file (either a d\+BASE III PLUS type or a d\+BASE IV or d\+BASE for Windows memo file).~\newline
+ ~\newline
+ Bachmann spec (used extensively in library build), page 7 -\/ does not match DBase documentation~\newline
+ ~\newline
+ returns~\newline
+ 0 -\/ unknown~\newline
+ 3 -\/ Dbase level 3~\newline
+ 4 -\/ Dbase level 4~\newline
+ 5 -\/ Dbase Level 5 (future)~\newline
+ 7 -\/ Dbase Level 7 (future)~\newline
+ ~\newline
+ 1x -\/ Clipper files (future)~\newline
+ 2x -\/ Foxbase files (future)~\newline
+ ~\newline
+ \mbox{\Hypertarget{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}\label{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}}
+\index{xb::xbDbf@{xb::xbDbf}!DisplayError@{DisplayError}}
+\index{DisplayError@{DisplayError}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{DisplayError()}{DisplayError()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Display\+Error (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Display error message on console for a given error number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Error\+Code} & Error number to reference \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a47643728f74cf3b6e0ffc55259895bdb}\label{classxb_1_1xbDbf_a47643728f74cf3b6e0ffc55259895bdb}}
+\index{xb::xbDbf@{xb::xbDbf}!DumpHeader@{DumpHeader}}
+\index{DumpHeader@{DumpHeader}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{DumpHeader()}{DumpHeader()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Dump\+Header (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Dump dbf file header.
+
+This routine dumps dbf header information to the console.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Option} & 1 = Print header only~\newline
+ 2 = Field data only~\newline
+ 3 = Header and Field data~\newline
+ 4 = Header, Field and Memo header data if applicable \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_aba30399f15885a07f87f904c0d0656fa}\label{classxb_1_1xbDbf_aba30399f15885a07f87f904c0d0656fa}}
+\index{xb::xbDbf@{xb::xbDbf}!DumpRecord@{DumpRecord}}
+\index{DumpRecord@{DumpRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{DumpRecord()}{DumpRecord()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Dump\+Record (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Rec\+No, }\item[{xb\+Int16}]{i\+Output\+Dest = {\ttfamily 0}, }\item[{xb\+Int16}]{i\+Output\+Fmt = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Dump record.
+
+Dump the contents of the specified record
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Rec\+No} & Record number of record to be dumped. \\
+\hline
+{\em i\+Output\+Dest} & 0 = stdout~\newline
+ 1 = Syslog~\newline
+ 2 = Both~\newline
+\\
+\hline
+{\em i\+Output\+Fmt} & 0 = with field names~\newline
+ 1 = 1 line per rec, no field names~\newline
+ 2 = 1 line per rec, first line is a list of field names. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ab14e4a11427f5efb81cba1dd32bd1aa1}\label{classxb_1_1xbFile_ab14e4a11427f5efb81cba1dd32bd1aa1}}
+\index{xb::xbDbf@{xb::xbDbf}!eGetDouble@{eGetDouble}}
+\index{eGetDouble@{eGetDouble}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{eGetDouble()}{eGetDouble()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} xb\+::xb\+File\+::e\+Get\+Double (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get a portable double value.
+
+This routine returns a double value from an 8 byte character stream, accounting for endian type.
+
+Converts a double (64 bit floating point) value stored at p from a portable format to the machine format.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & pointer to memory containing the portable double value\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the double value.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ac40c991110ddc6fb30a72d90f4652762}\label{classxb_1_1xbFile_ac40c991110ddc6fb30a72d90f4652762}}
+\index{xb::xbDbf@{xb::xbDbf}!eGetInt16@{eGetInt16}}
+\index{eGetInt16@{eGetInt16}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{eGetInt16()}{eGetInt16()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::e\+Get\+Int16 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get a portable short value.
+
+This routine returns a short int value from a 2 byte character stream, accounting for endian type.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & pointer to memory containing the portable long value\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the short value.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a60b24a5afc984c586bf384c7e915ba0d}\label{classxb_1_1xbFile_a60b24a5afc984c586bf384c7e915ba0d}}
+\index{xb::xbDbf@{xb::xbDbf}!eGetInt32@{eGetInt32}}
+\index{eGetInt32@{eGetInt32}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{eGetInt32()}{eGetInt32()}}
+{\footnotesize\ttfamily xb\+Int32 xb\+::xb\+File\+::e\+Get\+Int32 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get a portable long value.
+
+This routine returns a long int value from a 4 byte character stream, accounting for endian type.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & pointer to memory containing the portable long value\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the long value.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a936ade458e6d5e6d29f9b5031888d189}\label{classxb_1_1xbFile_a936ade458e6d5e6d29f9b5031888d189}}
+\index{xb::xbDbf@{xb::xbDbf}!eGetUInt16@{eGetUInt16}}
+\index{eGetUInt16@{eGetUInt16}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{eGetUInt16()}{eGetUInt16()}}
+{\footnotesize\ttfamily xb\+UInt16 xb\+::xb\+File\+::e\+Get\+UInt16 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get a portable unsigned short value.
+
+This routine returns a short unsigned int value from a 2 byte character stream, accounting for endian type.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & pointer to memory containing the portable long value\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the short value.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a78f052529d39a18deaface5a0d47d0b0}\label{classxb_1_1xbFile_a78f052529d39a18deaface5a0d47d0b0}}
+\index{xb::xbDbf@{xb::xbDbf}!eGetUInt32@{eGetUInt32}}
+\index{eGetUInt32@{eGetUInt32}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{eGetUInt32()}{eGetUInt32()}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+File\+::e\+Get\+UInt32 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get a portable unsigned long value.
+
+This routine returns an unsigned long int value from a 4 byte character stream, accounting for endian type.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & pointer to memory containing the portable long value\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the unsigned long value.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a98b6ff533ae93f90c977a2ba23eeb105}\label{classxb_1_1xbFile_a98b6ff533ae93f90c977a2ba23eeb105}}
+\index{xb::xbDbf@{xb::xbDbf}!ePutDouble@{ePutDouble}}
+\index{ePutDouble@{ePutDouble}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{ePutDouble()}{ePutDouble()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+Double (\begin{DoxyParamCaption}\item[{char $\ast$}]{c, }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}}}]{d }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Write a portable double value to memory location.
+
+Converts a double (64 bit floating point) value from machine format to a portable format and stores the converted value in the memory referenced by c.
+
+This routine puts a double value to an 8 byte character stream
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Pointer to memory to hold converted value \\
+\hline
+{\em d} & Input value to be converted \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_a29130f12739ac8fa837f4eaedf1338b2}\label{classxb_1_1xbFile_a29130f12739ac8fa837f4eaedf1338b2}}
+\index{xb::xbDbf@{xb::xbDbf}!ePutInt16@{ePutInt16}}
+\index{ePutInt16@{ePutInt16}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{ePutInt16()}{ePutInt16()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+Int16 (\begin{DoxyParamCaption}\item[{char $\ast$}]{c, }\item[{xb\+Int16}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Write a portable short value to memory location.
+
+Converts a short (16 bit integer) value from machine format to a portable format and stores the converted value in the memory referenced by c.
+
+This routine puts a short value to a 2 byte character stream
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Pointer to memory to hold converted value \\
+\hline
+{\em s} & Input value to be converted \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_a19c37f76a2ccbb45019cb0fc373d3f46}\label{classxb_1_1xbFile_a19c37f76a2ccbb45019cb0fc373d3f46}}
+\index{xb::xbDbf@{xb::xbDbf}!ePutInt32@{ePutInt32}}
+\index{ePutInt32@{ePutInt32}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{ePutInt32()}{ePutInt32()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+Int32 (\begin{DoxyParamCaption}\item[{char $\ast$}]{c, }\item[{xb\+Int32}]{l }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Write a portable long value to memory location.
+
+Converts a long (32 bit integer) value from machine format to a portable format and stores the converted value in the memory referenced by c.
+
+This routine puts a long value to a 4 byte character stream.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Pointer to memory to hold converted value \\
+\hline
+{\em l} & Input value to be converted \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_a65e9839f92b96eac7b0d071fac3bbe40}\label{classxb_1_1xbFile_a65e9839f92b96eac7b0d071fac3bbe40}}
+\index{xb::xbDbf@{xb::xbDbf}!ePutUInt16@{ePutUInt16}}
+\index{ePutUInt16@{ePutUInt16}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{ePutUInt16()}{ePutUInt16()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+UInt16 (\begin{DoxyParamCaption}\item[{char $\ast$}]{c, }\item[{xb\+UInt16}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Write a portable unsigned short value to memory location.
+
+Converts an unsigned short (16 bit integer) value from machine format to a portable format and stores the converted value in the memory referenced by c.
+
+This routine puts an unsigned short value to a 2 byte character stream
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Pointer to memory to hold converted value \\
+\hline
+{\em s} & Input value to be converted \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_aa3f6ceae4b96f24875d86848bf13a173}\label{classxb_1_1xbFile_aa3f6ceae4b96f24875d86848bf13a173}}
+\index{xb::xbDbf@{xb::xbDbf}!ePutUInt32@{ePutUInt32}}
+\index{ePutUInt32@{ePutUInt32}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{ePutUInt32()}{ePutUInt32()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+UInt32 (\begin{DoxyParamCaption}\item[{char $\ast$}]{c, }\item[{xb\+UInt32}]{ul }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Write a portable unsigned long value to memory location.
+
+Converts an unsigned long (32 bit integer) value from machine format to a portable format and stores the converted value in the memory referenced by c.
+
+This routine puts an unsigned long value to a 4 byte character stream.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Pointer to memory to hold converted value \\
+\hline
+{\em ul} & Input value to be converted \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_a78bd8a11dce102647095baf3aff2b006}\label{classxb_1_1xbFile_a78bd8a11dce102647095baf3aff2b006}}
+\index{xb::xbDbf@{xb::xbDbf}!FileExists@{FileExists}}
+\index{FileExists@{FileExists}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{FileExists()}{FileExists()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Exists (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Determines if a file exists.
+
+\begin{DoxyReturn}{Returns}
+xb\+True if file exists~\newline
+ xb\+False if file does not exist
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a61130b4fbf4cf9d5972dcb4993de2f94}\label{classxb_1_1xbFile_a61130b4fbf4cf9d5972dcb4993de2f94}}
+\index{xb::xbDbf@{xb::xbDbf}!FileExists@{FileExists}}
+\index{FileExists@{FileExists}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{FileExists()}{FileExists()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Exists (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Determines if a file exists.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ file name to check for\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True if file exists~\newline
+ xb\+False if file does not exist
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a0592168f39a10f2a401a88ef781f6148}\label{classxb_1_1xbFile_a0592168f39a10f2a401a88ef781f6148}}
+\index{xb::xbDbf@{xb::xbDbf}!FileExists@{FileExists}}
+\index{FileExists@{FileExists}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{FileExists()}{FileExists()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Exists (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name, }\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Determines if a file exists.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ file name to check for \\
+\hline
+{\em i\+Option} & if 1, assume this is a request for a dbf file and check for the a dbt memo file also, returns true if both files are found\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True if both dbf and dbt files exist~\newline
+ xb\+False if file does not exist
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a174d8a6aabc9cfcd32fedbd1e5b13ddd}\label{classxb_1_1xbFile_a174d8a6aabc9cfcd32fedbd1e5b13ddd}}
+\index{xb::xbDbf@{xb::xbDbf}!FileExists@{FileExists}}
+\index{FileExists@{FileExists}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{FileExists()}{FileExists()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Exists (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Determines if a file exists.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Option} & if 1, assume this is a request for a dbf file and check for the a dbt memo file also, returns true if both files are found\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True if both files exist~\newline
+ xb\+False if file does not exist
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a7fa837938a32dc9ca3fbc81cbaf50f59}\label{classxb_1_1xbFile_a7fa837938a32dc9ca3fbc81cbaf50f59}}
+\index{xb::xbDbf@{xb::xbDbf}!FileIsOpen@{FileIsOpen}}
+\index{FileIsOpen@{FileIsOpen}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{FileIsOpen()}{FileIsOpen()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Is\+Open (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Determines if file is open.
+
+\begin{DoxyReturn}{Returns}
+xb\+True if file is open~\newline
+ xb\+False if file is not open
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_abb9e20c5efacd4fea80f1515abbc6b55}\label{classxb_1_1xbDbf_abb9e20c5efacd4fea80f1515abbc6b55}}
+\index{xb::xbDbf@{xb::xbDbf}!GetAutoCommit@{GetAutoCommit}}
+\index{GetAutoCommit@{GetAutoCommit}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetAutoCommit()}{GetAutoCommit()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Auto\+Commit (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get auto commit setting.
+
+This routine returns the table setting if set, otherwise returns the system level setting.
+
+\begin{DoxyReturn}{Returns}
+Not 0 -\/ Auto commit on for this table.~\newline
+ 0 -\/ Auto commit off for this table.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ae0c00226fd2ea7a67f101e795467ed68}\label{classxb_1_1xbDbf_ae0c00226fd2ea7a67f101e795467ed68}}
+\index{xb::xbDbf@{xb::xbDbf}!GetAutoCommit@{GetAutoCommit}}
+\index{GetAutoCommit@{GetAutoCommit}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetAutoCommit()}{GetAutoCommit()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Auto\+Commit (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get auto commit setting.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Option} & 0 -\/ Specific setting for this table~\newline
+ 1 -\/ If this table should be auto updated (takes DBMS setting into account) \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Not 0 -\/ Auto commit on for this table.~\newline
+ 0 -\/ Auto commit off for this table.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a638e14262410a1627819f016a16cdce2}\label{classxb_1_1xbFile_a638e14262410a1627819f016a16cdce2}}
+\index{xb::xbDbf@{xb::xbDbf}!GetBlockSize@{GetBlockSize}}
+\index{GetBlockSize@{GetBlockSize}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetBlockSize()}{GetBlockSize()}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+File\+::\+Get\+Block\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the block size.
+
+\begin{DoxyReturn}{Returns}
+Block Size
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ad0827a43c025c1184ffebab74cc9e779}\label{classxb_1_1xbDbf_ad0827a43c025c1184ffebab74cc9e779}}
+\index{xb::xbDbf@{xb::xbDbf}!GetBof@{GetBof}}
+\index{GetBof@{GetBof}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetBof()}{GetBof()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Dbf\+::\+Get\+Bof (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get a pointer to the current index object.
+
+\begin{DoxyReturn}{Returns}
+Pointer to current index.
+\end{DoxyReturn}
+Return true if dbf file empty or positioned to the first record
+
+\begin{DoxyReturn}{Returns}
+Returns true if dbf file is empty or positioned on the first record.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a643a80a3792a52760c8e09ba18719503}\label{classxb_1_1xbDbf_a643a80a3792a52760c8e09ba18719503}}
+\index{xb::xbDbf@{xb::xbDbf}!GetCurRecNo@{GetCurRecNo}}
+\index{GetCurRecNo@{GetCurRecNo}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetCurRecNo()}{GetCurRecNo()}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+Dbf\+::\+Get\+Cur\+Rec\+No (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Return the current record number.
+
+\begin{DoxyReturn}{Returns}
+Returns the current record number.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}\label{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}}
+\index{xb::xbDbf@{xb::xbDbf}!GetDataDirectory@{GetDataDirectory}}
+\index{GetDataDirectory@{GetDataDirectory}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetDataDirectory()}{GetDataDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Data\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the current data directory.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the current data directory where the database files are stored.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ac624e06a97666bfd64b4f252b4548b36}\label{classxb_1_1xbDbf_ac624e06a97666bfd64b4f252b4548b36}}
+\index{xb::xbDbf@{xb::xbDbf}!GetDateField@{GetDateField}}
+\index{GetDateField@{GetDateField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetDateField()}{GetDateField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Date\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{\mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to retrieve. \\
+\hline
+{\em dt\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_af78ef1fba949463ff7f829d3cffc4555}\label{classxb_1_1xbDbf_af78ef1fba949463ff7f829d3cffc4555}}
+\index{xb::xbDbf@{xb::xbDbf}!GetDateField@{GetDateField}}
+\index{GetDateField@{GetDateField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetDateField()}{GetDateField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Date\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em dt\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ac1110d867ba297a52c8b0e83e88f05e6}\label{classxb_1_1xbDbf_ac1110d867ba297a52c8b0e83e88f05e6}}
+\index{xb::xbDbf@{xb::xbDbf}!GetDbfStatus@{GetDbfStatus}}
+\index{GetDbfStatus@{GetDbfStatus}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetDbfStatus()}{GetDbfStatus()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Dbf\+Status (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Return the current dbf status.
+
+\begin{DoxyReturn}{Returns}
+0 = closed~\newline
+ 1 = open~\newline
+ 2 = updates pending~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}\label{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}}
+\index{xb::xbDbf@{xb::xbDbf}!GetDefaultAutoCommit@{GetDefaultAutoCommit}}
+\index{GetDefaultAutoCommit@{GetDefaultAutoCommit}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetDefaultAutoCommit()}{GetDefaultAutoCommit()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Default\+Auto\+Commit (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the default auto commit setting.
+
+When auto commit is enabled, the library will automatically post any updates when moving off an updated record or closing files. If auto commit is disabled, the application program will need to explicitly update the tables using using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}\mbox{\hyperlink{classxb_1_1xbDbf_a5b412dd796241673eb1aa2c93513d69b}{Append\+Record()}}.
+
+\begin{DoxyReturn}{Returns}
+xb\+True if auto commit is turned on~\newline
+ xb\+False is auto commit is turned off
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}\label{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}}
+\index{xb::xbDbf@{xb::xbDbf}!GetDefaultDateFormat@{GetDefaultDateFormat}}
+\index{GetDefaultDateFormat@{GetDefaultDateFormat}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetDefaultDateFormat()}{GetDefaultDateFormat()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Default\+Date\+Format (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the default date format.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the default date format.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_acd0fb2166b2bff7e8a1cf65a7bc8be1e}\label{classxb_1_1xbFile_acd0fb2166b2bff7e8a1cf65a7bc8be1e}}
+\index{xb::xbDbf@{xb::xbDbf}!GetDirectory@{GetDirectory}}
+\index{GetDirectory@{GetDirectory}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetDirectory()}{GetDirectory()}}
+{\footnotesize\ttfamily const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+File\+::\+Get\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the directory name.
+
+\begin{DoxyReturn}{Returns}
+the directory name of the file
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a6e6774df0f2d7733f4b25a9989596d95}\label{classxb_1_1xbDbf_a6e6774df0f2d7733f4b25a9989596d95}}
+\index{xb::xbDbf@{xb::xbDbf}!GetDoubleField@{GetDoubleField}}
+\index{GetDoubleField@{GetDoubleField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetDoubleField()}{GetDoubleField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Double\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \&}]{d\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get xb\+Double field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to retrieve. \\
+\hline
+{\em d\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a4556041a7ff2f6b6f986729901c11f08}\label{classxb_1_1xbDbf_a4556041a7ff2f6b6f986729901c11f08}}
+\index{xb::xbDbf@{xb::xbDbf}!GetDoubleField@{GetDoubleField}}
+\index{GetDoubleField@{GetDoubleField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetDoubleField()}{GetDoubleField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Double\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \&}]{d\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get xb\+Double field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em d\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a2370b5e736931441a5968649291b9ef4}\label{classxb_1_1xbDbf_a2370b5e736931441a5968649291b9ef4}}
+\index{xb::xbDbf@{xb::xbDbf}!GetDoubleField@{GetDoubleField}}
+\index{GetDoubleField@{GetDoubleField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetDoubleField()}{GetDoubleField()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Double\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \&}]{d\+Field\+Value, }\item[{xb\+Int16}]{i\+Rec\+Buf\+Sw }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get xb\+Double field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em d\+Field\+Value} & Output field value. \\
+\hline
+{\em i\+Rec\+Buf\+Sw} & 0 -\/ Record buffer with any updates.~\newline
+1 -\/ Record buffer with original data. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}\label{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}}
+\index{xb::xbDbf@{xb::xbDbf}!GetEndianType@{GetEndianType}}
+\index{GetEndianType@{GetEndianType}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetEndianType()}{GetEndianType()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::\+Get\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the Endian type.
+
+\begin{DoxyReturn}{Returns}
+B -\/ Big endian~\newline
+ L -\/ Little endian~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a256dc1f98626fa77da24e91a38ab5b4d}\label{classxb_1_1xbDbf_a256dc1f98626fa77da24e91a38ab5b4d}}
+\index{xb::xbDbf@{xb::xbDbf}!GetEof@{GetEof}}
+\index{GetEof@{GetEof}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetEof()}{GetEof()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Dbf\+::\+Get\+Eof (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Return true if dbf file empty or positioned to the last record.
+
+\begin{DoxyReturn}{Returns}
+Returns true if error, dbf file is empty or positioned on the last record.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}\label{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}}
+\index{xb::xbDbf@{xb::xbDbf}!GetErrorMessage@{GetErrorMessage}}
+\index{GetErrorMessage@{GetErrorMessage}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetErrorMessage()}{GetErrorMessage()}}
+{\footnotesize\ttfamily const char $\ast$ xb\+::xb\+Ssv\+::\+Get\+Error\+Message (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get an error message.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Error\+Code} & Error\+Code is the error number of description to be returned. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns a pointer to a string containing a text description for the error code.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a9a0fcf7e2040ab483e3807927833cb26}\label{classxb_1_1xbDbf_a9a0fcf7e2040ab483e3807927833cb26}}
+\index{xb::xbDbf@{xb::xbDbf}!GetField@{GetField}}
+\index{GetField@{GetField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetField()}{GetField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to retrieve \\
+\hline
+{\em s\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ac81f078f3c932f0da60ad1fbdd848d3e}\label{classxb_1_1xbDbf_ac81f078f3c932f0da60ad1fbdd848d3e}}
+\index{xb::xbDbf@{xb::xbDbf}!GetField@{GetField}}
+\index{GetField@{GetField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetField()}{GetField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get field data for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em s\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ad245a26eb8b79610c9ae7bab19e05513}\label{classxb_1_1xbDbf_ad245a26eb8b79610c9ae7bab19e05513}}
+\index{xb::xbDbf@{xb::xbDbf}!GetField@{GetField}}
+\index{GetField@{GetField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetField()}{GetField()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value, }\item[{xb\+Int16}]{i\+Rec\+Buf\+Sw }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get field data for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em s\+Field\+Value} & Output field value. \\
+\hline
+{\em i\+Rec\+Buf\+Sw} & 0 -\/ Record buffer with any updates.~\newline
+1 -\/ Record buffer with original data. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_add27d8ef555a13b336b8c804165dc15e}\label{classxb_1_1xbDbf_add27d8ef555a13b336b8c804165dc15e}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFieldCnt@{GetFieldCnt}}
+\index{GetFieldCnt@{GetFieldCnt}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFieldCnt()}{GetFieldCnt()}}
+{\footnotesize\ttfamily xb\+Int32 xb\+::xb\+Dbf\+::\+Get\+Field\+Cnt (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Return the number of fields in the table.
+
+\begin{DoxyReturn}{Returns}
+The number of fields in the table.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a607f774fcd6dc0b9913d7a7801b60db2}\label{classxb_1_1xbDbf_a607f774fcd6dc0b9913d7a7801b60db2}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFieldDecimal@{GetFieldDecimal}}
+\index{GetFieldDecimal@{GetFieldDecimal}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFieldDecimal()}{GetFieldDecimal()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Decimal (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{xb\+Int16 \&}]{i\+Field\+Decimal }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get decimal for field name.
+
+This routine retreives a field\textquotesingle{}s decimal length.
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to retrieve \\
+\hline
+{\em i\+Field\+Decimal} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_abcb4defad2e1b6e67f63cc60737ad840}\label{classxb_1_1xbDbf_abcb4defad2e1b6e67f63cc60737ad840}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFieldDecimal@{GetFieldDecimal}}
+\index{GetFieldDecimal@{GetFieldDecimal}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFieldDecimal()}{GetFieldDecimal()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Decimal (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{xb\+Int16 \&}]{i\+Field\+Decimal }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get decimal for field number.
+
+This routine retreives a field\textquotesingle{}s decimal length.
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve \\
+\hline
+{\em i\+Field\+Decimal} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_acf06dbccdba1a4bcd90fa0bea6cca59b}\label{classxb_1_1xbDbf_acf06dbccdba1a4bcd90fa0bea6cca59b}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFieldLen@{GetFieldLen}}
+\index{GetFieldLen@{GetFieldLen}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFieldLen()}{GetFieldLen()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Len (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{xb\+Int16 \&}]{i\+Field\+Len }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get field length for field name.
+
+This function retrieves a field\textquotesingle{}s length.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to retrieve \\
+\hline
+{\em i\+Field\+Len} & Output field length value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_adda4302b58cc6109b048f19d9b68bbd4}\label{classxb_1_1xbDbf_adda4302b58cc6109b048f19d9b68bbd4}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFieldLen@{GetFieldLen}}
+\index{GetFieldLen@{GetFieldLen}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFieldLen()}{GetFieldLen()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Len (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{xb\+Int16 \&}]{i\+Field\+Len }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get field length for field number.
+
+This function retrieves a field\textquotesingle{}s length.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Name of field to retrieve \\
+\hline
+{\em i\+Field\+Len} & Output field length value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a5e3e4368bfba1724c016b8859023e34c}\label{classxb_1_1xbDbf_a5e3e4368bfba1724c016b8859023e34c}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFieldName@{GetFieldName}}
+\index{GetFieldName@{GetFieldName}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFieldName()}{GetFieldName()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Name (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Returns the name of the specified field.
+
+Returns a pointer to the name for the field specified by i\+Field\+No.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field. \\
+\hline
+{\em s\+Field\+Name} & Output variable containing the field name. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_aad9029e63909aeb77d8473256d88bea8}\label{classxb_1_1xbDbf_aad9029e63909aeb77d8473256d88bea8}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFieldNo@{GetFieldNo}}
+\index{GetFieldNo@{GetFieldNo}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFieldNo()}{GetFieldNo()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+No (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get field ID number for a given field name.
+
+Returns the field number for the named field.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Number of field or XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_aed9113b5095c6df1b9c854cbd0d8047b}\label{classxb_1_1xbDbf_aed9113b5095c6df1b9c854cbd0d8047b}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFieldNo@{GetFieldNo}}
+\index{GetFieldNo@{GetFieldNo}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFieldNo()}{GetFieldNo()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+No (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{xb\+Int16 \&}]{i\+Field\+No }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the field number for name.
+
+Returns the field number for the named field.
+
+All field get/put methods require either a field number or field name as one of the parameters. Using the methods that take the field numbers will yield slightly better performance because the methods that take a name, have to look up the number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field. \\
+\hline
+{\em i\+Field\+No} & Output field number for the given name. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Number of field named fld\+Name.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a181db879f1a75f93a34c03513a0b2fea}\label{classxb_1_1xbDbf_a181db879f1a75f93a34c03513a0b2fea}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFieldType@{GetFieldType}}
+\index{GetFieldType@{GetFieldType}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFieldType()}{GetFieldType()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Type (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{char \&}]{c\+Field\+Type }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get field type for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Field name. \\
+\hline
+{\em c\+Field\+Type} & Output field type. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a5143973e4f165651152aa13c8fd45f84}\label{classxb_1_1xbDbf_a5143973e4f165651152aa13c8fd45f84}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFieldType@{GetFieldType}}
+\index{GetFieldType@{GetFieldType}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFieldType()}{GetFieldType()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Type (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{char \&}]{c\+Field\+Type }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get field type for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Field number. \\
+\hline
+{\em c\+Field\+Type} & Output field type. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_af5127c92892816e9bbc5c19653c4147a}\label{classxb_1_1xbFile_af5127c92892816e9bbc5c19653c4147a}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFileDirPart@{GetFileDirPart}}
+\index{GetFileDirPart@{GetFileDirPart}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFileDirPart()}{GetFileDirPart()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Dir\+Part (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Complete\+File\+Name\+In, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Dir\+Part\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the directory part of the file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Complete\+File\+Name\+In} & -\/ a fully qualfied input file name \\
+\hline
+{\em s\+File\+Dir\+Part\+Out} & -\/ the returned directory name part out of s\+Complete\+File\+Name\+In \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a60c53998e3d1b694134b20a87bc9bf5a}\label{classxb_1_1xbFile_a60c53998e3d1b694134b20a87bc9bf5a}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFileDirPart@{GetFileDirPart}}
+\index{GetFileDirPart@{GetFileDirPart}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFileDirPart()}{GetFileDirPart()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Dir\+Part (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Dir\+Part\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the directory part of the file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Dir\+Part\+Out} & -\/ the returned directory name \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ab289b6ffe955321160c1f90220c22e25}\label{classxb_1_1xbFile_ab289b6ffe955321160c1f90220c22e25}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFileExtPart@{GetFileExtPart}}
+\index{GetFileExtPart@{GetFileExtPart}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFileExtPart()}{GetFileExtPart()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Ext\+Part (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Complete\+File\+Name\+In, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Ext\+Part\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the extension part of the file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Complete\+File\+Name\+In} & -\/ a fully qualfied input file name\\
+\hline
+{\em s\+File\+Ext\+Part\+Out} & -\/ the returned directory name part out of s\+Complete\+File\+Name\+In \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a57a9222e5cbb51019d4eeb2c3ac89fa2}\label{classxb_1_1xbFile_a57a9222e5cbb51019d4eeb2c3ac89fa2}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFileExtPart@{GetFileExtPart}}
+\index{GetFileExtPart@{GetFileExtPart}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFileExtPart()}{GetFileExtPart()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Ext\+Part (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+Ext\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the extension part of the file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name\+Ext\+Out} & -\/ the returned extension part out of s\+Complete\+File\+Name\+In \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a02df78f4c90313243f508fc56b95aba8}\label{classxb_1_1xbFile_a02df78f4c90313243f508fc56b95aba8}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFileMtime@{GetFileMtime}}
+\index{GetFileMtime@{GetFileMtime}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFileMtime()}{GetFileMtime()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Mtime (\begin{DoxyParamCaption}\item[{time\+\_\+t \&}]{mtime }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the time of last file modification timestamp as reported by the OS.
+
+
+\begin{DoxyParams}{Parameters}
+{\em mtime} & -\/ returned time of last file modification \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ac95cb882ccbcdedc9a233c6ad9fed07a}\label{classxb_1_1xbFile_ac95cb882ccbcdedc9a233c6ad9fed07a}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFileName@{GetFileName}}
+\index{GetFileName@{GetFileName}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFileName()}{GetFileName()}}
+{\footnotesize\ttfamily const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+File\+::\+Get\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the file name.
+
+\begin{DoxyReturn}{Returns}
+the file name portion of the file
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a6110763c5ae996b72c7a62c15bdecc73}\label{classxb_1_1xbFile_a6110763c5ae996b72c7a62c15bdecc73}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFileNamePart@{GetFileNamePart}}
+\index{GetFileNamePart@{GetFileNamePart}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFileNamePart()}{GetFileNamePart()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Name\+Part (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Complete\+File\+Name\+In, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+Part\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the name part of the file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Complete\+File\+Name\+In} & -\/ a fully qualified input file name \\
+\hline
+{\em s\+File\+Name\+Part\+Out} & -\/ the returned file name part out of s\+Complete\+File\+Name\+In \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a81422b3dd52763d2cc6c77237ec9af0a}\label{classxb_1_1xbFile_a81422b3dd52763d2cc6c77237ec9af0a}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFileNamePart@{GetFileNamePart}}
+\index{GetFileNamePart@{GetFileNamePart}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFileNamePart()}{GetFileNamePart()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Name\+Part (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+Part\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the name part of the file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name\+Part\+Out} & -\/ the returned file name part out of s\+Complete\+File\+Name\+In \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a50b63c39e49d44e52078038027b24cc5}\label{classxb_1_1xbFile_a50b63c39e49d44e52078038027b24cc5}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFileSize@{GetFileSize}}
+\index{GetFileSize@{GetFileSize}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFileSize()}{GetFileSize()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Size (\begin{DoxyParamCaption}\item[{xb\+UInt64 \&}]{ull\+File\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the size of the file as reported by the OS.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ull\+File\+Size} & -\/ unsigned long long field as output \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a5548236d38d43b89ae29b9a015b1f678}\label{classxb_1_1xbFile_a5548236d38d43b89ae29b9a015b1f678}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFileType@{GetFileType}}
+\index{GetFileType@{GetFileType}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFileType()}{GetFileType()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Type (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Type\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the file type aka Capitalized file extension.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Type\+Out} & -\/ the returned extension part out of s\+Complete\+File\+Name\+In \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a6fc5b8a3e2f177d5ceaf9d975cbb5226}\label{classxb_1_1xbDbf_a6fc5b8a3e2f177d5ceaf9d975cbb5226}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFirstRecord@{GetFirstRecord}}
+\index{GetFirstRecord@{GetFirstRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFirstRecord()}{GetFirstRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+First\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the first record.
+
+Get the first not deleted record. This routines skips over any deleted records. \begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_acb78991e8435edd36318c653cb977c1a}\label{classxb_1_1xbDbf_acb78991e8435edd36318c653cb977c1a}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFirstRecord@{GetFirstRecord}}
+\index{GetFirstRecord@{GetFirstRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFirstRecord()}{GetFirstRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+First\+Record (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the first record.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Option} & XB\+\_\+\+ALL\+\_\+\+RECS -\/ Get the first record, deleted or not.~\newline
+ XB\+\_\+\+ACTIVE\+\_\+\+RECS -\/ Get the first active record.~\newline
+ XB\+\_\+\+DELETED\+\_\+\+RECS -\/ Get the first deleted record.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a81ef2f36f921d7ece066a592eb6393eb}\label{classxb_1_1xbDbf_a81ef2f36f921d7ece066a592eb6393eb}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFloatField@{GetFloatField}}
+\index{GetFloatField@{GetFloatField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFloatField()}{GetFloatField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Float\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{\mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}} \&}]{f\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get xb\+Float field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Number of field to retrieve. \\
+\hline
+{\em f\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a3443f646038ced14425f067a59c0f2da}\label{classxb_1_1xbDbf_a3443f646038ced14425f067a59c0f2da}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFloatField@{GetFloatField}}
+\index{GetFloatField@{GetFloatField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFloatField()}{GetFloatField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Float\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}} \&}]{f\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get xb\+Float field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em f\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a31b4e641f93206ba23e2a5a27491dcd4}\label{classxb_1_1xbFile_a31b4e641f93206ba23e2a5a27491dcd4}}
+\index{xb::xbDbf@{xb::xbDbf}!GetFqFileName@{GetFqFileName}}
+\index{GetFqFileName@{GetFqFileName}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetFqFileName()}{GetFqFileName()}}
+{\footnotesize\ttfamily const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+File\+::\+Get\+Fq\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the fully qualified file name.
+
+\begin{DoxyReturn}{Returns}
+the fully qualfied name of the file
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ad56be2756b7a9f8318d9ba5cf215dafb}\label{classxb_1_1xbDbf_ad56be2756b7a9f8318d9ba5cf215dafb}}
+\index{xb::xbDbf@{xb::xbDbf}!GetHeaderLen@{GetHeaderLen}}
+\index{GetHeaderLen@{GetHeaderLen}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetHeaderLen()}{GetHeaderLen()}}
+{\footnotesize\ttfamily virtual xb\+UInt16 xb\+::xb\+Dbf\+::\+Get\+Header\+Len (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}\label{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}}
+\index{xb::xbDbf@{xb::xbDbf}!GetHomeDir@{GetHomeDir}}
+\index{GetHomeDir@{GetHomeDir}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetHomeDir()}{GetHomeDir()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Get\+Home\+Dir (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Home\+Dir\+Out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get home directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Home\+Dir\+Out} & -\/ Output home directory for current user. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a49e667f9c8ee55c36444702663fc5964}\label{classxb_1_1xbDbf_a49e667f9c8ee55c36444702663fc5964}}
+\index{xb::xbDbf@{xb::xbDbf}!GetLastRecord@{GetLastRecord}}
+\index{GetLastRecord@{GetLastRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetLastRecord()}{GetLastRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Last\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the last record.
+
+Get the last not deleted record. This routines skips over any deleted records. \begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a8ccfa2291417412b6894940d1b92f9a6}\label{classxb_1_1xbDbf_a8ccfa2291417412b6894940d1b92f9a6}}
+\index{xb::xbDbf@{xb::xbDbf}!GetLastRecord@{GetLastRecord}}
+\index{GetLastRecord@{GetLastRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetLastRecord()}{GetLastRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Last\+Record (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the last record.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Option} & XB\+\_\+\+ALL\+\_\+\+RECS -\/ Get the last record, deleted or not.~\newline
+ XB\+\_\+\+ACTIVE\+\_\+\+RECS -\/ Get the last active record.~\newline
+ XB\+\_\+\+DELETED\+\_\+\+RECS -\/ Get the last deleted record.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}\label{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}}
+\index{xb::xbDbf@{xb::xbDbf}!GetLogDirectory@{GetLogDirectory}}
+\index{GetLogDirectory@{GetLogDirectory}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetLogDirectory()}{GetLogDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}\label{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}}
+\index{xb::xbDbf@{xb::xbDbf}!GetLogFileName@{GetLogFileName}}
+\index{GetLogFileName@{GetLogFileName}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetLogFileName()}{GetLogFileName()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a943cea7fde1b06c1a05184193eff8d2d}\label{classxb_1_1xbDbf_a943cea7fde1b06c1a05184193eff8d2d}}
+\index{xb::xbDbf@{xb::xbDbf}!GetLogicalField@{GetLogicalField}}
+\index{GetLogicalField@{GetLogicalField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetLogicalField()}{GetLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Logical\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&}]{b\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get logical field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to retrieve. \\
+\hline
+{\em b\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a9cd6819bfd932ff8507e54d9cb9a624e}\label{classxb_1_1xbDbf_a9cd6819bfd932ff8507e54d9cb9a624e}}
+\index{xb::xbDbf@{xb::xbDbf}!GetLogicalField@{GetLogicalField}}
+\index{GetLogicalField@{GetLogicalField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetLogicalField()}{GetLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Logical\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get logical field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to retrieve. \\
+\hline
+{\em s\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_aaf615ddcf08f8cd14efc713c2a8d7ae1}\label{classxb_1_1xbDbf_aaf615ddcf08f8cd14efc713c2a8d7ae1}}
+\index{xb::xbDbf@{xb::xbDbf}!GetLogicalField@{GetLogicalField}}
+\index{GetLogicalField@{GetLogicalField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetLogicalField()}{GetLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Logical\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&}]{b\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get logical field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em b\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ab28feef20c988b0a6f1c1911a45377b0}\label{classxb_1_1xbDbf_ab28feef20c988b0a6f1c1911a45377b0}}
+\index{xb::xbDbf@{xb::xbDbf}!GetLogicalField@{GetLogicalField}}
+\index{GetLogicalField@{GetLogicalField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetLogicalField()}{GetLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Logical\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&}]{b\+Field\+Value, }\item[{xb\+Int16}]{i\+Rec\+Buf\+Sw }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get logical field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em b\+Field\+Value} & Output field value. \\
+\hline
+{\em i\+Rec\+Buf\+Sw} & 0 -\/ Record buffer with any updates.~\newline
+1 -\/ Record buffer with original data. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a3254f091fc4a1404abed3dd2bcdd6ce6}\label{classxb_1_1xbDbf_a3254f091fc4a1404abed3dd2bcdd6ce6}}
+\index{xb::xbDbf@{xb::xbDbf}!GetLogicalField@{GetLogicalField}}
+\index{GetLogicalField@{GetLogicalField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetLogicalField()}{GetLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Logical\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get logical field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em s\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a7b8ef75b17941beac17e50e969b2d3db}\label{classxb_1_1xbDbf_a7b8ef75b17941beac17e50e969b2d3db}}
+\index{xb::xbDbf@{xb::xbDbf}!GetLongField@{GetLongField}}
+\index{GetLongField@{GetLongField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetLongField()}{GetLongField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Long\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{xb\+Int32 \&}]{l\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get long field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Number of field to retrieve. \\
+\hline
+{\em l\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_abe525c0820640e0a9e169d0b7913cfa1}\label{classxb_1_1xbDbf_abe525c0820640e0a9e169d0b7913cfa1}}
+\index{xb::xbDbf@{xb::xbDbf}!GetLongField@{GetLongField}}
+\index{GetLongField@{GetLongField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetLongField()}{GetLongField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Long\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{xb\+Int32 \&}]{l\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get long field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em l\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}\label{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}}
+\index{xb::xbDbf@{xb::xbDbf}!GetMultiUser@{GetMultiUser}}
+\index{GetMultiUser@{GetMultiUser}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetMultiUser()}{GetMultiUser()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Multi\+User (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the multi user setting.
+
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Multi user mode turned on.~\newline
+ xb\+False -\/ Multi user mode turned off.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ab896fe3b734f556de578d30f92b18fe2}\label{classxb_1_1xbDbf_ab896fe3b734f556de578d30f92b18fe2}}
+\index{xb::xbDbf@{xb::xbDbf}!GetNextRecord@{GetNextRecord}}
+\index{GetNextRecord@{GetNextRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetNextRecord()}{GetNextRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Next\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the next record.
+
+Get the next not deleted record. This routines skips over any deleted records. \begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a3191428a7a92d9107d8d42448884f2ac}\label{classxb_1_1xbDbf_a3191428a7a92d9107d8d42448884f2ac}}
+\index{xb::xbDbf@{xb::xbDbf}!GetNextRecord@{GetNextRecord}}
+\index{GetNextRecord@{GetNextRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetNextRecord()}{GetNextRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Next\+Record (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the next record.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Option} & XB\+\_\+\+ALL\+\_\+\+RECS -\/ Get the next record, deleted or not.~\newline
+ XB\+\_\+\+ACTIVE\+\_\+\+RECS -\/ Get the next active record.~\newline
+ XB\+\_\+\+DELETED\+\_\+\+RECS -\/ Get the next deleted record.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a18fdcb4ab15b36cd47fa6f6f7a540d1a}\label{classxb_1_1xbDbf_a18fdcb4ab15b36cd47fa6f6f7a540d1a}}
+\index{xb::xbDbf@{xb::xbDbf}!GetNextRecord@{GetNextRecord}}
+\index{GetNextRecord@{GetNextRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetNextRecord()}{GetNextRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Next\+Record (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option, }\item[{xb\+UInt32}]{ul\+Start\+Rec }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the next record.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Option} & XB\+\_\+\+ALL\+\_\+\+RECS -\/ Get the next record, deleted or not.~\newline
+ XB\+\_\+\+ACTIVE\+\_\+\+RECS -\/ Get the next active record.~\newline
+ XB\+\_\+\+DELETED\+\_\+\+RECS -\/ Get the next deleted record.~\newline
+ \\
+\hline
+{\em ul\+Start\+Rec} & Get next record, starting from ul\+Start\+Rec. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a909788123ce0694b65dfcf036380d918}\label{classxb_1_1xbDbf_a909788123ce0694b65dfcf036380d918}}
+\index{xb::xbDbf@{xb::xbDbf}!GetNullSts@{GetNullSts}}
+\index{GetNullSts@{GetNullSts}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetNullSts()}{GetNullSts()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Null\+Sts (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&}]{b\+Is\+Null }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get field null status.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+Name} & Field Name of field to retrieve. \\
+\hline
+{\em b\+Is\+Null} & Output field value. If field is all spaces on record buffer, returns true. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ae9a3f726ce5229ed021bfce0515050fc}\label{classxb_1_1xbDbf_ae9a3f726ce5229ed021bfce0515050fc}}
+\index{xb::xbDbf@{xb::xbDbf}!GetNullSts@{GetNullSts}}
+\index{GetNullSts@{GetNullSts}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetNullSts()}{GetNullSts()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Null\+Sts (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&}]{b\+Is\+Null }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get field null status.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em b\+Is\+Null} & Output field value. If field is all spaces on record buffer, returns true. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a7930fe8b930c6d646b7b0d3df576fe9e}\label{classxb_1_1xbDbf_a7930fe8b930c6d646b7b0d3df576fe9e}}
+\index{xb::xbDbf@{xb::xbDbf}!GetNullSts@{GetNullSts}}
+\index{GetNullSts@{GetNullSts}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetNullSts()}{GetNullSts()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Null\+Sts (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&}]{b\+Is\+Null, }\item[{xb\+Int16}]{i\+Rec\+Buf\+Sw }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get field null status.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em b\+Is\+Null} & Output field value. If field is all spaces on record buffer, returns true. \\
+\hline
+{\em i\+Rec\+Buf\+Sw} & 0 -\/ Record buffer with any updates.~\newline
+1 -\/ Record buffer with original data. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a3c500dc9dac22c49496e4b29386b2dd3}\label{classxb_1_1xbFile_a3c500dc9dac22c49496e4b29386b2dd3}}
+\index{xb::xbDbf@{xb::xbDbf}!GetOpenMode@{GetOpenMode}}
+\index{GetOpenMode@{GetOpenMode}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetOpenMode()}{GetOpenMode()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Open\+Mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the open mode of the file.
+
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+READ~\newline
+ XB\+\_\+\+READ\+\_\+\+WRITE~\newline
+ XB\+\_\+\+WRITE~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}\label{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}}
+\index{xb::xbDbf@{xb::xbDbf}!GetPathSeparator@{GetPathSeparator}}
+\index{GetPathSeparator@{GetPathSeparator}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetPathSeparator()}{GetPathSeparator()}}
+{\footnotesize\ttfamily char xb\+::xb\+Ssv\+::\+Get\+Path\+Separator (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the OS dependent path separator.
+
+\begin{DoxyReturn}{Returns}
+Returns \textquotesingle{}\textbackslash{}\textquotesingle{} for windows environment, otherwise returns \textquotesingle{}/\textquotesingle{}.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ab3d248e5221b4f0809897cd43af17a1e}\label{classxb_1_1xbDbf_ab3d248e5221b4f0809897cd43af17a1e}}
+\index{xb::xbDbf@{xb::xbDbf}!GetPrevRecord@{GetPrevRecord}}
+\index{GetPrevRecord@{GetPrevRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetPrevRecord()}{GetPrevRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Prev\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the previous record.
+
+Get the previous not deleted record. This routine skips over any deleted records. \begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a7eadc7b08d73003802b90584f7b33387}\label{classxb_1_1xbDbf_a7eadc7b08d73003802b90584f7b33387}}
+\index{xb::xbDbf@{xb::xbDbf}!GetPrevRecord@{GetPrevRecord}}
+\index{GetPrevRecord@{GetPrevRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetPrevRecord()}{GetPrevRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Prev\+Record (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the previous record.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Option} & XB\+\_\+\+ALL\+\_\+\+RECS -\/ Get the previous record, deleted or not.~\newline
+ XB\+\_\+\+ACTIVE\+\_\+\+RECS -\/ Get the previous active record.~\newline
+ XB\+\_\+\+DELETED\+\_\+\+RECS -\/ Get the previous deleted record.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_aabd146c0e1054ab905ec96aedd84b02e}\label{classxb_1_1xbDbf_aabd146c0e1054ab905ec96aedd84b02e}}
+\index{xb::xbDbf@{xb::xbDbf}!GetRawField@{GetRawField}}
+\index{GetRawField@{GetRawField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetRawField()}{GetRawField()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Raw\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{char $\ast$}]{c\+Buf, }\item[{xb\+UInt32}]{ul\+Buf\+Size, }\item[{xb\+Int16}]{i\+Rec\+Buf\+Sw }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
+
+
+
+Get raw field data for field number.
+
+This is a protected method, used by other methods. This method would be subject to buffer overflows if made public.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em c\+Buf} & Pointer to buffer area provided by calling application program. \\
+\hline
+{\em ul\+Buf\+Size} & Size of data to copy \\
+\hline
+{\em i\+Rec\+Buf\+Sw} & 0 -\/ Record buffer with any updates.~\newline
+1 -\/ Record buffer with original data. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a26fba086b07caeab95066bf1c8d25161}\label{classxb_1_1xbDbf_a26fba086b07caeab95066bf1c8d25161}}
+\index{xb::xbDbf@{xb::xbDbf}!GetRecord@{GetRecord}}
+\index{GetRecord@{GetRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetRecord()}{GetRecord()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Record (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Rec\+No }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get record for specified record number.
+
+Retrieve a record from disk and load it into the record buffer. If auto commit is enabled and there are pending updates, this routine will flush the updates to disk before proceeding to ul\+Rec\+No.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Rec\+No} & -\/ Record number to retrieve. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_aa3e38c4057d726a28a27d07a1610d124}\label{classxb_1_1xbDbf_aa3e38c4057d726a28a27d07a1610d124}}
+\index{xb::xbDbf@{xb::xbDbf}!GetRecordBuf@{GetRecordBuf}}
+\index{GetRecordBuf@{GetRecordBuf}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetRecordBuf()}{GetRecordBuf()}}
+{\footnotesize\ttfamily char $\ast$ xb\+::xb\+Dbf\+::\+Get\+Record\+Buf (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Opt = {\ttfamily 0} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get pointer to record buffer.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Opt} & 0 for Rec\+Buf (current) or 1 for Rec\+Buf2 (original contents)\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Pointer to record buffer.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ac196ad55335e1f4789d698748434dc89}\label{classxb_1_1xbDbf_ac196ad55335e1f4789d698748434dc89}}
+\index{xb::xbDbf@{xb::xbDbf}!GetRecordCnt@{GetRecordCnt}}
+\index{GetRecordCnt@{GetRecordCnt}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetRecordCnt()}{GetRecordCnt()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Record\+Cnt (\begin{DoxyParamCaption}\item[{xb\+UInt32 \&}]{ul\+Rec\+Cnt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the current number of records in the dbf data file.
+
+\begin{DoxyReturn}{Returns}
+Record count or \href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+Get the current number of records in the dbf data file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Rec\+Cnt} & Output number of records in file. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ab50d76c6e29e81e347a6feb04c2f62bb}\label{classxb_1_1xbDbf_ab50d76c6e29e81e347a6feb04c2f62bb}}
+\index{xb::xbDbf@{xb::xbDbf}!GetRecordLen@{GetRecordLen}}
+\index{GetRecordLen@{GetRecordLen}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetRecordLen()}{GetRecordLen()}}
+{\footnotesize\ttfamily xb\+UInt16 xb\+::xb\+Dbf\+::\+Get\+Record\+Len (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the dbf record length.
+
+\begin{DoxyReturn}{Returns}
+Record length.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a9b63e05b77f477ff6109ff7b9432c1b6}\label{classxb_1_1xbFile_a9b63e05b77f477ff6109ff7b9432c1b6}}
+\index{xb::xbDbf@{xb::xbDbf}!GetShareMode@{GetShareMode}}
+\index{GetShareMode@{GetShareMode}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetShareMode()}{GetShareMode()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Share\+Mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the share mode of the file.
+
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+SINGLE\+\_\+\+USER -\/ (file buffering on\texorpdfstring{$>$}{>}~\newline
+ XB\+\_\+\+MULTI\+\_\+\+USER -\/ (file buffering off)~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a27758a325c097f204247908b65ba7fbd}\label{classxb_1_1xbDbf_a27758a325c097f204247908b65ba7fbd}}
+\index{xb::xbDbf@{xb::xbDbf}!GetTblAlias@{GetTblAlias}}
+\index{GetTblAlias@{GetTblAlias}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetTblAlias()}{GetTblAlias()}}
+{\footnotesize\ttfamily const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Dbf\+::\+Get\+Tbl\+Alias (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the table alias.
+
+This routine returns the table alias. \begin{DoxyReturn}{Returns}
+Table alias
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}\label{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}}
+\index{xb::xbDbf@{xb::xbDbf}!GetTempDirectory@{GetTempDirectory}}
+\index{GetTempDirectory@{GetTempDirectory}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetTempDirectory()}{GetTempDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Temp\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the current temp directory.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the current data directory where the database files are stored.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a039eb02418ec4ca862adbc0f95b9cbec}\label{classxb_1_1xbDbf_a039eb02418ec4ca862adbc0f95b9cbec}}
+\index{xb::xbDbf@{xb::xbDbf}!GetULongField@{GetULongField}}
+\index{GetULongField@{GetULongField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetULongField()}{GetULongField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+ULong\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{xb\+UInt32 \&}]{ul\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get unsigned long field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Number of field to retrieve. \\
+\hline
+{\em ul\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a67e3a050f9090edf69eee75aef7f5d83}\label{classxb_1_1xbDbf_a67e3a050f9090edf69eee75aef7f5d83}}
+\index{xb::xbDbf@{xb::xbDbf}!GetULongField@{GetULongField}}
+\index{GetULongField@{GetULongField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetULongField()}{GetULongField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+ULong\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{xb\+UInt32 \&}]{ul\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get unsigned long field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to retrieve. \\
+\hline
+{\em ul\+Field\+Value} & Output field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a49212a9eb17f7fa9f303e08d5fc50fc6}\label{classxb_1_1xbDbf_a49212a9eb17f7fa9f303e08d5fc50fc6}}
+\index{xb::xbDbf@{xb::xbDbf}!GetVersion@{GetVersion}}
+\index{GetVersion@{GetVersion}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetVersion()}{GetVersion()}}
+{\footnotesize\ttfamily virtual xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}
+
+\mbox{\Hypertarget{classxb_1_1xbFile_a7af337808919680b90710ad5e8a99232}\label{classxb_1_1xbFile_a7af337808919680b90710ad5e8a99232}}
+\index{xb::xbDbf@{xb::xbDbf}!GetXbaseFileTypeByte@{GetXbaseFileTypeByte}}
+\index{GetXbaseFileTypeByte@{GetXbaseFileTypeByte}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetXbaseFileTypeByte()}{GetXbaseFileTypeByte()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Xbase\+File\+Type\+Byte (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name, }\item[{unsigned char \&}]{c\+File\+Type\+Byte }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the file type byte and version of the dbf file.
+
+Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ Name of file to examine \\
+\hline
+{\em c\+File\+Type\+Byte} & -\/ Retruned first byte of dbf file \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a78aebdd21d3de46a450d5f835e3027f6}\label{classxb_1_1xbFile_a78aebdd21d3de46a450d5f835e3027f6}}
+\index{xb::xbDbf@{xb::xbDbf}!GetXbaseFileTypeByte@{GetXbaseFileTypeByte}}
+\index{GetXbaseFileTypeByte@{GetXbaseFileTypeByte}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetXbaseFileTypeByte()}{GetXbaseFileTypeByte()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Xbase\+File\+Type\+Byte (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name, }\item[{unsigned char \&}]{c\+File\+Type\+Byte, }\item[{xb\+Int16 \&}]{i\+Version }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the file type byte and version of the dbf file.
+
+Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ Name of file to examine \\
+\hline
+{\em c\+File\+Type\+Byte} & -\/ Returned first byte of dbf file \\
+\hline
+{\em i\+Version} & -\/ Returned file version \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_aaf2e697751a0beff41432a66bb83fb5e}\label{classxb_1_1xbFile_aaf2e697751a0beff41432a66bb83fb5e}}
+\index{xb::xbDbf@{xb::xbDbf}!GetXbaseFileTypeByte@{GetXbaseFileTypeByte}}
+\index{GetXbaseFileTypeByte@{GetXbaseFileTypeByte}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetXbaseFileTypeByte()}{GetXbaseFileTypeByte()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Xbase\+File\+Type\+Byte (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name, }\item[{xb\+Int16 \&}]{i\+Version }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the file type byte and version of the dbf file.
+
+Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ Name of file to examine \\
+\hline
+{\em i\+Version} & -\/ Returned file version \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ab21ec23c076b0c9affdc0f6672bd133f}\label{classxb_1_1xbDbf_ab21ec23c076b0c9affdc0f6672bd133f}}
+\index{xb::xbDbf@{xb::xbDbf}!GetXbasePtr@{GetXbasePtr}}
+\index{GetXbasePtr@{GetXbasePtr}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{GetXbasePtr()}{GetXbasePtr()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$ xb\+::xb\+Dbf\+::\+Get\+Xbase\+Ptr (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Get the pointer to the xb\+Xbase structure,.
+
+\begin{DoxyReturn}{Returns}
+Pointer to xb\+Xbase structure.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ad06fe0f7975fb81125d27d82504e6829}\label{classxb_1_1xbDbf_ad06fe0f7975fb81125d27d82504e6829}}
+\index{xb::xbDbf@{xb::xbDbf}!InitVars@{InitVars}}
+\index{InitVars@{InitVars}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{InitVars()}{InitVars()}}
+{\footnotesize\ttfamily void xb\+::xb\+Dbf\+::\+Init\+Vars (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a013dc8c51fc1aa988de39cf3da6da950}\label{classxb_1_1xbDbf_a013dc8c51fc1aa988de39cf3da6da950}}
+\index{xb::xbDbf@{xb::xbDbf}!MemoFieldsExist@{MemoFieldsExist}}
+\index{MemoFieldsExist@{MemoFieldsExist}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{MemoFieldsExist()}{MemoFieldsExist()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Dbf\+::\+Memo\+Fields\+Exist (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Check for existence of any memo fields.
+
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Memo fields exist.~\newline
+xb\+False -\/ Memo fields don\textquotesingle{}t exist.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a361e3cc318bbf1c4d10f069e0800a24e}\label{classxb_1_1xbFile_a361e3cc318bbf1c4d10f069e0800a24e}}
+\index{xb::xbDbf@{xb::xbDbf}!NameSuffixMissing@{NameSuffixMissing}}
+\index{NameSuffixMissing@{NameSuffixMissing}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{NameSuffixMissing()}{NameSuffixMissing()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Name\+Suffix\+Missing (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name, }\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Determines status of file extension.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ Name of file to examine \\
+\hline
+{\em i\+Option} & -\/ Inspection type~\newline
+ 1 check for DBF~\newline
+ 2 check for NDX~\newline
+ 3 check for MDX~\newline
+ 4 check for NTX~\newline
+\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+0 if suffix found~\newline
+ 1 if suffix not found, lower case~\newline
+ 2 is suffix not found, upper case~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a69824d7bafc3f5a15bf7d09f2f511768}\label{classxb_1_1xbDbf_a69824d7bafc3f5a15bf7d09f2f511768}}
+\index{xb::xbDbf@{xb::xbDbf}!Open@{Open}}
+\index{Open@{Open}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{Open()}{Open()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Open (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Table\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Open a table/dbf file.
+
+This routine sets the alias name to the same as the table name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Table\+Name} & Table name to open, Include the .dbf or .DBF extension. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ae388c5e02adc86e6e9988e697e061610}\label{classxb_1_1xbDbf_ae388c5e02adc86e6e9988e697e061610}}
+\index{xb::xbDbf@{xb::xbDbf}!Open@{Open}}
+\index{Open@{Open}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{Open()}{Open()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Open (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Table\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Alias }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Open a table/dbf file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Table\+Name} & Table name to open, Include the .dbf or .DBF extension. \\
+\hline
+{\em s\+Alias} & Alias name to assign to this entry. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a4d018cbf44d8d8b2145c9acab02c8adf}\label{classxb_1_1xbDbf_a4d018cbf44d8d8b2145c9acab02c8adf}}
+\index{xb::xbDbf@{xb::xbDbf}!Open@{Open}}
+\index{Open@{Open}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{Open()}{Open()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily virtual xb\+Int16 xb\+::xb\+Dbf\+::\+Open (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Table\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Alias, }\item[{xb\+Int16}]{i\+Open\+Mode, }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a8a52bf3ef2123c0d17e6b1f67bf0dc55}\label{classxb_1_1xbDbf_a8a52bf3ef2123c0d17e6b1f67bf0dc55}}
+\index{xb::xbDbf@{xb::xbDbf}!Pack@{Pack}}
+\index{Pack@{Pack}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{Pack()}{Pack()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Pack (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Pack dbf file.
+
+This routine eliminates all deleted records from the file. \begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a93bb14ad0451355bfa3379128120988a}\label{classxb_1_1xbDbf_a93bb14ad0451355bfa3379128120988a}}
+\index{xb::xbDbf@{xb::xbDbf}!Pack@{Pack}}
+\index{Pack@{Pack}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{Pack()}{Pack()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Pack (\begin{DoxyParamCaption}\item[{xb\+UInt32 \&}]{ul\+Deleted\+Rec\+Cnt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Pack dbf file.
+
+This routine eliminates all deleted records from the file and clears out any unused blocks in the memo file if one exists.
+\begin{DoxyParams}{Parameters}
+{\em ul\+Deleted\+Rec\+Cnt} & -\/ Output -\/ number of recrods removed from the file. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a571b36b3a940b1a16d5e834f329b33b9}\label{classxb_1_1xbDbf_a571b36b3a940b1a16d5e834f329b33b9}}
+\index{xb::xbDbf@{xb::xbDbf}!PutDateField@{PutDateField}}
+\index{PutDateField@{PutDateField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutDateField()}{PutDateField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Date\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put date field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to update. \\
+\hline
+{\em dt\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a873f04af528a9d81e6a367a59d998ec5}\label{classxb_1_1xbDbf_a873f04af528a9d81e6a367a59d998ec5}}
+\index{xb::xbDbf@{xb::xbDbf}!PutDateField@{PutDateField}}
+\index{PutDateField@{PutDateField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutDateField()}{PutDateField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Date\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put date field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to update. \\
+\hline
+{\em dt\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ae695bbc71c19abc71c0c5f2ff2e1f971}\label{classxb_1_1xbDbf_ae695bbc71c19abc71c0c5f2ff2e1f971}}
+\index{xb::xbDbf@{xb::xbDbf}!PutDoubleField@{PutDoubleField}}
+\index{PutDoubleField@{PutDoubleField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutDoubleField()}{PutDoubleField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Double\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}}}]{d\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put double field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to update. \\
+\hline
+{\em d\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a4f34842d7e8ff1f16992c2ece2fc38a5}\label{classxb_1_1xbDbf_a4f34842d7e8ff1f16992c2ece2fc38a5}}
+\index{xb::xbDbf@{xb::xbDbf}!PutDoubleField@{PutDoubleField}}
+\index{PutDoubleField@{PutDoubleField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutDoubleField()}{PutDoubleField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Double\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}}}]{d\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put double field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to update. \\
+\hline
+{\em d\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a7862215dd2f83a1c488e539cd1f9aec0}\label{classxb_1_1xbDbf_a7862215dd2f83a1c488e539cd1f9aec0}}
+\index{xb::xbDbf@{xb::xbDbf}!PutField@{PutField}}
+\index{PutField@{PutField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutField()}{PutField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to update. \\
+\hline
+{\em s\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a142b0c0dc904917f3c68c5572c1237b5}\label{classxb_1_1xbDbf_a142b0c0dc904917f3c68c5572c1237b5}}
+\index{xb::xbDbf@{xb::xbDbf}!PutField@{PutField}}
+\index{PutField@{PutField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutField()}{PutField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to update. \\
+\hline
+{\em s\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a4ea3241bc710d57e5f755efda62288ad}\label{classxb_1_1xbDbf_a4ea3241bc710d57e5f755efda62288ad}}
+\index{xb::xbDbf@{xb::xbDbf}!PutFloatField@{PutFloatField}}
+\index{PutFloatField@{PutFloatField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutFloatField()}{PutFloatField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Float\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{\mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}}}]{f\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put float field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to update. \\
+\hline
+{\em f\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a64161eb50d72e424b11bf3732657ebd8}\label{classxb_1_1xbDbf_a64161eb50d72e424b11bf3732657ebd8}}
+\index{xb::xbDbf@{xb::xbDbf}!PutFloatField@{PutFloatField}}
+\index{PutFloatField@{PutFloatField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutFloatField()}{PutFloatField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Float\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}}}]{f\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put float field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to update. \\
+\hline
+{\em f\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a507e400ca6526a9e0391cf06dd6a014e}\label{classxb_1_1xbDbf_a507e400ca6526a9e0391cf06dd6a014e}}
+\index{xb::xbDbf@{xb::xbDbf}!PutLogicalField@{PutLogicalField}}
+\index{PutLogicalField@{PutLogicalField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutLogicalField()}{PutLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Logical\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put logical field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to update. \\
+\hline
+{\em s\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a623ca3ef5520c42308c1a16b518e7ff3}\label{classxb_1_1xbDbf_a623ca3ef5520c42308c1a16b518e7ff3}}
+\index{xb::xbDbf@{xb::xbDbf}!PutLogicalField@{PutLogicalField}}
+\index{PutLogicalField@{PutLogicalField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutLogicalField()}{PutLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Logical\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put logical field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to update. \\
+\hline
+{\em b\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ab39ac4269ac63bc7ea4f638733bb17f0}\label{classxb_1_1xbDbf_ab39ac4269ac63bc7ea4f638733bb17f0}}
+\index{xb::xbDbf@{xb::xbDbf}!PutLogicalField@{PutLogicalField}}
+\index{PutLogicalField@{PutLogicalField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutLogicalField()}{PutLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Logical\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put logical field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to update. \\
+\hline
+{\em s\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a423a0cb7bd252cedf956ace4954f275d}\label{classxb_1_1xbDbf_a423a0cb7bd252cedf956ace4954f275d}}
+\index{xb::xbDbf@{xb::xbDbf}!PutLogicalField@{PutLogicalField}}
+\index{PutLogicalField@{PutLogicalField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutLogicalField()}{PutLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Logical\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put logical field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to update. \\
+\hline
+{\em b\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a0692d1776a725c2f61d4c14677e9307c}\label{classxb_1_1xbDbf_a0692d1776a725c2f61d4c14677e9307c}}
+\index{xb::xbDbf@{xb::xbDbf}!PutLongField@{PutLongField}}
+\index{PutLongField@{PutLongField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutLongField()}{PutLongField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Long\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{xb\+Int32}]{l\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put long field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to update. \\
+\hline
+{\em l\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a56c8f924284bf88aabf90b7930b4eb47}\label{classxb_1_1xbDbf_a56c8f924284bf88aabf90b7930b4eb47}}
+\index{xb::xbDbf@{xb::xbDbf}!PutLongField@{PutLongField}}
+\index{PutLongField@{PutLongField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutLongField()}{PutLongField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Long\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{xb\+Int32}]{l\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put long field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to update. \\
+\hline
+{\em l\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a3c36a5ffbc7067a1abbcb526dd3b981d}\label{classxb_1_1xbDbf_a3c36a5ffbc7067a1abbcb526dd3b981d}}
+\index{xb::xbDbf@{xb::xbDbf}!PutRecord@{PutRecord}}
+\index{PutRecord@{PutRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutRecord()}{PutRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Write the current record to disk.
+
+This routine is used to write any updates to the current record buffer to disk.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_aacbc7bac3ea0c502ee75b838f4f0fcbf}\label{classxb_1_1xbDbf_aacbc7bac3ea0c502ee75b838f4f0fcbf}}
+\index{xb::xbDbf@{xb::xbDbf}!PutRecord@{PutRecord}}
+\index{PutRecord@{PutRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutRecord()}{PutRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Record (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Rec\+No }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Write record to disk.
+
+This routine is used to write a copy of the current record buffer to disk for a given record number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Rec\+No} & Record number to update. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_ac62cb97c4e678c83f41788b1ae4d0381}\label{classxb_1_1xbDbf_ac62cb97c4e678c83f41788b1ae4d0381}}
+\index{xb::xbDbf@{xb::xbDbf}!PutULongField@{PutULongField}}
+\index{PutULongField@{PutULongField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutULongField()}{PutULongField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+ULong\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{xb\+UInt32}]{ul\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put unsigned long field for field name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Field\+Name} & Name of field to update. \\
+\hline
+{\em ul\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_af5dec5c9ff903efffdb0490a44d296d2}\label{classxb_1_1xbDbf_af5dec5c9ff903efffdb0490a44d296d2}}
+\index{xb::xbDbf@{xb::xbDbf}!PutULongField@{PutULongField}}
+\index{PutULongField@{PutULongField}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{PutULongField()}{PutULongField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+ULong\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{xb\+UInt32}]{ul\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Put unsigned long field for field number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Field\+No} & Number of field to update. \\
+\hline
+{\em ul\+Field\+Value} & Field value. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The field routines return one of\+:~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
+XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
+ XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
+XB\+\_\+\+INVALID\+\_\+\+DATA
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_aa1bb80340abc7a5c22f87f878e9dc825}\label{classxb_1_1xbFile_aa1bb80340abc7a5c22f87f878e9dc825}}
+\index{xb::xbDbf@{xb::xbDbf}!ReadBlock@{ReadBlock}}
+\index{ReadBlock@{ReadBlock}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{ReadBlock()}{ReadBlock()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Read\+Block (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Block\+No, }\item[{size\+\_\+t}]{l\+Read\+Size, }\item[{void $\ast$}]{buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Read a block of data from file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Block\+No} & -\/ block number to read \\
+\hline
+{\em l\+Read\+Size} & -\/ size of data to read at block location, set to 0 to read blocksize \\
+\hline
+{\em $\ast$buf} & -\/ pointer to buffer to write output data, assumed to be previosuly allocated and large enough to contain data \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_aef696b1c4c0ef5338e818599f695d485}\label{classxb_1_1xbFile_aef696b1c4c0ef5338e818599f695d485}}
+\index{xb::xbDbf@{xb::xbDbf}!ReadBlock@{ReadBlock}}
+\index{ReadBlock@{ReadBlock}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{ReadBlock()}{ReadBlock()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Read\+Block (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Block\+No, }\item[{xb\+UInt32}]{ul\+Block\+Size, }\item[{size\+\_\+t}]{l\+Read\+Size, }\item[{void $\ast$}]{buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Read a block of data from file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Block\+No} & -\/ block number to read \\
+\hline
+{\em ul\+Block\+Size} & -\/ block size \\
+\hline
+{\em l\+Read\+Size} & -\/ size of data to read at block location, set to 0 to read blocksize \\
+\hline
+{\em buf} & -\/ pointer to buffer to write output data, assumed to be previosuly allocated and large enough to contain data \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a060541addb5bb1f0fe12959ed6f66fb9}\label{classxb_1_1xbDbf_a060541addb5bb1f0fe12959ed6f66fb9}}
+\index{xb::xbDbf@{xb::xbDbf}!ReadHeader@{ReadHeader}}
+\index{ReadHeader@{ReadHeader}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{ReadHeader()}{ReadHeader()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Read\+Header (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Position\+Option, }\item[{xb\+Int16}]{i\+Read\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
+
+
+
+Read dbf file header information.
+
+This method assumes the header has been locked appropriately in a multi user environment
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Position\+Option} & 0 -\/ Don\textquotesingle{}t fseek to beginning of file before read.~\newline
+ 1 -\/ Start from beginning of file.\\
+\hline
+{\em i\+Read\+Option} & 0 -\/ Read entire 32 byte header~\newline
+ 1 -\/ Read first eight bytes which includes the last update date and number of records.\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a94d7d626ba691fd4b740c034673e6fc6}\label{classxb_1_1xbDbf_a94d7d626ba691fd4b740c034673e6fc6}}
+\index{xb::xbDbf@{xb::xbDbf}!RecordDeleted@{RecordDeleted}}
+\index{RecordDeleted@{RecordDeleted}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{RecordDeleted()}{RecordDeleted()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Record\+Deleted (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Opt = {\ttfamily 0} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Return record deletion status.
+
+This routine returns the record deletion status.
+\begin{DoxyParams}{Parameters}
+{\em i\+Opt} & 0 = Current record buffer, 1 = Original record buffer \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Record deleted.~\newline
+xb\+False -\/ Record not deleted.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_aeeeb2eb5fabcd0f91d457df07b0e0708}\label{classxb_1_1xbDbf_aeeeb2eb5fabcd0f91d457df07b0e0708}}
+\index{xb::xbDbf@{xb::xbDbf}!Rename@{Rename}}
+\index{Rename@{Rename}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{Rename()}{Rename()}}
+{\footnotesize\ttfamily virtual xb\+Int16 xb\+::xb\+Dbf\+::\+Rename (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}}}]{s\+New\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a4cf7f0d423164f3cf074ae41f96f4e90}\label{classxb_1_1xbDbf_a4cf7f0d423164f3cf074ae41f96f4e90}}
+\index{xb::xbDbf@{xb::xbDbf}!SetAutoCommit@{SetAutoCommit}}
+\index{SetAutoCommit@{SetAutoCommit}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetAutoCommit()}{SetAutoCommit()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Set\+Auto\+Commit (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Auto\+Commit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Set auto commit.
+
+This routine sets the auto commit setting for this table. \begin{DoxyReturn}{Returns}
+XB\+\_\+\+NO\+\_\+\+ERROR;
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a991c5676a6f38fa752435390989f413e}\label{classxb_1_1xbFile_a991c5676a6f38fa752435390989f413e}}
+\index{xb::xbDbf@{xb::xbDbf}!SetBlockSize@{SetBlockSize}}
+\index{SetBlockSize@{SetBlockSize}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetBlockSize()}{SetBlockSize()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Set\+Block\+Size (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Block\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the block size.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Block\+Size} & -\/ unsigned long block size, divisible by 512 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}\label{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}}
+\index{xb::xbDbf@{xb::xbDbf}!SetDataDirectory@{SetDataDirectory}}
+\index{SetDataDirectory@{SetDataDirectory}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetDataDirectory()}{SetDataDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Data\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Data\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the data directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Data\+Directory} & Set the data directory. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}\label{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}}
+\index{xb::xbDbf@{xb::xbDbf}!SetDefaultAutoCommit@{SetDefaultAutoCommit}}
+\index{SetDefaultAutoCommit@{SetDefaultAutoCommit}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetDefaultAutoCommit()}{SetDefaultAutoCommit()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Auto\+Commit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Default\+Auto\+Commit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the default auto commit.
+
+Disabling auto commit requires the application execute explicit updates using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}\mbox{\hyperlink{classxb_1_1xbDbf_a5b412dd796241673eb1aa2c93513d69b}{Append\+Record()}}. With auto commit on, the library posts updates automatically when moving off the current record or closing a file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Default\+Auto\+Commit} & xb\+True -\/ Enable default auto commit.~\newline
+ xb\+False -\/ Disable default auto commit.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}\label{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}}
+\index{xb::xbDbf@{xb::xbDbf}!SetDefaultDateFormat@{SetDefaultDateFormat}}
+\index{SetDefaultDateFormat@{SetDefaultDateFormat}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetDefaultDateFormat()}{SetDefaultDateFormat()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Date\+Format (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Default\+Date\+Format }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the default date format.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Default\+Date\+Format} & Set the default date format. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_ae78a85255488bc78964c16946dbaead3}\label{classxb_1_1xbFile_ae78a85255488bc78964c16946dbaead3}}
+\index{xb::xbDbf@{xb::xbDbf}!SetDirectory@{SetDirectory}}
+\index{SetDirectory@{SetDirectory}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetDirectory()}{SetDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::\+Set\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Directory} & -\/ Valid directory name \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}\label{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}}
+\index{xb::xbDbf@{xb::xbDbf}!SetEndianType@{SetEndianType}}
+\index{SetEndianType@{SetEndianType}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetEndianType()}{SetEndianType()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+
+
+Set the endian type.
+
+This routine determines the Endian-\/ness at run time instead of compile time as some processers (ie; Sparc,ARM) can be switched either way. This routine is called automatically by the library at startup and does not need to be called in an application program. \mbox{\Hypertarget{classxb_1_1xbFile_a5419eb27e56822f828b2b88a9502a636}\label{classxb_1_1xbFile_a5419eb27e56822f828b2b88a9502a636}}
+\index{xb::xbDbf@{xb::xbDbf}!SetFileName@{SetFileName}}
+\index{SetFileName@{SetFileName}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetFileName()}{SetFileName()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::\+Set\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the filename.
+
+This routine builds out two internal variables from the input file name~\newline
+ s\+File\+Name -\/ the file name part~\newline
+ s\+Fq\+File\+Name -\/ the fully qualified file name~\newline
+
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ Input file name \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_aee832fa11db2077a532f49e1329bd05a}\label{classxb_1_1xbFile_aee832fa11db2077a532f49e1329bd05a}}
+\index{xb::xbDbf@{xb::xbDbf}!SetFqFileName@{SetFqFileName}}
+\index{SetFqFileName@{SetFqFileName}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetFqFileName()}{SetFqFileName()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::\+Set\+Fq\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Fq\+File\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the fully qualifed filename.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Fq\+File\+Name} & -\/ Fully qualifed input file name \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_a060acbfaa8d528f86cb59301814b414a}\label{classxb_1_1xbFile_a060acbfaa8d528f86cb59301814b414a}}
+\index{xb::xbDbf@{xb::xbDbf}!SetHomeFolders@{SetHomeFolders}}
+\index{SetHomeFolders@{SetHomeFolders}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetHomeFolders()}{SetHomeFolders()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Set\+Home\+Folders (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set Home Folders.
+
+Create xbase64 log, data and temp folders in the home directory for current usre.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}\label{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}}
+\index{xb::xbDbf@{xb::xbDbf}!SetLogDirectory@{SetLogDirectory}}
+\index{SetLogDirectory@{SetLogDirectory}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetLogDirectory()}{SetLogDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}\label{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}}
+\index{xb::xbDbf@{xb::xbDbf}!SetLogFileName@{SetLogFileName}}
+\index{SetLogFileName@{SetLogFileName}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetLogFileName()}{SetLogFileName()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+File\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}\label{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}}
+\index{xb::xbDbf@{xb::xbDbf}!SetMultiUser@{SetMultiUser}}
+\index{SetMultiUser@{SetMultiUser}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetMultiUser()}{SetMultiUser()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Multi\+User (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Multi\+User }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the multi user setting.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Multi\+User} & xb\+True -\/ Turn on Multi user mode.~\newline
+ xb\+False -\/ Turn off Multi user mode.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}\label{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}}
+\index{xb::xbDbf@{xb::xbDbf}!SetTempDirectory@{SetTempDirectory}}
+\index{SetTempDirectory@{SetTempDirectory}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetTempDirectory()}{SetTempDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Temp\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Temp\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the temp directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Temp\+Directory} & Set the data direcroty. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a7e63e852418f337eb7c44de5dcd50323}\label{classxb_1_1xbDbf_a7e63e852418f337eb7c44de5dcd50323}}
+\index{xb::xbDbf@{xb::xbDbf}!SetVersion@{SetVersion}}
+\index{SetVersion@{SetVersion}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SetVersion()}{SetVersion()}}
+{\footnotesize\ttfamily virtual xb\+Int16 xb\+::xb\+Dbf\+::\+Set\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_ae94cb1bf9f75184f39d9e1a80ab49d4a}\label{classxb_1_1xbDbf_ae94cb1bf9f75184f39d9e1a80ab49d4a}}
+\index{xb::xbDbf@{xb::xbDbf}!UndeleteAllRecords@{UndeleteAllRecords}}
+\index{UndeleteAllRecords@{UndeleteAllRecords}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{UndeleteAllRecords()}{UndeleteAllRecords()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Undelete\+All\+Records (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Set auto lock.
+
+This routine sets the auto lock setting for this table. There is an overall system level auto lock default setting and each table can have it\textquotesingle{}s own autolock setting. This method controls the table level auto lock setting.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Auto\+Lock} & 1 -\/ Use auto lock for this table.~\newline
+ 0 -\/ Don\textquotesingle{}t use auto lock for this table.~\newline
+ -\/1 -\/ (minus one) Use system default.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+Set the header locked status.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Header\+Locked} & xb\+True -\/ Locked~\newline
+xb\+False -\/ Not locked. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+void
+\end{DoxyReturn}
+Set lock flavor.
+
+This routine is for future expansion.
+\begin{DoxyParams}{Parameters}
+{\em i\+Lock\+Flavor} & 1 -\/ Use Dbase (tm) style locking. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+void
+\end{DoxyReturn}
+Set table locked status.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Table\+Locked} & -\/ xb\+True Table locked.~\newline
+xb\+False Table unlocked. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+void
+\end{DoxyReturn}
+Undelete all records.
+
+This routine will remove the deletion flag on any deleted records in the table. \begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a255681976a04fc722538bb630507b3a0}\label{classxb_1_1xbDbf_a255681976a04fc722538bb630507b3a0}}
+\index{xb::xbDbf@{xb::xbDbf}!UndeleteRecord@{UndeleteRecord}}
+\index{UndeleteRecord@{UndeleteRecord}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{UndeleteRecord()}{UndeleteRecord()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Undelete\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Undelete one record.
+
+This routine will undelete the current record, if it is deleted. \begin{DoxyReturn}{Returns}
+XB\+\_\+\+NO\+\_\+\+ERROR~\newline
+XB\+\_\+\+INVALID\+\_\+\+RECORD
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_aba5dcac3b4092261bc1669740cdd669d}\label{classxb_1_1xbDbf_aba5dcac3b4092261bc1669740cdd669d}}
+\index{xb::xbDbf@{xb::xbDbf}!ValidateSchema@{ValidateSchema}}
+\index{ValidateSchema@{ValidateSchema}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{ValidateSchema()}{ValidateSchema()}}
+{\footnotesize\ttfamily virtual xb\+Int16 xb\+::xb\+Dbf\+::\+Validate\+Schema (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} $\ast$}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}}
+
+\mbox{\Hypertarget{classxb_1_1xbFile_a5d871dcfecc2b4338f7a13722aab766c}\label{classxb_1_1xbFile_a5d871dcfecc2b4338f7a13722aab766c}}
+\index{xb::xbDbf@{xb::xbDbf}!WriteBlock@{WriteBlock}}
+\index{WriteBlock@{WriteBlock}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{WriteBlock()}{WriteBlock()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Write\+Block (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Block\+No, }\item[{size\+\_\+t}]{l\+Write\+Size, }\item[{void $\ast$}]{buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Write a block of data to file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Block\+No} & -\/ block number to write \\
+\hline
+{\em l\+Write\+Size} & -\/ size of data to write, set to 0 to write blocksize \\
+\hline
+{\em $\ast$buf} & -\/ pointer to buffer of data to be written \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a44e1410109ef7b3d11a6af4b704b62b2}\label{classxb_1_1xbDbf_a44e1410109ef7b3d11a6af4b704b62b2}}
+\index{xb::xbDbf@{xb::xbDbf}!WriteHeader@{WriteHeader}}
+\index{WriteHeader@{WriteHeader}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{WriteHeader()}{WriteHeader()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Write\+Header (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Position\+Option, }\item[{xb\+Int16}]{i\+Write\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbFile_a18830b5755d74818f60d9c7ce38ddf2d}\label{classxb_1_1xbFile_a18830b5755d74818f60d9c7ce38ddf2d}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFclose@{xbFclose}}
+\index{xbFclose@{xbFclose}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFclose()}{xbFclose()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fclose (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fclose.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_af5b6356832d2a67212070a1aa605f170}\label{classxb_1_1xbFile_af5b6356832d2a67212070a1aa605f170}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFeof@{xbFeof}}
+\index{xbFeof@{xbFeof}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFeof()}{xbFeof()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Feof (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary feof.
+
+\begin{DoxyReturn}{Returns}
+non zero if end-\/of-\/file is set for the stream.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ad205184d43409f04216540ae22f15009}\label{classxb_1_1xbFile_ad205184d43409f04216540ae22f15009}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFflush@{xbFflush}}
+\index{xbFflush@{xbFflush}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFflush()}{xbFflush()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fflush (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fflush.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a5ee229bda4d7d6695e122200e581e7a6}\label{classxb_1_1xbFile_a5ee229bda4d7d6695e122200e581e7a6}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFgetc@{xbFgetc}}
+\index{xbFgetc@{xbFgetc}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFgetc()}{xbFgetc()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fgetc (\begin{DoxyParamCaption}\item[{char \&}]{c }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fgetc.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & -\/ output character returned by fgetc \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_afb1c584d2895ffb7834df80aea7eb1e4}\label{classxb_1_1xbFile_afb1c584d2895ffb7834df80aea7eb1e4}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFgetc@{xbFgetc}}
+\index{xbFgetc@{xbFgetc}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFgetc()}{xbFgetc()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fgetc (\begin{DoxyParamCaption}\item[{xb\+Int32 \&}]{c }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fgetc.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & -\/ output integer returned by fgetc \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ad245955ace26e5dde85fd4373b30d026}\label{classxb_1_1xbFile_ad245955ace26e5dde85fd4373b30d026}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFgets@{xbFgets}}
+\index{xbFgets@{xbFgets}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFgets()}{xbFgets()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fgets (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{l\+Size, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fgets.
+
+
+\begin{DoxyParams}{Parameters}
+{\em l\+Size} & -\/ reads in at most, one character less than l\+Size \\
+\hline
+{\em s} & -\/ an \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing data returned by fseek \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ab0fa19686ca8953ff4b556fb5b249135}\label{classxb_1_1xbFile_ab0fa19686ca8953ff4b556fb5b249135}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFopen@{xbFopen}}
+\index{xbFopen@{xbFopen}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFopen()}{xbFopen()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fopen (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Open\+Mode, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name, }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fopen.
+
+This routine supports all the standard C library open modes. The Xbase routines only use \char`\"{}r\char`\"{} and \char`\"{}r+b\char`\"{}.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Open\+Mode} & {\begin{tabularx}{\linewidth}{|*{2}{>{\raggedright\arraybackslash}X|}}\hline
+\cellcolor{\tableheadbgcolor}\textbf{ Open\+Mode}&\cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-2}
+r&Reading \\\cline{1-2}
+r+&Reading and Writing \\\cline{1-2}
+w&Open for writing. Truncate to zero bytes if it exists \\\cline{1-2}
+w+&Open for reading and writing, truncate to zero bytes if it exists \\\cline{1-2}
+a&Open for append \\\cline{1-2}
+a+&Open for reading and writing (at end). \\\cline{1-2}
+\end{tabularx}}
+The mode can also include the letter \char`\"{}b\char`\"{} for binary ie; \char`\"{}r+b\char`\"{}. The \char`\"{}b\char`\"{} is ignored on POSIX compliant systems, but is included for cross platform compatibility. \\
+\hline
+{\em s\+File\+Name} & File name to open \\
+\hline
+{\em i\+Share\+Mode} & XB\+\_\+\+SINGLE\+\_\+\+USER~\newline
+ XB\+\_\+\+MULTI\+\_\+\+USER~\newline
+ \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a0548cedf0f26b7d8ac221f75b0cd048c}\label{classxb_1_1xbFile_a0548cedf0f26b7d8ac221f75b0cd048c}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFopen@{xbFopen}}
+\index{xbFopen@{xbFopen}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFopen()}{xbFopen()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fopen (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Open\+Mode, }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fopen.
+
+This routine supports all the standard C library open modes. The Xbase routines only use \char`\"{}r\char`\"{} and \char`\"{}r+\char`\"{}.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Open\+Mode} & {\begin{tabularx}{\linewidth}{|*{2}{>{\raggedright\arraybackslash}X|}}\hline
+\cellcolor{\tableheadbgcolor}\textbf{ Open\+Mode}&\cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-2}
+r&Reading \\\cline{1-2}
+r+&Reading and Writing \\\cline{1-2}
+w&Open for writing. Truncate to zero bytes if it exists \\\cline{1-2}
+w+&Open for reading and writing, truncate to zero bytes if it exists \\\cline{1-2}
+a&Open for append \\\cline{1-2}
+a+&Open for reading and writing (at end). \\\cline{1-2}
+\end{tabularx}}
+The mode can also include the letter \char`\"{}b\char`\"{} for binary ie; \char`\"{}r+b\char`\"{}. The \char`\"{}b\char`\"{} is ignored on POSIX compliant systems, but is included for cross platform compatibility. \\
+\hline
+{\em i\+Share\+Mode} & XB\+\_\+\+SINGLE\+\_\+\+USER~\newline
+ XB\+\_\+\+MULTI\+\_\+\+USER~\newline
+ \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a7cdfef5ede9ac98d44a28a6b7a70972c}\label{classxb_1_1xbFile_a7cdfef5ede9ac98d44a28a6b7a70972c}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFopen@{xbFopen}}
+\index{xbFopen@{xbFopen}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFopen()}{xbFopen()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fopen (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Open\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbFile_aabd113333b49c36cad23244b392baab4}\label{classxb_1_1xbFile_aabd113333b49c36cad23244b392baab4}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFopen@{xbFopen}}
+\index{xbFopen@{xbFopen}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFopen()}{xbFopen()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fopen (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Open\+Mode, }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fopen.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Open\+Mode} & XB\+\_\+\+READ~\newline
+ XB\+\_\+\+READ\+\_\+\+WRITE~\newline
+ \\
+\hline
+{\em i\+Share\+Mode} & XB\+\_\+\+SINGLE\+\_\+\+USER~\newline
+ XB\+\_\+\+MULTI\+\_\+\+USER~\newline
+ \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_af2e940c78956e5cb6824f9a1bc404896}\label{classxb_1_1xbFile_af2e940c78956e5cb6824f9a1bc404896}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFputc@{xbFputc}}
+\index{xbFputc@{xbFputc}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFputc()}{xbFputc()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fputc (\begin{DoxyParamCaption}\item[{xb\+Int32}]{c }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fputc.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Character to write \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a863f74cf17df8186d88586b4d2a6441a}\label{classxb_1_1xbFile_a863f74cf17df8186d88586b4d2a6441a}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFputc@{xbFputc}}
+\index{xbFputc@{xbFputc}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFputc()}{xbFputc()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fputc (\begin{DoxyParamCaption}\item[{xb\+Int32}]{c, }\item[{xb\+Int32}]{i\+No\+Of\+Times }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fputc.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Character to write \\
+\hline
+{\em i\+No\+Of\+Times} & Number of times to write the character \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a698f3b40216778562e639e6ca1a47573}\label{classxb_1_1xbFile_a698f3b40216778562e639e6ca1a47573}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFputs@{xbFputs}}
+\index{xbFputs@{xbFputs}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFputs()}{xbFputs()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fputs (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fputs.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} to write to file \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ab4f6afaa1f77539f27a4f05c26e54e2f}\label{classxb_1_1xbFile_ab4f6afaa1f77539f27a4f05c26e54e2f}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFread@{xbFread}}
+\index{xbFread@{xbFread}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFread()}{xbFread()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fread (\begin{DoxyParamCaption}\item[{void $\ast$}]{p, }\item[{size\+\_\+t}]{size, }\item[{size\+\_\+t}]{nmemb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fread.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & Pointer to data to write \\
+\hline
+{\em size} & size of write \\
+\hline
+{\em nmemb} & Number of times to read it \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a5337ab8918df240910c0d19b4f298e3d}\label{classxb_1_1xbFile_a5337ab8918df240910c0d19b4f298e3d}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFseek@{xbFseek}}
+\index{xbFseek@{xbFseek}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFseek()}{xbFseek()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fseek (\begin{DoxyParamCaption}\item[{xb\+Int64}]{l\+Offset, }\item[{xb\+Int32}]{i\+Whence }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fseek.
+
+
+\begin{DoxyParams}{Parameters}
+{\em l\+Offset} & Position in file to seek to \\
+\hline
+{\em i\+Whence} & SEEK\+\_\+\+SET -\/ from beginning of file~\newline
+ SEEK\+\_\+\+CUR -\/ from current position~\newline
+ SEEK\+\_\+\+END -\/ from end of file~\newline
+ \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a0e1c06aedfa7fbcb92e117f891edd13b}\label{classxb_1_1xbFile_a0e1c06aedfa7fbcb92e117f891edd13b}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFtell@{xbFtell}}
+\index{xbFtell@{xbFtell}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFtell()}{xbFtell()}}
+{\footnotesize\ttfamily size\+\_\+t xb\+::xb\+File\+::xb\+Ftell (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary ftell.
+
+Returns the current file position. \begin{DoxyReturn}{Returns}
+Current file position.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a9891b792f585a696f38a5cf959e30918}\label{classxb_1_1xbFile_a9891b792f585a696f38a5cf959e30918}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFTurnOffFileBuffering@{xbFTurnOffFileBuffering}}
+\index{xbFTurnOffFileBuffering@{xbFTurnOffFileBuffering}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFTurnOffFileBuffering()}{xbFTurnOffFileBuffering()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::xb\+FTurn\+Off\+File\+Buffering (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Turn off file buffering.
+
+Turns off file buffering. File buffering can\textquotesingle{}t be used while in multi user mode. \mbox{\Hypertarget{classxb_1_1xbFile_a6aadd871d1782944703fed773d44b85f}\label{classxb_1_1xbFile_a6aadd871d1782944703fed773d44b85f}}
+\index{xb::xbDbf@{xb::xbDbf}!xbFwrite@{xbFwrite}}
+\index{xbFwrite@{xbFwrite}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbFwrite()}{xbFwrite()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fwrite (\begin{DoxyParamCaption}\item[{const void $\ast$}]{p, }\item[{size\+\_\+t}]{size, }\item[{size\+\_\+t}]{nmemb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for standard libary fwrite.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & Pointer to data buffer to write \\
+\hline
+{\em size} & Size of data to write \\
+\hline
+{\em nmemb} & Number of times to write data buffer \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a08463f506f425c2385acbe1a561506e9}\label{classxb_1_1xbFile_a08463f506f425c2385acbe1a561506e9}}
+\index{xb::xbDbf@{xb::xbDbf}!xbReadUntil@{xbReadUntil}}
+\index{xbReadUntil@{xbReadUntil}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbReadUntil()}{xbReadUntil()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Read\+Until (\begin{DoxyParamCaption}\item[{const char}]{c\+Delim, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Read file until a particular character is encountered on input stream.
+
+This routine will read until c\+Delim is encountered or eof, which ever occurs first.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c\+Delim} & Delimiter to stop writing at. \\
+\hline
+{\em s\+Out} & Output \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing data read \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ab3c668a8570433188382d31d7c60bd48}\label{classxb_1_1xbFile_ab3c668a8570433188382d31d7c60bd48}}
+\index{xb::xbDbf@{xb::xbDbf}!xbRemove@{xbRemove}}
+\index{xbRemove@{xbRemove}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbRemove()}{xbRemove()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Remove (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Delete file.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a58f6a6751fdf7e9549c273bb75d93eb5}\label{classxb_1_1xbFile_a58f6a6751fdf7e9549c273bb75d93eb5}}
+\index{xb::xbDbf@{xb::xbDbf}!xbRemove@{xbRemove}}
+\index{xbRemove@{xbRemove}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbRemove()}{xbRemove()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Remove (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+In }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Delete file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name\+In} & Name of file to delete \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a6d919366c2ec95e529906bf8842cbf07}\label{classxb_1_1xbFile_a6d919366c2ec95e529906bf8842cbf07}}
+\index{xb::xbDbf@{xb::xbDbf}!xbRemove@{xbRemove}}
+\index{xbRemove@{xbRemove}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbRemove()}{xbRemove()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Remove (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+In, }\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Delete file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name\+In} & Name of file to delete \\
+\hline
+{\em i\+Option} & If Set to 1, assume this is a delete request for a dbf file, and should rename the dbt file also \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_afc8ce113aa72611a278233f9bb170012}\label{classxb_1_1xbFile_afc8ce113aa72611a278233f9bb170012}}
+\index{xb::xbDbf@{xb::xbDbf}!xbRename@{xbRename}}
+\index{xbRename@{xbRename}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbRename()}{xbRename()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Rename (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Old\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+New\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Rename file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Old\+Name} & Original file name \\
+\hline
+{\em s\+New\+Name} & New file name \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a7996b6e084665c37c3892faea64b3505}\label{classxb_1_1xbFile_a7996b6e084665c37c3892faea64b3505}}
+\index{xb::xbDbf@{xb::xbDbf}!xbRewind@{xbRewind}}
+\index{xbRewind@{xbRewind}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbRewind()}{xbRewind()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::xb\+Rewind (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for rewind.
+
+Set file pointer at beginning of file. \mbox{\Hypertarget{classxb_1_1xbFile_a518bfcbfa3699d883cf89affee383296}\label{classxb_1_1xbFile_a518bfcbfa3699d883cf89affee383296}}
+\index{xb::xbDbf@{xb::xbDbf}!xbTruncate@{xbTruncate}}
+\index{xbTruncate@{xbTruncate}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbTruncate()}{xbTruncate()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Truncate (\begin{DoxyParamCaption}\item[{xb\+Int64}]{ll\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Xbase wrapper for ftruncate.
+
+Set file size to ll\+Size
+\begin{DoxyParams}{Parameters}
+{\em ll\+Size} & New file size. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a8ed0693b10b95aaa4e46037758d160ed}\label{classxb_1_1xbDbf_a8ed0693b10b95aaa4e46037758d160ed}}
+\index{xb::xbDbf@{xb::xbDbf}!Zap@{Zap}}
+\index{Zap@{Zap}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{Zap()}{Zap()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Zap (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
+
+
+
+Zap (remove) everything from the file,.
+
+This routine eliminates everything from the dbf file and dbt memo file. \begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+
+
+\doxysubsection{Field Documentation}
+\mbox{\Hypertarget{classxb_1_1xbDbf_a8734e799707582f022fc341d515650f4}\label{classxb_1_1xbDbf_a8734e799707582f022fc341d515650f4}}
+\index{xb::xbDbf@{xb::xbDbf}!cEncryptionFlag@{cEncryptionFlag}}
+\index{cEncryptionFlag@{cEncryptionFlag}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{cEncryptionFlag}{cEncryptionFlag}}
+{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Encryption\+Flag\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_ad59074633641e03647e54d2b66c9102b}\label{classxb_1_1xbDbf_ad59074633641e03647e54d2b66c9102b}}
+\index{xb::xbDbf@{xb::xbDbf}!cIndexFlag@{cIndexFlag}}
+\index{cIndexFlag@{cIndexFlag}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{cIndexFlag}{cIndexFlag}}
+{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Index\+Flag\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1}\label{classxb_1_1xbDbf_aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1}}
+\index{xb::xbDbf@{xb::xbDbf}!cLangDriver@{cLangDriver}}
+\index{cLangDriver@{cLangDriver}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{cLangDriver}{cLangDriver}}
+{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Lang\+Driver\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_ac3c89fc3bc6a6abf385478a8adbed970}\label{classxb_1_1xbDbf_ac3c89fc3bc6a6abf385478a8adbed970}}
+\index{xb::xbDbf@{xb::xbDbf}!cTransactionFlag@{cTransactionFlag}}
+\index{cTransactionFlag@{cTransactionFlag}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{cTransactionFlag}{cTransactionFlag}}
+{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Transaction\+Flag\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a6021789d314cd41488991e708fcd0df2}\label{classxb_1_1xbDbf_a6021789d314cd41488991e708fcd0df2}}
+\index{xb::xbDbf@{xb::xbDbf}!cUpdateDD@{cUpdateDD}}
+\index{cUpdateDD@{cUpdateDD}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{cUpdateDD}{cUpdateDD}}
+{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Update\+DD\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a9340a5e8ee53eb0f3b6601eec2d71e1b}\label{classxb_1_1xbDbf_a9340a5e8ee53eb0f3b6601eec2d71e1b}}
+\index{xb::xbDbf@{xb::xbDbf}!cUpdateMM@{cUpdateMM}}
+\index{cUpdateMM@{cUpdateMM}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{cUpdateMM}{cUpdateMM}}
+{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Update\+MM\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a4fcd6a86ddd32d4a9d76a4074573440a}\label{classxb_1_1xbDbf_a4fcd6a86ddd32d4a9d76a4074573440a}}
+\index{xb::xbDbf@{xb::xbDbf}!cUpdateYY@{cUpdateYY}}
+\index{cUpdateYY@{cUpdateYY}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{cUpdateYY}{cUpdateYY}}
+{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Update\+YY\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a3a262abf658e5fa968b57ef457a69470}\label{classxb_1_1xbDbf_a3a262abf658e5fa968b57ef457a69470}}
+\index{xb::xbDbf@{xb::xbDbf}!cVersion@{cVersion}}
+\index{cVersion@{cVersion}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{cVersion}{cVersion}}
+{\footnotesize\ttfamily unsigned char xb\+::xb\+Dbf\+::c\+Version\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}\label{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}}
+\index{xb::xbDbf@{xb::xbDbf}!ErrorCodeText@{ErrorCodeText}}
+\index{ErrorCodeText@{ErrorCodeText}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{ErrorCodeText}{ErrorCodeText}}
+{\footnotesize\ttfamily const char$\ast$ xb\+::xb\+Ssv\+::\+Error\+Code\+Text\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_ab506450954bc86e7bf1d7c4efe681f43}\label{classxb_1_1xbDbf_ab506450954bc86e7bf1d7c4efe681f43}}
+\index{xb::xbDbf@{xb::xbDbf}!iAutoCommit@{iAutoCommit}}
+\index{iAutoCommit@{iAutoCommit}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{iAutoCommit}{iAutoCommit}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::i\+Auto\+Commit\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a6d8e193da3ca414eef1e8866ec5ca81b}\label{classxb_1_1xbDbf_a6d8e193da3ca414eef1e8866ec5ca81b}}
+\index{xb::xbDbf@{xb::xbDbf}!iDbfStatus@{iDbfStatus}}
+\index{iDbfStatus@{iDbfStatus}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{iDbfStatus}{iDbfStatus}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::i\+Dbf\+Status\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}\label{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}}
+\index{xb::xbDbf@{xb::xbDbf}!iEndianType@{iEndianType}}
+\index{iEndianType@{iEndianType}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{iEndianType}{iEndianType}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::i\+Endian\+Type = 0\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a15f495446f0d75bcf2fa89e3b699d388}\label{classxb_1_1xbDbf_a15f495446f0d75bcf2fa89e3b699d388}}
+\index{xb::xbDbf@{xb::xbDbf}!iFileVersion@{iFileVersion}}
+\index{iFileVersion@{iFileVersion}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{iFileVersion}{iFileVersion}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::i\+File\+Version\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a5056757614c39f725cc775332494966a}\label{classxb_1_1xbDbf_a5056757614c39f725cc775332494966a}}
+\index{xb::xbDbf@{xb::xbDbf}!iNoOfFields@{iNoOfFields}}
+\index{iNoOfFields@{iNoOfFields}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{iNoOfFields}{iNoOfFields}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::i\+No\+Of\+Fields\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a8a9b3bce0b741e73473d3ebbd6e6f1cd}\label{classxb_1_1xbDbf_a8a9b3bce0b741e73473d3ebbd6e6f1cd}}
+\index{xb::xbDbf@{xb::xbDbf}!RecBuf@{RecBuf}}
+\index{RecBuf@{RecBuf}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{RecBuf}{RecBuf}}
+{\footnotesize\ttfamily char$\ast$ xb\+::xb\+Dbf\+::\+Rec\+Buf\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a353ebfc8a2960ef827f429ec74025606}\label{classxb_1_1xbDbf_a353ebfc8a2960ef827f429ec74025606}}
+\index{xb::xbDbf@{xb::xbDbf}!RecBuf2@{RecBuf2}}
+\index{RecBuf2@{RecBuf2}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{RecBuf2}{RecBuf2}}
+{\footnotesize\ttfamily char$\ast$ xb\+::xb\+Dbf\+::\+Rec\+Buf2\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a73f9c792d0a769e2e604c1855245a276}\label{classxb_1_1xbDbf_a73f9c792d0a769e2e604c1855245a276}}
+\index{xb::xbDbf@{xb::xbDbf}!sAlias@{sAlias}}
+\index{sAlias@{sAlias}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{sAlias}{sAlias}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+Dbf\+::s\+Alias\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_ad8c8b5eb12063bb898da1b2cc02cfce7}\label{classxb_1_1xbDbf_ad8c8b5eb12063bb898da1b2cc02cfce7}}
+\index{xb::xbDbf@{xb::xbDbf}!SchemaPtr@{SchemaPtr}}
+\index{SchemaPtr@{SchemaPtr}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{SchemaPtr}{SchemaPtr}}
+{\footnotesize\ttfamily xb\+Schema\+Rec$\ast$ xb\+::xb\+Dbf\+::\+Schema\+Ptr\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}\label{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}}
+\index{xb::xbDbf@{xb::xbDbf}!sNullString@{sNullString}}
+\index{sNullString@{sNullString}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{sNullString}{sNullString}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+Ssv\+::s\+Null\+String = \char`\"{}\char`\"{}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a62f5fa9149ae0f6dc75642823de66918}\label{classxb_1_1xbDbf_a62f5fa9149ae0f6dc75642823de66918}}
+\index{xb::xbDbf@{xb::xbDbf}!uiHeaderLen@{uiHeaderLen}}
+\index{uiHeaderLen@{uiHeaderLen}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{uiHeaderLen}{uiHeaderLen}}
+{\footnotesize\ttfamily xb\+UInt16 xb\+::xb\+Dbf\+::ui\+Header\+Len\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_a1760e222567e2c849f9c799b9d896e91}\label{classxb_1_1xbDbf_a1760e222567e2c849f9c799b9d896e91}}
+\index{xb::xbDbf@{xb::xbDbf}!uiRecordLen@{uiRecordLen}}
+\index{uiRecordLen@{uiRecordLen}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{uiRecordLen}{uiRecordLen}}
+{\footnotesize\ttfamily xb\+UInt16 xb\+::xb\+Dbf\+::ui\+Record\+Len\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_afcd99924606be0a9e1e25180bcd1abf8}\label{classxb_1_1xbDbf_afcd99924606be0a9e1e25180bcd1abf8}}
+\index{xb::xbDbf@{xb::xbDbf}!ulCurRec@{ulCurRec}}
+\index{ulCurRec@{ulCurRec}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{ulCurRec}{ulCurRec}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+Dbf\+::ul\+Cur\+Rec\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbDbf_acb594ab61dd35b17bdf28394083f8e87}\label{classxb_1_1xbDbf_acb594ab61dd35b17bdf28394083f8e87}}
+\index{xb::xbDbf@{xb::xbDbf}!ulNoOfRecs@{ulNoOfRecs}}
+\index{ulNoOfRecs@{ulNoOfRecs}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{ulNoOfRecs}{ulNoOfRecs}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+Dbf\+::ul\+No\+Of\+Recs\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbFile_ae39a67ea391b46055d4ca299cb222004}\label{classxb_1_1xbFile_ae39a67ea391b46055d4ca299cb222004}}
+\index{xb::xbDbf@{xb::xbDbf}!xbase@{xbase}}
+\index{xbase@{xbase}!xb::xbDbf@{xb::xbDbf}}
+\doxysubsubsection{\texorpdfstring{xbase}{xbase}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}}$\ast$ xb\+::xb\+File\+::xbase\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbdbf_8h}{xbdbf.\+h}}\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbdbf_8cpp}{xbdbf.\+cpp}}\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbfields_8cpp}{xbfields.\+cpp}}\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbFile.eps b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbFile.eps
new file mode 100644
index 0000000..defac03
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbFile.eps
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 821.917786
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.608333 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text 'arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col 'arg1' to 'arg2' of row 'arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(xb::xbFile) cw
+(xb::xbSsv) cw
+(xb::xbDbf) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (xb::xbFile) 0.000000 1.000000 box
+ (xb::xbSsv) 0.000000 2.000000 box
+ (xb::xbDbf) 0.000000 0.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 1.000000 out
+solid
+1 0.000000 2.000000 in
+solid
+1 0.000000 0.250000 out
+solid
+0 0.000000 0.750000 in
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbFile.pdf b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbFile.pdf
new file mode 100644
index 0000000..11aea00
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbFile.pdf
Binary files differ
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbFile.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbFile.tex
new file mode 100644
index 0000000..e5e63ad
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbFile.tex
@@ -0,0 +1,1953 @@
+\hypertarget{classxb_1_1xbFile}{}\doxysection{xb\+::xb\+File Class Reference}
+\label{classxb_1_1xbFile}\index{xb::xbFile@{xb::xbFile}}
+
+
+Class for handling low level file I/O.
+
+
+
+
+{\ttfamily \#include $<$xbfile.\+h$>$}
+
+Inheritance diagram for xb\+::xb\+File\+:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3.000000cm]{classxb_1_1xbFile}
+\end{center}
+\end{figure}
+\doxysubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\hyperlink{classxb_1_1xbFile_a869eedd74c6eddc308852eb546c87176}{xb\+File}} (\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$x)
+\begin{DoxyCompactList}\small\item\em Class Constructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbFile_a491f6c48076e89da2e791a42b2727a90}{$\sim$xb\+File}} ()
+\begin{DoxyCompactList}\small\item\em Class Destructor. \end{DoxyCompactList}\item
+const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbFile_acd0fb2166b2bff7e8a1cf65a7bc8be1e}{Get\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the directory name. \end{DoxyCompactList}\item
+const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbFile_ac95cb882ccbcdedc9a233c6ad9fed07a}{Get\+File\+Name}} () const
+\begin{DoxyCompactList}\small\item\em Get the file name. \end{DoxyCompactList}\item
+const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbFile_a31b4e641f93206ba23e2a5a27491dcd4}{Get\+Fq\+File\+Name}} () const
+\begin{DoxyCompactList}\small\item\em Get the fully qualified file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ad39797624a752b9d62533d00fad9feff}{Create\+Unique\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Dir\+In, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Ext\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fqn\+Out, xb\+Int16 i\+Option=0)
+\begin{DoxyCompactList}\small\item\em Create a unique file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ae2b6ac26018dc28f77afbb3f008c3f66}{Determine\+Xbase\+Table\+Version}} (unsigned char c\+File\+Type\+Byte) const
+\begin{DoxyCompactList}\small\item\em Determine xbase dbf version. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5a740033664c9ad2611c90e2a6d0c2d3}{Determine\+Xbase\+Memo\+Version}} (unsigned char c\+File\+Type\+Byte) const
+\begin{DoxyCompactList}\small\item\em Determine which version the memo (dbt) file is. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \mbox{\hyperlink{classxb_1_1xbFile_ab14e4a11427f5efb81cba1dd32bd1aa1}{e\+Get\+Double}} (const char $\ast$p) const
+\begin{DoxyCompactList}\small\item\em Get a portable double value. \end{DoxyCompactList}\item
+xb\+Int32 \mbox{\hyperlink{classxb_1_1xbFile_a60b24a5afc984c586bf384c7e915ba0d}{e\+Get\+Int32}} (const char $\ast$p) const
+\begin{DoxyCompactList}\small\item\em Get a portable long value. \end{DoxyCompactList}\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbFile_a78f052529d39a18deaface5a0d47d0b0}{e\+Get\+UInt32}} (const char $\ast$p) const
+\begin{DoxyCompactList}\small\item\em Get a portable unsigned long value. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ac40c991110ddc6fb30a72d90f4652762}{e\+Get\+Int16}} (const char $\ast$p) const
+\begin{DoxyCompactList}\small\item\em Get a portable short value. \end{DoxyCompactList}\item
+xb\+UInt16 \mbox{\hyperlink{classxb_1_1xbFile_a936ade458e6d5e6d29f9b5031888d189}{e\+Get\+UInt16}} (const char $\ast$p) const
+\begin{DoxyCompactList}\small\item\em Get a portable unsigned short value. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a98b6ff533ae93f90c977a2ba23eeb105}{e\+Put\+Double}} (char $\ast$p, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} d)
+\begin{DoxyCompactList}\small\item\em Write a portable double value to memory location. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a19c37f76a2ccbb45019cb0fc373d3f46}{e\+Put\+Int32}} (char $\ast$p, xb\+Int32 l)
+\begin{DoxyCompactList}\small\item\em Write a portable long value to memory location. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_aa3f6ceae4b96f24875d86848bf13a173}{e\+Put\+UInt32}} (char $\ast$p, xb\+UInt32 ul)
+\begin{DoxyCompactList}\small\item\em Write a portable unsigned long value to memory location. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a29130f12739ac8fa837f4eaedf1338b2}{e\+Put\+Int16}} (char $\ast$p, xb\+Int16 s)
+\begin{DoxyCompactList}\small\item\em Write a portable short value to memory location. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a65e9839f92b96eac7b0d071fac3bbe40}{e\+Put\+UInt16}} (char $\ast$p, xb\+UInt16 s)
+\begin{DoxyCompactList}\small\item\em Write a portable unsigned short value to memory location. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a78bd8a11dce102647095baf3aff2b006}{File\+Exists}} () const
+\begin{DoxyCompactList}\small\item\em Determines if a file exists. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a174d8a6aabc9cfcd32fedbd1e5b13ddd}{File\+Exists}} (xb\+Int16 i\+Option) const
+\begin{DoxyCompactList}\small\item\em Determines if a file exists. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a61130b4fbf4cf9d5972dcb4993de2f94}{File\+Exists}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name) const
+\begin{DoxyCompactList}\small\item\em Determines if a file exists. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a0592168f39a10f2a401a88ef781f6148}{File\+Exists}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 i\+Option) const
+\begin{DoxyCompactList}\small\item\em Determines if a file exists. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a7fa837938a32dc9ca3fbc81cbaf50f59}{File\+Is\+Open}} () const
+\begin{DoxyCompactList}\small\item\em Determines if file is open. \end{DoxyCompactList}\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbFile_a638e14262410a1627819f016a16cdce2}{Get\+Block\+Size}} () const
+\begin{DoxyCompactList}\small\item\em Get the block size. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a60c53998e3d1b694134b20a87bc9bf5a}{Get\+File\+Dir\+Part}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Dir\+Part\+Out) const
+\begin{DoxyCompactList}\small\item\em Get the directory part of the file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_af5127c92892816e9bbc5c19653c4147a}{Get\+File\+Dir\+Part}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Complete\+File\+Name\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Dir\+Part\+Out) const
+\begin{DoxyCompactList}\small\item\em Get the directory part of the file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a57a9222e5cbb51019d4eeb2c3ac89fa2}{Get\+File\+Ext\+Part}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Ext\+Part\+Out) const
+\begin{DoxyCompactList}\small\item\em Get the extension part of the file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ab289b6ffe955321160c1f90220c22e25}{Get\+File\+Ext\+Part}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Complete\+File\+Name\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Ext\+Part\+Out) const
+\begin{DoxyCompactList}\small\item\em Get the extension part of the file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a02df78f4c90313243f508fc56b95aba8}{Get\+File\+Mtime}} (time\+\_\+t \&mtime)
+\begin{DoxyCompactList}\small\item\em Get the time of last file modification timestamp as reported by the OS. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a81422b3dd52763d2cc6c77237ec9af0a}{Get\+File\+Name\+Part}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name\+Part\+Out) const
+\begin{DoxyCompactList}\small\item\em Get the name part of the file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a6110763c5ae996b72c7a62c15bdecc73}{Get\+File\+Name\+Part}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Complete\+File\+Name\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name\+Part\+Out) const
+\begin{DoxyCompactList}\small\item\em Get the name part of the file name. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a50b63c39e49d44e52078038027b24cc5}{Get\+File\+Size}} (xb\+UInt64 \&ull\+File\+Size)
+\begin{DoxyCompactList}\small\item\em Get the size of the file as reported by the OS. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5548236d38d43b89ae29b9a015b1f678}{Get\+File\+Type}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Type) const
+\begin{DoxyCompactList}\small\item\em Get the file type aka Capitalized file extension. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a3c500dc9dac22c49496e4b29386b2dd3}{Get\+Open\+Mode}} () const
+\begin{DoxyCompactList}\small\item\em Get the open mode of the file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a9b63e05b77f477ff6109ff7b9432c1b6}{Get\+Share\+Mode}} () const
+\begin{DoxyCompactList}\small\item\em Get the share mode of the file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_aaf2e697751a0beff41432a66bb83fb5e}{Get\+Xbase\+File\+Type\+Byte}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 \&i\+Version)
+\begin{DoxyCompactList}\small\item\em Get the file type byte and version of the dbf file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a7af337808919680b90710ad5e8a99232}{Get\+Xbase\+File\+Type\+Byte}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, unsigned char \&c\+File\+Type\+Byte)
+\begin{DoxyCompactList}\small\item\em Get the file type byte and version of the dbf file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a78aebdd21d3de46a450d5f835e3027f6}{Get\+Xbase\+File\+Type\+Byte}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, unsigned char \&c\+File\+Type\+Byte, xb\+Int16 \&i\+Version)
+\begin{DoxyCompactList}\small\item\em Get the file type byte and version of the dbf file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a361e3cc318bbf1c4d10f069e0800a24e}{Name\+Suffix\+Missing}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 i\+Option) const
+\begin{DoxyCompactList}\small\item\em Determines status of file extension. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_aa1bb80340abc7a5c22f87f878e9dc825}{Read\+Block}} (xb\+UInt32 ul\+Block\+No, size\+\_\+t read\+Size, void $\ast$buf)
+\begin{DoxyCompactList}\small\item\em Read a block of data from file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_aef696b1c4c0ef5338e818599f695d485}{Read\+Block}} (xb\+UInt32 ul\+Block\+No, xb\+UInt32 ul\+Block\+Size, size\+\_\+t read\+Size, void $\ast$buf)
+\begin{DoxyCompactList}\small\item\em Read a block of data from file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a991c5676a6f38fa752435390989f413e}{Set\+Block\+Size}} (xb\+UInt32 ul\+Block\+Size)
+\begin{DoxyCompactList}\small\item\em Set the block size. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_ae78a85255488bc78964c16946dbaead3}{Set\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a5419eb27e56822f828b2b88a9502a636}{Set\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name)
+\begin{DoxyCompactList}\small\item\em Set the filename. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_aee832fa11db2077a532f49e1329bd05a}{Set\+Fq\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fq\+Name)
+\begin{DoxyCompactList}\small\item\em Set the fully qualifed filename. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a060acbfaa8d528f86cb59301814b414a}{Set\+Home\+Folders}} ()
+\begin{DoxyCompactList}\small\item\em Set Home Folders. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5d871dcfecc2b4338f7a13722aab766c}{Write\+Block}} (xb\+UInt32 ul\+Block\+No, size\+\_\+t write\+Size, void $\ast$buf)
+\begin{DoxyCompactList}\small\item\em Write a block of data to file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a18830b5755d74818f60d9c7ce38ddf2d}{xb\+Fclose}} ()
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fclose. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_af5b6356832d2a67212070a1aa605f170}{xb\+Feof}} ()
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary feof. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ad205184d43409f04216540ae22f15009}{xb\+Fflush}} ()
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fflush. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_afb1c584d2895ffb7834df80aea7eb1e4}{xb\+Fgetc}} (xb\+Int32 \&c)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fgetc. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5ee229bda4d7d6695e122200e581e7a6}{xb\+Fgetc}} (char \&c)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fgetc. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ad245955ace26e5dde85fd4373b30d026}{xb\+Fgets}} (size\+\_\+t l\+Size, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Line)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fgets. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a7cdfef5ede9ac98d44a28a6b7a70972c}{xb\+Fopen}} (xb\+Int16 i\+Open\+Mode)
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a0548cedf0f26b7d8ac221f75b0cd048c}{xb\+Fopen}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Open\+Mode, xb\+Int16 i\+Share\+Mode)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fopen. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_aabd113333b49c36cad23244b392baab4}{xb\+Fopen}} (xb\+Int16 i\+Open\+Mode, xb\+Int16 i\+Share\+Mode)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fopen. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ab0fa19686ca8953ff4b556fb5b249135}{xb\+Fopen}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Mode, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 i\+Share\+Mode)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fopen. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_af2e940c78956e5cb6824f9a1bc404896}{xb\+Fputc}} (xb\+Int32 c)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fputc. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a863f74cf17df8186d88586b4d2a6441a}{xb\+Fputc}} (xb\+Int32 c, xb\+Int32 i\+No\+Times)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fputc. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a698f3b40216778562e639e6ca1a47573}{xb\+Fputs}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fputs. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ab4f6afaa1f77539f27a4f05c26e54e2f}{xb\+Fread}} (void $\ast$ptr, size\+\_\+t size, size\+\_\+t nmemb)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fread. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5337ab8918df240910c0d19b4f298e3d}{xb\+Fseek}} (xb\+Int64 ll\+Offset, xb\+Int32 whence)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fseek. \end{DoxyCompactList}\item
+size\+\_\+t \mbox{\hyperlink{classxb_1_1xbFile_a0e1c06aedfa7fbcb92e117f891edd13b}{xb\+Ftell}} ()
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary ftell. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a9891b792f585a696f38a5cf959e30918}{xb\+FTurn\+Off\+File\+Buffering}} ()
+\begin{DoxyCompactList}\small\item\em Turn off file buffering. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a08463f506f425c2385acbe1a561506e9}{xb\+Read\+Until}} (const char c\+Delim, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Out)
+\begin{DoxyCompactList}\small\item\em Read file until a particular character is encountered on input stream. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a6d919366c2ec95e529906bf8842cbf07}{xb\+Remove}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 i\+Option)
+\begin{DoxyCompactList}\small\item\em Delete file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a58f6a6751fdf7e9549c273bb75d93eb5}{xb\+Remove}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name)
+\begin{DoxyCompactList}\small\item\em Delete file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ab3c668a8570433188382d31d7c60bd48}{xb\+Remove}} ()
+\begin{DoxyCompactList}\small\item\em Delete file. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_afc8ce113aa72611a278233f9bb170012}{xb\+Rename}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Old\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+New\+Name)
+\begin{DoxyCompactList}\small\item\em Rename file. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbFile_a7996b6e084665c37c3892faea64b3505}{xb\+Rewind}} ()
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for rewind. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a6aadd871d1782944703fed773d44b85f}{xb\+Fwrite}} (const void $\ast$ptr, size\+\_\+t l\+Size, size\+\_\+t l\+Nmemb)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fwrite. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a518bfcbfa3699d883cf89affee383296}{xb\+Truncate}} (xb\+Int64 ll\+Size)
+\begin{DoxyCompactList}\small\item\em Xbase wrapper for ftruncate. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}{Display\+Error}} (xb\+Int16 Error\+Code) const
+\begin{DoxyCompactList}\small\item\em Display error message on console for a given error number. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}{Get\+Default\+Date\+Format}} () const
+\begin{DoxyCompactList}\small\item\em Get the default date format. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}{Get\+Data\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the current data directory. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}{Get\+Temp\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the current temp directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}{Get\+Home\+Dir}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Home\+Dir\+Out)
+\begin{DoxyCompactList}\small\item\em Get home directory. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}{Get\+Endian\+Type}} () const
+\begin{DoxyCompactList}\small\item\em Get the Endian type. \end{DoxyCompactList}\item
+const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}{Get\+Error\+Message}} (xb\+Int16 Error\+Code) const
+\begin{DoxyCompactList}\small\item\em Get an error message. \end{DoxyCompactList}\item
+char \mbox{\hyperlink{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}{Get\+Path\+Separator}} () const
+\begin{DoxyCompactList}\small\item\em Get the OS dependent path separator. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}{Set\+Data\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Data\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the data directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}{Set\+Default\+Date\+Format}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Default\+Date\+Format)
+\begin{DoxyCompactList}\small\item\em Set the default date format. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}{Set\+Temp\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Temp\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the temp directory. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}{Bit\+Set}} (unsigned char c, xb\+Int16 i\+Bit\+No) const
+\begin{DoxyCompactList}\small\item\em Check a bit in a one byte field and see if it is set. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}{Bit\+Dump}} (unsigned char c) const
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}{Bit\+Dump}} (char c) const
+\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}{Get\+Default\+Auto\+Commit}} () const
+\begin{DoxyCompactList}\small\item\em Get the default auto commit setting. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}{Set\+Default\+Auto\+Commit}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Default\+Auto\+Commit)
+\begin{DoxyCompactList}\small\item\em Set the default auto commit. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}{Get\+Log\+Directory}} () const
+\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}{Get\+Log\+File\+Name}} () const
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}{Set\+Log\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+Directory)
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}{Set\+Log\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+File\+Name)
+\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}{Get\+Multi\+User}} () const
+\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}{Set\+Multi\+User}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Multi\+User)
+\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Static Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+static const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}{Error\+Code\+Text}} \mbox{[}$\,$\mbox{]}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}{Set\+Endian\+Type}} ()
+\begin{DoxyCompactList}\small\item\em Set the endian type. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$ \mbox{\hyperlink{classxb_1_1xbFile_ae39a67ea391b46055d4ca299cb222004}{xbase}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Static Protected Attributes}
+\begin{DoxyCompactItemize}
+\item
+static xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}{i\+Endian\+Type}} = 0
+\item
+static \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}{s\+Null\+String}} = \char`\"{}\char`\"{}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Detailed Description}
+Class for handling low level file I/O.
+
+The \mbox{\hyperlink{classxb_1_1xbFile}{xb\+File}} class is used as an abstraction layer to isolate the library from the nuances of different operating systems and machine architectures.
+
+This module handles low level file I/O and is a base class for the (dbf) table, (dbt) memo and (ndx,mdx) index classes. Files are opened and manipulated via methods in the \mbox{\hyperlink{classxb_1_1xbFile}{xb\+File}} class.~\newline
+ This class handles\+:~\newline
+ 1) Big and little endian reads/writes~\newline
+ 2) 32 or 64 bit system calls, depending on OS~\newline
+ 3) Various different c/c++ calls to open/close/read/write based on OS and compiler version~\newline
+ ~\newline
+ If you are wanting to port this library to a new platform, start with this class. This class could be used if you want to write a platform independent program that needs R/W file access.
+
+\doxysubsection{Constructor \& Destructor Documentation}
+\mbox{\Hypertarget{classxb_1_1xbFile_a869eedd74c6eddc308852eb546c87176}\label{classxb_1_1xbFile_a869eedd74c6eddc308852eb546c87176}}
+\index{xb::xbFile@{xb::xbFile}!xbFile@{xbFile}}
+\index{xbFile@{xbFile}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFile()}{xbFile()}}
+{\footnotesize\ttfamily xb\+::xb\+File\+::xb\+File (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$}]{x }\end{DoxyParamCaption})}
+
+
+
+Class Constructor.
+
+\mbox{\Hypertarget{classxb_1_1xbFile_a491f6c48076e89da2e791a42b2727a90}\label{classxb_1_1xbFile_a491f6c48076e89da2e791a42b2727a90}}
+\index{xb::xbFile@{xb::xbFile}!````~xbFile@{$\sim$xbFile}}
+\index{````~xbFile@{$\sim$xbFile}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{$\sim$xbFile()}{~xbFile()}}
+{\footnotesize\ttfamily xb\+::xb\+File\+::$\sim$xb\+File (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Class Destructor.
+
+
+
+\doxysubsection{Member Function Documentation}
+\mbox{\Hypertarget{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}\label{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}}
+\index{xb::xbFile@{xb::xbFile}!BitDump@{BitDump}}
+\index{BitDump@{BitDump}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}\label{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}}
+\index{xb::xbFile@{xb::xbFile}!BitDump@{BitDump}}
+\index{BitDump@{BitDump}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{unsigned char}]{c }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}\label{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}}
+\index{xb::xbFile@{xb::xbFile}!BitSet@{BitSet}}
+\index{BitSet@{BitSet}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{BitSet()}{BitSet()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Bit\+Set (\begin{DoxyParamCaption}\item[{unsigned char}]{c, }\item[{xb\+Int16}]{i\+Bit\+No }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Check a bit in a one byte field and see if it is set.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & One byte char field to examine. \\
+\hline
+{\em i\+Bit\+No} & which bit to examine. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True Bit is set~\newline
+ xb\+False Bit is not set
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ad39797624a752b9d62533d00fad9feff}\label{classxb_1_1xbFile_ad39797624a752b9d62533d00fad9feff}}
+\index{xb::xbFile@{xb::xbFile}!CreateUniqueFileName@{CreateUniqueFileName}}
+\index{CreateUniqueFileName@{CreateUniqueFileName}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{CreateUniqueFileName()}{CreateUniqueFileName()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Create\+Unique\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Dir\+In, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Ext\+In, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Fqn\+Out, }\item[{xb\+Int16}]{i\+Option = {\ttfamily 0} }\end{DoxyParamCaption})}
+
+
+
+Create a unique file name.
+
+Given a directory and file extension as inputs, create a unique file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Dir\+In} & Directory \\
+\hline
+{\em s\+Ext\+In} & File Extension \\
+\hline
+{\em s\+Fqn\+Out} & A fully qualifed unique file name as output \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+Create a unique file name.
+
+Given a directory and file extension as inputs, create a unique file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Dir\+In} & Directory \\
+\hline
+{\em s\+Ext\+In} & File Extension \\
+\hline
+{\em i\+Option} & 0 -\/ look only for one file for a given directory and extension~\newline
+ 1 -\/ if file name extension is \char`\"{}dbf\char`\"{} or \char`\"{}\+DBF\char`\"{}, verify unique dbt or DBT (memo) file is also available~\newline
+ \\
+\hline
+{\em s\+Fqn\+Out} & A fully qualifed unique file name as output \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a5a740033664c9ad2611c90e2a6d0c2d3}\label{classxb_1_1xbFile_a5a740033664c9ad2611c90e2a6d0c2d3}}
+\index{xb::xbFile@{xb::xbFile}!DetermineXbaseMemoVersion@{DetermineXbaseMemoVersion}}
+\index{DetermineXbaseMemoVersion@{DetermineXbaseMemoVersion}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{DetermineXbaseMemoVersion()}{DetermineXbaseMemoVersion()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Determine\+Xbase\+Memo\+Version (\begin{DoxyParamCaption}\item[{unsigned char}]{c\+File\+Type\+Byte }\end{DoxyParamCaption}) const}
+
+
+
+Determine which version the memo (dbt) file is.
+
+This routine uses the first byte in the dbf file to determine which memo file version is in use. The main difference between version 3 and 4 is that version 4 will reuse blocks if they become available. Version 3 does not.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c\+File\+Type\+Byte} & is an output field and is one of\+:~\newline
+ ~\newline
+ 0 -\/ none~\newline
+ 3 -\/ Dbase III+~\newline
+ 4 -\/ Dbase IV~\newline
+\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ae2b6ac26018dc28f77afbb3f008c3f66}\label{classxb_1_1xbFile_ae2b6ac26018dc28f77afbb3f008c3f66}}
+\index{xb::xbFile@{xb::xbFile}!DetermineXbaseTableVersion@{DetermineXbaseTableVersion}}
+\index{DetermineXbaseTableVersion@{DetermineXbaseTableVersion}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{DetermineXbaseTableVersion()}{DetermineXbaseTableVersion()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Determine\+Xbase\+Table\+Version (\begin{DoxyParamCaption}\item[{unsigned char}]{c\+File\+Type\+Byte }\end{DoxyParamCaption}) const}
+
+
+
+Determine xbase dbf version.
+
+This routine is used to determine which version of the Xbase classes can be used for a given DBF file.~\newline
+
+
+It attempts to use the highest version compiled into the library.~\newline
+
+
+References\+:~\newline
+ This routine uses the first byte from the dbf file.~\newline
+ Per DBase documentation\+:~\newline
+ Valid d\+BASE for Windows table file, bits 0-\/2 indicate version number\+: 3 for d\+BASE Level 5, 4 for d\+BASE Level 7.~\newline
+ Bit 3 and bit 7 indicate presence of a d\+BASE IV or d\+BASE for Windows memo file;~\newline
+ Bits 4-\/6 indicate the presence of a d\+BASE IV SQL table;~\newline
+ Bit 7 indicates the presence of any .DBT memo file (either a d\+BASE III PLUS type or a d\+BASE IV or d\+BASE for Windows memo file).~\newline
+ ~\newline
+ Bachmann spec (used extensively in library build), page 7 -\/ does not match DBase documentation~\newline
+ ~\newline
+ returns~\newline
+ 0 -\/ unknown~\newline
+ 3 -\/ Dbase level 3~\newline
+ 4 -\/ Dbase level 4~\newline
+ 5 -\/ Dbase Level 5 (future)~\newline
+ 7 -\/ Dbase Level 7 (future)~\newline
+ ~\newline
+ 1x -\/ Clipper files (future)~\newline
+ 2x -\/ Foxbase files (future)~\newline
+ ~\newline
+ \mbox{\Hypertarget{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}\label{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}}
+\index{xb::xbFile@{xb::xbFile}!DisplayError@{DisplayError}}
+\index{DisplayError@{DisplayError}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{DisplayError()}{DisplayError()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Display\+Error (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Display error message on console for a given error number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Error\+Code} & Error number to reference \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_ab14e4a11427f5efb81cba1dd32bd1aa1}\label{classxb_1_1xbFile_ab14e4a11427f5efb81cba1dd32bd1aa1}}
+\index{xb::xbFile@{xb::xbFile}!eGetDouble@{eGetDouble}}
+\index{eGetDouble@{eGetDouble}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{eGetDouble()}{eGetDouble()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} xb\+::xb\+File\+::e\+Get\+Double (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const}
+
+
+
+Get a portable double value.
+
+This routine returns a double value from an 8 byte character stream, accounting for endian type.
+
+Converts a double (64 bit floating point) value stored at p from a portable format to the machine format.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & pointer to memory containing the portable double value\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the double value.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ac40c991110ddc6fb30a72d90f4652762}\label{classxb_1_1xbFile_ac40c991110ddc6fb30a72d90f4652762}}
+\index{xb::xbFile@{xb::xbFile}!eGetInt16@{eGetInt16}}
+\index{eGetInt16@{eGetInt16}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{eGetInt16()}{eGetInt16()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::e\+Get\+Int16 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const}
+
+
+
+Get a portable short value.
+
+This routine returns a short int value from a 2 byte character stream, accounting for endian type.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & pointer to memory containing the portable long value\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the short value.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a60b24a5afc984c586bf384c7e915ba0d}\label{classxb_1_1xbFile_a60b24a5afc984c586bf384c7e915ba0d}}
+\index{xb::xbFile@{xb::xbFile}!eGetInt32@{eGetInt32}}
+\index{eGetInt32@{eGetInt32}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{eGetInt32()}{eGetInt32()}}
+{\footnotesize\ttfamily xb\+Int32 xb\+::xb\+File\+::e\+Get\+Int32 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const}
+
+
+
+Get a portable long value.
+
+This routine returns a long int value from a 4 byte character stream, accounting for endian type.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & pointer to memory containing the portable long value\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the long value.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a936ade458e6d5e6d29f9b5031888d189}\label{classxb_1_1xbFile_a936ade458e6d5e6d29f9b5031888d189}}
+\index{xb::xbFile@{xb::xbFile}!eGetUInt16@{eGetUInt16}}
+\index{eGetUInt16@{eGetUInt16}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{eGetUInt16()}{eGetUInt16()}}
+{\footnotesize\ttfamily xb\+UInt16 xb\+::xb\+File\+::e\+Get\+UInt16 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const}
+
+
+
+Get a portable unsigned short value.
+
+This routine returns a short unsigned int value from a 2 byte character stream, accounting for endian type.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & pointer to memory containing the portable long value\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the short value.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a78f052529d39a18deaface5a0d47d0b0}\label{classxb_1_1xbFile_a78f052529d39a18deaface5a0d47d0b0}}
+\index{xb::xbFile@{xb::xbFile}!eGetUInt32@{eGetUInt32}}
+\index{eGetUInt32@{eGetUInt32}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{eGetUInt32()}{eGetUInt32()}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+File\+::e\+Get\+UInt32 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const}
+
+
+
+Get a portable unsigned long value.
+
+This routine returns an unsigned long int value from a 4 byte character stream, accounting for endian type.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & pointer to memory containing the portable long value\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the unsigned long value.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a98b6ff533ae93f90c977a2ba23eeb105}\label{classxb_1_1xbFile_a98b6ff533ae93f90c977a2ba23eeb105}}
+\index{xb::xbFile@{xb::xbFile}!ePutDouble@{ePutDouble}}
+\index{ePutDouble@{ePutDouble}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{ePutDouble()}{ePutDouble()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+Double (\begin{DoxyParamCaption}\item[{char $\ast$}]{c, }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}}}]{d }\end{DoxyParamCaption})}
+
+
+
+Write a portable double value to memory location.
+
+Converts a double (64 bit floating point) value from machine format to a portable format and stores the converted value in the memory referenced by c.
+
+This routine puts a double value to an 8 byte character stream
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Pointer to memory to hold converted value \\
+\hline
+{\em d} & Input value to be converted \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_a29130f12739ac8fa837f4eaedf1338b2}\label{classxb_1_1xbFile_a29130f12739ac8fa837f4eaedf1338b2}}
+\index{xb::xbFile@{xb::xbFile}!ePutInt16@{ePutInt16}}
+\index{ePutInt16@{ePutInt16}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{ePutInt16()}{ePutInt16()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+Int16 (\begin{DoxyParamCaption}\item[{char $\ast$}]{c, }\item[{xb\+Int16}]{s }\end{DoxyParamCaption})}
+
+
+
+Write a portable short value to memory location.
+
+Converts a short (16 bit integer) value from machine format to a portable format and stores the converted value in the memory referenced by c.
+
+This routine puts a short value to a 2 byte character stream
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Pointer to memory to hold converted value \\
+\hline
+{\em s} & Input value to be converted \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_a19c37f76a2ccbb45019cb0fc373d3f46}\label{classxb_1_1xbFile_a19c37f76a2ccbb45019cb0fc373d3f46}}
+\index{xb::xbFile@{xb::xbFile}!ePutInt32@{ePutInt32}}
+\index{ePutInt32@{ePutInt32}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{ePutInt32()}{ePutInt32()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+Int32 (\begin{DoxyParamCaption}\item[{char $\ast$}]{c, }\item[{xb\+Int32}]{l }\end{DoxyParamCaption})}
+
+
+
+Write a portable long value to memory location.
+
+Converts a long (32 bit integer) value from machine format to a portable format and stores the converted value in the memory referenced by c.
+
+This routine puts a long value to a 4 byte character stream.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Pointer to memory to hold converted value \\
+\hline
+{\em l} & Input value to be converted \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_a65e9839f92b96eac7b0d071fac3bbe40}\label{classxb_1_1xbFile_a65e9839f92b96eac7b0d071fac3bbe40}}
+\index{xb::xbFile@{xb::xbFile}!ePutUInt16@{ePutUInt16}}
+\index{ePutUInt16@{ePutUInt16}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{ePutUInt16()}{ePutUInt16()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+UInt16 (\begin{DoxyParamCaption}\item[{char $\ast$}]{c, }\item[{xb\+UInt16}]{s }\end{DoxyParamCaption})}
+
+
+
+Write a portable unsigned short value to memory location.
+
+Converts an unsigned short (16 bit integer) value from machine format to a portable format and stores the converted value in the memory referenced by c.
+
+This routine puts an unsigned short value to a 2 byte character stream
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Pointer to memory to hold converted value \\
+\hline
+{\em s} & Input value to be converted \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_aa3f6ceae4b96f24875d86848bf13a173}\label{classxb_1_1xbFile_aa3f6ceae4b96f24875d86848bf13a173}}
+\index{xb::xbFile@{xb::xbFile}!ePutUInt32@{ePutUInt32}}
+\index{ePutUInt32@{ePutUInt32}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{ePutUInt32()}{ePutUInt32()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+UInt32 (\begin{DoxyParamCaption}\item[{char $\ast$}]{c, }\item[{xb\+UInt32}]{ul }\end{DoxyParamCaption})}
+
+
+
+Write a portable unsigned long value to memory location.
+
+Converts an unsigned long (32 bit integer) value from machine format to a portable format and stores the converted value in the memory referenced by c.
+
+This routine puts an unsigned long value to a 4 byte character stream.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Pointer to memory to hold converted value \\
+\hline
+{\em ul} & Input value to be converted \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_a78bd8a11dce102647095baf3aff2b006}\label{classxb_1_1xbFile_a78bd8a11dce102647095baf3aff2b006}}
+\index{xb::xbFile@{xb::xbFile}!FileExists@{FileExists}}
+\index{FileExists@{FileExists}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{FileExists()}{FileExists()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Exists (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Determines if a file exists.
+
+\begin{DoxyReturn}{Returns}
+xb\+True if file exists~\newline
+ xb\+False if file does not exist
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a61130b4fbf4cf9d5972dcb4993de2f94}\label{classxb_1_1xbFile_a61130b4fbf4cf9d5972dcb4993de2f94}}
+\index{xb::xbFile@{xb::xbFile}!FileExists@{FileExists}}
+\index{FileExists@{FileExists}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{FileExists()}{FileExists()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Exists (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name }\end{DoxyParamCaption}) const}
+
+
+
+Determines if a file exists.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ file name to check for\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True if file exists~\newline
+ xb\+False if file does not exist
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a0592168f39a10f2a401a88ef781f6148}\label{classxb_1_1xbFile_a0592168f39a10f2a401a88ef781f6148}}
+\index{xb::xbFile@{xb::xbFile}!FileExists@{FileExists}}
+\index{FileExists@{FileExists}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{FileExists()}{FileExists()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Exists (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name, }\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption}) const}
+
+
+
+Determines if a file exists.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ file name to check for \\
+\hline
+{\em i\+Option} & if 1, assume this is a request for a dbf file and check for the a dbt memo file also, returns true if both files are found\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True if both dbf and dbt files exist~\newline
+ xb\+False if file does not exist
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a174d8a6aabc9cfcd32fedbd1e5b13ddd}\label{classxb_1_1xbFile_a174d8a6aabc9cfcd32fedbd1e5b13ddd}}
+\index{xb::xbFile@{xb::xbFile}!FileExists@{FileExists}}
+\index{FileExists@{FileExists}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{FileExists()}{FileExists()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Exists (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption}) const}
+
+
+
+Determines if a file exists.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Option} & if 1, assume this is a request for a dbf file and check for the a dbt memo file also, returns true if both files are found\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True if both files exist~\newline
+ xb\+False if file does not exist
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a7fa837938a32dc9ca3fbc81cbaf50f59}\label{classxb_1_1xbFile_a7fa837938a32dc9ca3fbc81cbaf50f59}}
+\index{xb::xbFile@{xb::xbFile}!FileIsOpen@{FileIsOpen}}
+\index{FileIsOpen@{FileIsOpen}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{FileIsOpen()}{FileIsOpen()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Is\+Open (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Determines if file is open.
+
+\begin{DoxyReturn}{Returns}
+xb\+True if file is open~\newline
+ xb\+False if file is not open
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a638e14262410a1627819f016a16cdce2}\label{classxb_1_1xbFile_a638e14262410a1627819f016a16cdce2}}
+\index{xb::xbFile@{xb::xbFile}!GetBlockSize@{GetBlockSize}}
+\index{GetBlockSize@{GetBlockSize}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetBlockSize()}{GetBlockSize()}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+File\+::\+Get\+Block\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the block size.
+
+\begin{DoxyReturn}{Returns}
+Block Size
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}\label{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}}
+\index{xb::xbFile@{xb::xbFile}!GetDataDirectory@{GetDataDirectory}}
+\index{GetDataDirectory@{GetDataDirectory}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetDataDirectory()}{GetDataDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Data\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the current data directory.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the current data directory where the database files are stored.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}\label{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}}
+\index{xb::xbFile@{xb::xbFile}!GetDefaultAutoCommit@{GetDefaultAutoCommit}}
+\index{GetDefaultAutoCommit@{GetDefaultAutoCommit}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetDefaultAutoCommit()}{GetDefaultAutoCommit()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Default\+Auto\+Commit (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the default auto commit setting.
+
+When auto commit is enabled, the library will automatically post any updates when moving off an updated record or closing files. If auto commit is disabled, the application program will need to explicitly update the tables using using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}Append\+Record().
+
+\begin{DoxyReturn}{Returns}
+xb\+True if auto commit is turned on~\newline
+ xb\+False is auto commit is turned off
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}\label{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}}
+\index{xb::xbFile@{xb::xbFile}!GetDefaultDateFormat@{GetDefaultDateFormat}}
+\index{GetDefaultDateFormat@{GetDefaultDateFormat}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetDefaultDateFormat()}{GetDefaultDateFormat()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Default\+Date\+Format (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the default date format.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the default date format.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_acd0fb2166b2bff7e8a1cf65a7bc8be1e}\label{classxb_1_1xbFile_acd0fb2166b2bff7e8a1cf65a7bc8be1e}}
+\index{xb::xbFile@{xb::xbFile}!GetDirectory@{GetDirectory}}
+\index{GetDirectory@{GetDirectory}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetDirectory()}{GetDirectory()}}
+{\footnotesize\ttfamily const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+File\+::\+Get\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the directory name.
+
+\begin{DoxyReturn}{Returns}
+the directory name of the file
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}\label{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}}
+\index{xb::xbFile@{xb::xbFile}!GetEndianType@{GetEndianType}}
+\index{GetEndianType@{GetEndianType}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetEndianType()}{GetEndianType()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::\+Get\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the Endian type.
+
+\begin{DoxyReturn}{Returns}
+B -\/ Big endian~\newline
+ L -\/ Little endian~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}\label{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}}
+\index{xb::xbFile@{xb::xbFile}!GetErrorMessage@{GetErrorMessage}}
+\index{GetErrorMessage@{GetErrorMessage}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetErrorMessage()}{GetErrorMessage()}}
+{\footnotesize\ttfamily const char $\ast$ xb\+::xb\+Ssv\+::\+Get\+Error\+Message (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get an error message.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Error\+Code} & Error\+Code is the error number of description to be returned. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns a pointer to a string containing a text description for the error code.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_af5127c92892816e9bbc5c19653c4147a}\label{classxb_1_1xbFile_af5127c92892816e9bbc5c19653c4147a}}
+\index{xb::xbFile@{xb::xbFile}!GetFileDirPart@{GetFileDirPart}}
+\index{GetFileDirPart@{GetFileDirPart}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetFileDirPart()}{GetFileDirPart()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Dir\+Part (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Complete\+File\+Name\+In, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Dir\+Part\+Out }\end{DoxyParamCaption}) const}
+
+
+
+Get the directory part of the file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Complete\+File\+Name\+In} & -\/ a fully qualfied input file name \\
+\hline
+{\em s\+File\+Dir\+Part\+Out} & -\/ the returned directory name part out of s\+Complete\+File\+Name\+In \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a60c53998e3d1b694134b20a87bc9bf5a}\label{classxb_1_1xbFile_a60c53998e3d1b694134b20a87bc9bf5a}}
+\index{xb::xbFile@{xb::xbFile}!GetFileDirPart@{GetFileDirPart}}
+\index{GetFileDirPart@{GetFileDirPart}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetFileDirPart()}{GetFileDirPart()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Dir\+Part (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Dir\+Part\+Out }\end{DoxyParamCaption}) const}
+
+
+
+Get the directory part of the file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Dir\+Part\+Out} & -\/ the returned directory name \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ab289b6ffe955321160c1f90220c22e25}\label{classxb_1_1xbFile_ab289b6ffe955321160c1f90220c22e25}}
+\index{xb::xbFile@{xb::xbFile}!GetFileExtPart@{GetFileExtPart}}
+\index{GetFileExtPart@{GetFileExtPart}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetFileExtPart()}{GetFileExtPart()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Ext\+Part (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Complete\+File\+Name\+In, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Ext\+Part\+Out }\end{DoxyParamCaption}) const}
+
+
+
+Get the extension part of the file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Complete\+File\+Name\+In} & -\/ a fully qualfied input file name\\
+\hline
+{\em s\+File\+Ext\+Part\+Out} & -\/ the returned directory name part out of s\+Complete\+File\+Name\+In \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a57a9222e5cbb51019d4eeb2c3ac89fa2}\label{classxb_1_1xbFile_a57a9222e5cbb51019d4eeb2c3ac89fa2}}
+\index{xb::xbFile@{xb::xbFile}!GetFileExtPart@{GetFileExtPart}}
+\index{GetFileExtPart@{GetFileExtPart}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetFileExtPart()}{GetFileExtPart()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Ext\+Part (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+Ext\+Out }\end{DoxyParamCaption}) const}
+
+
+
+Get the extension part of the file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name\+Ext\+Out} & -\/ the returned extension part out of s\+Complete\+File\+Name\+In \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a02df78f4c90313243f508fc56b95aba8}\label{classxb_1_1xbFile_a02df78f4c90313243f508fc56b95aba8}}
+\index{xb::xbFile@{xb::xbFile}!GetFileMtime@{GetFileMtime}}
+\index{GetFileMtime@{GetFileMtime}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetFileMtime()}{GetFileMtime()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Mtime (\begin{DoxyParamCaption}\item[{time\+\_\+t \&}]{mtime }\end{DoxyParamCaption})}
+
+
+
+Get the time of last file modification timestamp as reported by the OS.
+
+
+\begin{DoxyParams}{Parameters}
+{\em mtime} & -\/ returned time of last file modification \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ac95cb882ccbcdedc9a233c6ad9fed07a}\label{classxb_1_1xbFile_ac95cb882ccbcdedc9a233c6ad9fed07a}}
+\index{xb::xbFile@{xb::xbFile}!GetFileName@{GetFileName}}
+\index{GetFileName@{GetFileName}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetFileName()}{GetFileName()}}
+{\footnotesize\ttfamily const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+File\+::\+Get\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the file name.
+
+\begin{DoxyReturn}{Returns}
+the file name portion of the file
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a6110763c5ae996b72c7a62c15bdecc73}\label{classxb_1_1xbFile_a6110763c5ae996b72c7a62c15bdecc73}}
+\index{xb::xbFile@{xb::xbFile}!GetFileNamePart@{GetFileNamePart}}
+\index{GetFileNamePart@{GetFileNamePart}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetFileNamePart()}{GetFileNamePart()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Name\+Part (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Complete\+File\+Name\+In, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+Part\+Out }\end{DoxyParamCaption}) const}
+
+
+
+Get the name part of the file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Complete\+File\+Name\+In} & -\/ a fully qualified input file name \\
+\hline
+{\em s\+File\+Name\+Part\+Out} & -\/ the returned file name part out of s\+Complete\+File\+Name\+In \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a81422b3dd52763d2cc6c77237ec9af0a}\label{classxb_1_1xbFile_a81422b3dd52763d2cc6c77237ec9af0a}}
+\index{xb::xbFile@{xb::xbFile}!GetFileNamePart@{GetFileNamePart}}
+\index{GetFileNamePart@{GetFileNamePart}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetFileNamePart()}{GetFileNamePart()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Name\+Part (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+Part\+Out }\end{DoxyParamCaption}) const}
+
+
+
+Get the name part of the file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name\+Part\+Out} & -\/ the returned file name part out of s\+Complete\+File\+Name\+In \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a50b63c39e49d44e52078038027b24cc5}\label{classxb_1_1xbFile_a50b63c39e49d44e52078038027b24cc5}}
+\index{xb::xbFile@{xb::xbFile}!GetFileSize@{GetFileSize}}
+\index{GetFileSize@{GetFileSize}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetFileSize()}{GetFileSize()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Size (\begin{DoxyParamCaption}\item[{xb\+UInt64 \&}]{ull\+File\+Size }\end{DoxyParamCaption})}
+
+
+
+Get the size of the file as reported by the OS.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ull\+File\+Size} & -\/ unsigned long long field as output \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a5548236d38d43b89ae29b9a015b1f678}\label{classxb_1_1xbFile_a5548236d38d43b89ae29b9a015b1f678}}
+\index{xb::xbFile@{xb::xbFile}!GetFileType@{GetFileType}}
+\index{GetFileType@{GetFileType}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetFileType()}{GetFileType()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Type (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Type\+Out }\end{DoxyParamCaption}) const}
+
+
+
+Get the file type aka Capitalized file extension.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Type\+Out} & -\/ the returned extension part out of s\+Complete\+File\+Name\+In \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a31b4e641f93206ba23e2a5a27491dcd4}\label{classxb_1_1xbFile_a31b4e641f93206ba23e2a5a27491dcd4}}
+\index{xb::xbFile@{xb::xbFile}!GetFqFileName@{GetFqFileName}}
+\index{GetFqFileName@{GetFqFileName}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetFqFileName()}{GetFqFileName()}}
+{\footnotesize\ttfamily const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+File\+::\+Get\+Fq\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the fully qualified file name.
+
+\begin{DoxyReturn}{Returns}
+the fully qualfied name of the file
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}\label{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}}
+\index{xb::xbFile@{xb::xbFile}!GetHomeDir@{GetHomeDir}}
+\index{GetHomeDir@{GetHomeDir}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetHomeDir()}{GetHomeDir()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Get\+Home\+Dir (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Home\+Dir\+Out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get home directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Home\+Dir\+Out} & -\/ Output home directory for current user. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}\label{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}}
+\index{xb::xbFile@{xb::xbFile}!GetLogDirectory@{GetLogDirectory}}
+\index{GetLogDirectory@{GetLogDirectory}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetLogDirectory()}{GetLogDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}\label{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}}
+\index{xb::xbFile@{xb::xbFile}!GetLogFileName@{GetLogFileName}}
+\index{GetLogFileName@{GetLogFileName}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetLogFileName()}{GetLogFileName()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}\label{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}}
+\index{xb::xbFile@{xb::xbFile}!GetMultiUser@{GetMultiUser}}
+\index{GetMultiUser@{GetMultiUser}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetMultiUser()}{GetMultiUser()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Multi\+User (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the multi user setting.
+
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Multi user mode turned on.~\newline
+ xb\+False -\/ Multi user mode turned off.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a3c500dc9dac22c49496e4b29386b2dd3}\label{classxb_1_1xbFile_a3c500dc9dac22c49496e4b29386b2dd3}}
+\index{xb::xbFile@{xb::xbFile}!GetOpenMode@{GetOpenMode}}
+\index{GetOpenMode@{GetOpenMode}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetOpenMode()}{GetOpenMode()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Open\+Mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the open mode of the file.
+
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+READ~\newline
+ XB\+\_\+\+READ\+\_\+\+WRITE~\newline
+ XB\+\_\+\+WRITE~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}\label{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}}
+\index{xb::xbFile@{xb::xbFile}!GetPathSeparator@{GetPathSeparator}}
+\index{GetPathSeparator@{GetPathSeparator}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetPathSeparator()}{GetPathSeparator()}}
+{\footnotesize\ttfamily char xb\+::xb\+Ssv\+::\+Get\+Path\+Separator (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the OS dependent path separator.
+
+\begin{DoxyReturn}{Returns}
+Returns \textquotesingle{}\textbackslash{}\textquotesingle{} for windows environment, otherwise returns \textquotesingle{}/\textquotesingle{}.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a9b63e05b77f477ff6109ff7b9432c1b6}\label{classxb_1_1xbFile_a9b63e05b77f477ff6109ff7b9432c1b6}}
+\index{xb::xbFile@{xb::xbFile}!GetShareMode@{GetShareMode}}
+\index{GetShareMode@{GetShareMode}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetShareMode()}{GetShareMode()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Share\+Mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the share mode of the file.
+
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+SINGLE\+\_\+\+USER -\/ (file buffering on\texorpdfstring{$>$}{>}~\newline
+ XB\+\_\+\+MULTI\+\_\+\+USER -\/ (file buffering off)~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}\label{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}}
+\index{xb::xbFile@{xb::xbFile}!GetTempDirectory@{GetTempDirectory}}
+\index{GetTempDirectory@{GetTempDirectory}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetTempDirectory()}{GetTempDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Temp\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the current temp directory.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the current data directory where the database files are stored.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a7af337808919680b90710ad5e8a99232}\label{classxb_1_1xbFile_a7af337808919680b90710ad5e8a99232}}
+\index{xb::xbFile@{xb::xbFile}!GetXbaseFileTypeByte@{GetXbaseFileTypeByte}}
+\index{GetXbaseFileTypeByte@{GetXbaseFileTypeByte}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetXbaseFileTypeByte()}{GetXbaseFileTypeByte()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Xbase\+File\+Type\+Byte (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name, }\item[{unsigned char \&}]{c\+File\+Type\+Byte }\end{DoxyParamCaption})}
+
+
+
+Get the file type byte and version of the dbf file.
+
+Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ Name of file to examine \\
+\hline
+{\em c\+File\+Type\+Byte} & -\/ Retruned first byte of dbf file \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a78aebdd21d3de46a450d5f835e3027f6}\label{classxb_1_1xbFile_a78aebdd21d3de46a450d5f835e3027f6}}
+\index{xb::xbFile@{xb::xbFile}!GetXbaseFileTypeByte@{GetXbaseFileTypeByte}}
+\index{GetXbaseFileTypeByte@{GetXbaseFileTypeByte}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetXbaseFileTypeByte()}{GetXbaseFileTypeByte()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Xbase\+File\+Type\+Byte (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name, }\item[{unsigned char \&}]{c\+File\+Type\+Byte, }\item[{xb\+Int16 \&}]{i\+Version }\end{DoxyParamCaption})}
+
+
+
+Get the file type byte and version of the dbf file.
+
+Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ Name of file to examine \\
+\hline
+{\em c\+File\+Type\+Byte} & -\/ Returned first byte of dbf file \\
+\hline
+{\em i\+Version} & -\/ Returned file version \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_aaf2e697751a0beff41432a66bb83fb5e}\label{classxb_1_1xbFile_aaf2e697751a0beff41432a66bb83fb5e}}
+\index{xb::xbFile@{xb::xbFile}!GetXbaseFileTypeByte@{GetXbaseFileTypeByte}}
+\index{GetXbaseFileTypeByte@{GetXbaseFileTypeByte}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{GetXbaseFileTypeByte()}{GetXbaseFileTypeByte()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Xbase\+File\+Type\+Byte (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name, }\item[{xb\+Int16 \&}]{i\+Version }\end{DoxyParamCaption})}
+
+
+
+Get the file type byte and version of the dbf file.
+
+Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ Name of file to examine \\
+\hline
+{\em i\+Version} & -\/ Returned file version \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a361e3cc318bbf1c4d10f069e0800a24e}\label{classxb_1_1xbFile_a361e3cc318bbf1c4d10f069e0800a24e}}
+\index{xb::xbFile@{xb::xbFile}!NameSuffixMissing@{NameSuffixMissing}}
+\index{NameSuffixMissing@{NameSuffixMissing}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{NameSuffixMissing()}{NameSuffixMissing()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Name\+Suffix\+Missing (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name, }\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption}) const}
+
+
+
+Determines status of file extension.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ Name of file to examine \\
+\hline
+{\em i\+Option} & -\/ Inspection type~\newline
+ 1 check for DBF~\newline
+ 2 check for NDX~\newline
+ 3 check for MDX~\newline
+ 4 check for NTX~\newline
+\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+0 if suffix found~\newline
+ 1 if suffix not found, lower case~\newline
+ 2 is suffix not found, upper case~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_aa1bb80340abc7a5c22f87f878e9dc825}\label{classxb_1_1xbFile_aa1bb80340abc7a5c22f87f878e9dc825}}
+\index{xb::xbFile@{xb::xbFile}!ReadBlock@{ReadBlock}}
+\index{ReadBlock@{ReadBlock}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{ReadBlock()}{ReadBlock()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Read\+Block (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Block\+No, }\item[{size\+\_\+t}]{l\+Read\+Size, }\item[{void $\ast$}]{buf }\end{DoxyParamCaption})}
+
+
+
+Read a block of data from file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Block\+No} & -\/ block number to read \\
+\hline
+{\em l\+Read\+Size} & -\/ size of data to read at block location, set to 0 to read blocksize \\
+\hline
+{\em $\ast$buf} & -\/ pointer to buffer to write output data, assumed to be previosuly allocated and large enough to contain data \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_aef696b1c4c0ef5338e818599f695d485}\label{classxb_1_1xbFile_aef696b1c4c0ef5338e818599f695d485}}
+\index{xb::xbFile@{xb::xbFile}!ReadBlock@{ReadBlock}}
+\index{ReadBlock@{ReadBlock}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{ReadBlock()}{ReadBlock()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Read\+Block (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Block\+No, }\item[{xb\+UInt32}]{ul\+Block\+Size, }\item[{size\+\_\+t}]{l\+Read\+Size, }\item[{void $\ast$}]{buf }\end{DoxyParamCaption})}
+
+
+
+Read a block of data from file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Block\+No} & -\/ block number to read \\
+\hline
+{\em ul\+Block\+Size} & -\/ block size \\
+\hline
+{\em l\+Read\+Size} & -\/ size of data to read at block location, set to 0 to read blocksize \\
+\hline
+{\em buf} & -\/ pointer to buffer to write output data, assumed to be previosuly allocated and large enough to contain data \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a991c5676a6f38fa752435390989f413e}\label{classxb_1_1xbFile_a991c5676a6f38fa752435390989f413e}}
+\index{xb::xbFile@{xb::xbFile}!SetBlockSize@{SetBlockSize}}
+\index{SetBlockSize@{SetBlockSize}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{SetBlockSize()}{SetBlockSize()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Set\+Block\+Size (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Block\+Size }\end{DoxyParamCaption})}
+
+
+
+Set the block size.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Block\+Size} & -\/ unsigned long block size, divisible by 512 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}\label{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}}
+\index{xb::xbFile@{xb::xbFile}!SetDataDirectory@{SetDataDirectory}}
+\index{SetDataDirectory@{SetDataDirectory}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{SetDataDirectory()}{SetDataDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Data\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Data\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the data directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Data\+Directory} & Set the data directory. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}\label{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}}
+\index{xb::xbFile@{xb::xbFile}!SetDefaultAutoCommit@{SetDefaultAutoCommit}}
+\index{SetDefaultAutoCommit@{SetDefaultAutoCommit}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{SetDefaultAutoCommit()}{SetDefaultAutoCommit()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Auto\+Commit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Default\+Auto\+Commit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the default auto commit.
+
+Disabling auto commit requires the application execute explicit updates using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}Append\+Record(). With auto commit on, the library posts updates automatically when moving off the current record or closing a file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Default\+Auto\+Commit} & xb\+True -\/ Enable default auto commit.~\newline
+ xb\+False -\/ Disable default auto commit.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}\label{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}}
+\index{xb::xbFile@{xb::xbFile}!SetDefaultDateFormat@{SetDefaultDateFormat}}
+\index{SetDefaultDateFormat@{SetDefaultDateFormat}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{SetDefaultDateFormat()}{SetDefaultDateFormat()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Date\+Format (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Default\+Date\+Format }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the default date format.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Default\+Date\+Format} & Set the default date format. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_ae78a85255488bc78964c16946dbaead3}\label{classxb_1_1xbFile_ae78a85255488bc78964c16946dbaead3}}
+\index{xb::xbFile@{xb::xbFile}!SetDirectory@{SetDirectory}}
+\index{SetDirectory@{SetDirectory}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{SetDirectory()}{SetDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::\+Set\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Directory }\end{DoxyParamCaption})}
+
+
+
+Set the directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Directory} & -\/ Valid directory name \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}\label{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}}
+\index{xb::xbFile@{xb::xbFile}!SetEndianType@{SetEndianType}}
+\index{SetEndianType@{SetEndianType}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{SetEndianType()}{SetEndianType()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+
+
+Set the endian type.
+
+This routine determines the Endian-\/ness at run time instead of compile time as some processers (ie; Sparc,ARM) can be switched either way. This routine is called automatically by the library at startup and does not need to be called in an application program. \mbox{\Hypertarget{classxb_1_1xbFile_a5419eb27e56822f828b2b88a9502a636}\label{classxb_1_1xbFile_a5419eb27e56822f828b2b88a9502a636}}
+\index{xb::xbFile@{xb::xbFile}!SetFileName@{SetFileName}}
+\index{SetFileName@{SetFileName}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{SetFileName()}{SetFileName()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::\+Set\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name }\end{DoxyParamCaption})}
+
+
+
+Set the filename.
+
+This routine builds out two internal variables from the input file name~\newline
+ s\+File\+Name -\/ the file name part~\newline
+ s\+Fq\+File\+Name -\/ the fully qualified file name~\newline
+
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name} & -\/ Input file name \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_aee832fa11db2077a532f49e1329bd05a}\label{classxb_1_1xbFile_aee832fa11db2077a532f49e1329bd05a}}
+\index{xb::xbFile@{xb::xbFile}!SetFqFileName@{SetFqFileName}}
+\index{SetFqFileName@{SetFqFileName}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{SetFqFileName()}{SetFqFileName()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::\+Set\+Fq\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Fq\+File\+Name }\end{DoxyParamCaption})}
+
+
+
+Set the fully qualifed filename.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Fq\+File\+Name} & -\/ Fully qualifed input file name \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_a060acbfaa8d528f86cb59301814b414a}\label{classxb_1_1xbFile_a060acbfaa8d528f86cb59301814b414a}}
+\index{xb::xbFile@{xb::xbFile}!SetHomeFolders@{SetHomeFolders}}
+\index{SetHomeFolders@{SetHomeFolders}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{SetHomeFolders()}{SetHomeFolders()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Set\+Home\+Folders (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Set Home Folders.
+
+Create xbase64 log, data and temp folders in the home directory for current usre.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}\label{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}}
+\index{xb::xbFile@{xb::xbFile}!SetLogDirectory@{SetLogDirectory}}
+\index{SetLogDirectory@{SetLogDirectory}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{SetLogDirectory()}{SetLogDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}\label{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}}
+\index{xb::xbFile@{xb::xbFile}!SetLogFileName@{SetLogFileName}}
+\index{SetLogFileName@{SetLogFileName}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{SetLogFileName()}{SetLogFileName()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+File\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}\label{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}}
+\index{xb::xbFile@{xb::xbFile}!SetMultiUser@{SetMultiUser}}
+\index{SetMultiUser@{SetMultiUser}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{SetMultiUser()}{SetMultiUser()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Multi\+User (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Multi\+User }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the multi user setting.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Multi\+User} & xb\+True -\/ Turn on Multi user mode.~\newline
+ xb\+False -\/ Turn off Multi user mode.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}\label{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}}
+\index{xb::xbFile@{xb::xbFile}!SetTempDirectory@{SetTempDirectory}}
+\index{SetTempDirectory@{SetTempDirectory}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{SetTempDirectory()}{SetTempDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Temp\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Temp\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the temp directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Temp\+Directory} & Set the data direcroty. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbFile_a5d871dcfecc2b4338f7a13722aab766c}\label{classxb_1_1xbFile_a5d871dcfecc2b4338f7a13722aab766c}}
+\index{xb::xbFile@{xb::xbFile}!WriteBlock@{WriteBlock}}
+\index{WriteBlock@{WriteBlock}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{WriteBlock()}{WriteBlock()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Write\+Block (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Block\+No, }\item[{size\+\_\+t}]{l\+Write\+Size, }\item[{void $\ast$}]{buf }\end{DoxyParamCaption})}
+
+
+
+Write a block of data to file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Block\+No} & -\/ block number to write \\
+\hline
+{\em l\+Write\+Size} & -\/ size of data to write, set to 0 to write blocksize \\
+\hline
+{\em $\ast$buf} & -\/ pointer to buffer of data to be written \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a18830b5755d74818f60d9c7ce38ddf2d}\label{classxb_1_1xbFile_a18830b5755d74818f60d9c7ce38ddf2d}}
+\index{xb::xbFile@{xb::xbFile}!xbFclose@{xbFclose}}
+\index{xbFclose@{xbFclose}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFclose()}{xbFclose()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fclose (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fclose.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_af5b6356832d2a67212070a1aa605f170}\label{classxb_1_1xbFile_af5b6356832d2a67212070a1aa605f170}}
+\index{xb::xbFile@{xb::xbFile}!xbFeof@{xbFeof}}
+\index{xbFeof@{xbFeof}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFeof()}{xbFeof()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Feof (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary feof.
+
+\begin{DoxyReturn}{Returns}
+non zero if end-\/of-\/file is set for the stream.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ad205184d43409f04216540ae22f15009}\label{classxb_1_1xbFile_ad205184d43409f04216540ae22f15009}}
+\index{xb::xbFile@{xb::xbFile}!xbFflush@{xbFflush}}
+\index{xbFflush@{xbFflush}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFflush()}{xbFflush()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fflush (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fflush.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a5ee229bda4d7d6695e122200e581e7a6}\label{classxb_1_1xbFile_a5ee229bda4d7d6695e122200e581e7a6}}
+\index{xb::xbFile@{xb::xbFile}!xbFgetc@{xbFgetc}}
+\index{xbFgetc@{xbFgetc}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFgetc()}{xbFgetc()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fgetc (\begin{DoxyParamCaption}\item[{char \&}]{c }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fgetc.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & -\/ output character returned by fgetc \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_afb1c584d2895ffb7834df80aea7eb1e4}\label{classxb_1_1xbFile_afb1c584d2895ffb7834df80aea7eb1e4}}
+\index{xb::xbFile@{xb::xbFile}!xbFgetc@{xbFgetc}}
+\index{xbFgetc@{xbFgetc}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFgetc()}{xbFgetc()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fgetc (\begin{DoxyParamCaption}\item[{xb\+Int32 \&}]{c }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fgetc.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & -\/ output integer returned by fgetc \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ad245955ace26e5dde85fd4373b30d026}\label{classxb_1_1xbFile_ad245955ace26e5dde85fd4373b30d026}}
+\index{xb::xbFile@{xb::xbFile}!xbFgets@{xbFgets}}
+\index{xbFgets@{xbFgets}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFgets()}{xbFgets()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fgets (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{l\+Size, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fgets.
+
+
+\begin{DoxyParams}{Parameters}
+{\em l\+Size} & -\/ reads in at most, one character less than l\+Size \\
+\hline
+{\em s} & -\/ an \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing data returned by fseek \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ab0fa19686ca8953ff4b556fb5b249135}\label{classxb_1_1xbFile_ab0fa19686ca8953ff4b556fb5b249135}}
+\index{xb::xbFile@{xb::xbFile}!xbFopen@{xbFopen}}
+\index{xbFopen@{xbFopen}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFopen()}{xbFopen()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fopen (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Open\+Mode, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name, }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fopen.
+
+This routine supports all the standard C library open modes. The Xbase routines only use \char`\"{}r\char`\"{} and \char`\"{}r+b\char`\"{}.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Open\+Mode} & {\begin{tabularx}{\linewidth}{|*{2}{>{\raggedright\arraybackslash}X|}}\hline
+\cellcolor{\tableheadbgcolor}\textbf{ Open\+Mode}&\cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-2}
+r&Reading \\\cline{1-2}
+r+&Reading and Writing \\\cline{1-2}
+w&Open for writing. Truncate to zero bytes if it exists \\\cline{1-2}
+w+&Open for reading and writing, truncate to zero bytes if it exists \\\cline{1-2}
+a&Open for append \\\cline{1-2}
+a+&Open for reading and writing (at end). \\\cline{1-2}
+\end{tabularx}}
+The mode can also include the letter \char`\"{}b\char`\"{} for binary ie; \char`\"{}r+b\char`\"{}. The \char`\"{}b\char`\"{} is ignored on POSIX compliant systems, but is included for cross platform compatibility. \\
+\hline
+{\em s\+File\+Name} & File name to open \\
+\hline
+{\em i\+Share\+Mode} & XB\+\_\+\+SINGLE\+\_\+\+USER~\newline
+ XB\+\_\+\+MULTI\+\_\+\+USER~\newline
+ \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a0548cedf0f26b7d8ac221f75b0cd048c}\label{classxb_1_1xbFile_a0548cedf0f26b7d8ac221f75b0cd048c}}
+\index{xb::xbFile@{xb::xbFile}!xbFopen@{xbFopen}}
+\index{xbFopen@{xbFopen}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFopen()}{xbFopen()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fopen (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Open\+Mode, }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fopen.
+
+This routine supports all the standard C library open modes. The Xbase routines only use \char`\"{}r\char`\"{} and \char`\"{}r+\char`\"{}.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Open\+Mode} & {\begin{tabularx}{\linewidth}{|*{2}{>{\raggedright\arraybackslash}X|}}\hline
+\cellcolor{\tableheadbgcolor}\textbf{ Open\+Mode}&\cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-2}
+r&Reading \\\cline{1-2}
+r+&Reading and Writing \\\cline{1-2}
+w&Open for writing. Truncate to zero bytes if it exists \\\cline{1-2}
+w+&Open for reading and writing, truncate to zero bytes if it exists \\\cline{1-2}
+a&Open for append \\\cline{1-2}
+a+&Open for reading and writing (at end). \\\cline{1-2}
+\end{tabularx}}
+The mode can also include the letter \char`\"{}b\char`\"{} for binary ie; \char`\"{}r+b\char`\"{}. The \char`\"{}b\char`\"{} is ignored on POSIX compliant systems, but is included for cross platform compatibility. \\
+\hline
+{\em i\+Share\+Mode} & XB\+\_\+\+SINGLE\+\_\+\+USER~\newline
+ XB\+\_\+\+MULTI\+\_\+\+USER~\newline
+ \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a7cdfef5ede9ac98d44a28a6b7a70972c}\label{classxb_1_1xbFile_a7cdfef5ede9ac98d44a28a6b7a70972c}}
+\index{xb::xbFile@{xb::xbFile}!xbFopen@{xbFopen}}
+\index{xbFopen@{xbFopen}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFopen()}{xbFopen()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fopen (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Open\+Mode }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbFile_aabd113333b49c36cad23244b392baab4}\label{classxb_1_1xbFile_aabd113333b49c36cad23244b392baab4}}
+\index{xb::xbFile@{xb::xbFile}!xbFopen@{xbFopen}}
+\index{xbFopen@{xbFopen}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFopen()}{xbFopen()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fopen (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Open\+Mode, }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fopen.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Open\+Mode} & XB\+\_\+\+READ~\newline
+ XB\+\_\+\+READ\+\_\+\+WRITE~\newline
+ \\
+\hline
+{\em i\+Share\+Mode} & XB\+\_\+\+SINGLE\+\_\+\+USER~\newline
+ XB\+\_\+\+MULTI\+\_\+\+USER~\newline
+ \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_af2e940c78956e5cb6824f9a1bc404896}\label{classxb_1_1xbFile_af2e940c78956e5cb6824f9a1bc404896}}
+\index{xb::xbFile@{xb::xbFile}!xbFputc@{xbFputc}}
+\index{xbFputc@{xbFputc}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFputc()}{xbFputc()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fputc (\begin{DoxyParamCaption}\item[{xb\+Int32}]{c }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fputc.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Character to write \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a863f74cf17df8186d88586b4d2a6441a}\label{classxb_1_1xbFile_a863f74cf17df8186d88586b4d2a6441a}}
+\index{xb::xbFile@{xb::xbFile}!xbFputc@{xbFputc}}
+\index{xbFputc@{xbFputc}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFputc()}{xbFputc()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fputc (\begin{DoxyParamCaption}\item[{xb\+Int32}]{c, }\item[{xb\+Int32}]{i\+No\+Of\+Times }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fputc.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Character to write \\
+\hline
+{\em i\+No\+Of\+Times} & Number of times to write the character \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a698f3b40216778562e639e6ca1a47573}\label{classxb_1_1xbFile_a698f3b40216778562e639e6ca1a47573}}
+\index{xb::xbFile@{xb::xbFile}!xbFputs@{xbFputs}}
+\index{xbFputs@{xbFputs}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFputs()}{xbFputs()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fputs (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fputs.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} to write to file \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ab4f6afaa1f77539f27a4f05c26e54e2f}\label{classxb_1_1xbFile_ab4f6afaa1f77539f27a4f05c26e54e2f}}
+\index{xb::xbFile@{xb::xbFile}!xbFread@{xbFread}}
+\index{xbFread@{xbFread}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFread()}{xbFread()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fread (\begin{DoxyParamCaption}\item[{void $\ast$}]{p, }\item[{size\+\_\+t}]{size, }\item[{size\+\_\+t}]{nmemb }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fread.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & Pointer to data to write \\
+\hline
+{\em size} & size of write \\
+\hline
+{\em nmemb} & Number of times to read it \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a5337ab8918df240910c0d19b4f298e3d}\label{classxb_1_1xbFile_a5337ab8918df240910c0d19b4f298e3d}}
+\index{xb::xbFile@{xb::xbFile}!xbFseek@{xbFseek}}
+\index{xbFseek@{xbFseek}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFseek()}{xbFseek()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fseek (\begin{DoxyParamCaption}\item[{xb\+Int64}]{l\+Offset, }\item[{xb\+Int32}]{i\+Whence }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fseek.
+
+
+\begin{DoxyParams}{Parameters}
+{\em l\+Offset} & Position in file to seek to \\
+\hline
+{\em i\+Whence} & SEEK\+\_\+\+SET -\/ from beginning of file~\newline
+ SEEK\+\_\+\+CUR -\/ from current position~\newline
+ SEEK\+\_\+\+END -\/ from end of file~\newline
+ \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a0e1c06aedfa7fbcb92e117f891edd13b}\label{classxb_1_1xbFile_a0e1c06aedfa7fbcb92e117f891edd13b}}
+\index{xb::xbFile@{xb::xbFile}!xbFtell@{xbFtell}}
+\index{xbFtell@{xbFtell}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFtell()}{xbFtell()}}
+{\footnotesize\ttfamily size\+\_\+t xb\+::xb\+File\+::xb\+Ftell (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary ftell.
+
+Returns the current file position. \begin{DoxyReturn}{Returns}
+Current file position.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a9891b792f585a696f38a5cf959e30918}\label{classxb_1_1xbFile_a9891b792f585a696f38a5cf959e30918}}
+\index{xb::xbFile@{xb::xbFile}!xbFTurnOffFileBuffering@{xbFTurnOffFileBuffering}}
+\index{xbFTurnOffFileBuffering@{xbFTurnOffFileBuffering}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFTurnOffFileBuffering()}{xbFTurnOffFileBuffering()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::xb\+FTurn\+Off\+File\+Buffering (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Turn off file buffering.
+
+Turns off file buffering. File buffering can\textquotesingle{}t be used while in multi user mode. \mbox{\Hypertarget{classxb_1_1xbFile_a6aadd871d1782944703fed773d44b85f}\label{classxb_1_1xbFile_a6aadd871d1782944703fed773d44b85f}}
+\index{xb::xbFile@{xb::xbFile}!xbFwrite@{xbFwrite}}
+\index{xbFwrite@{xbFwrite}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbFwrite()}{xbFwrite()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fwrite (\begin{DoxyParamCaption}\item[{const void $\ast$}]{p, }\item[{size\+\_\+t}]{size, }\item[{size\+\_\+t}]{nmemb }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for standard libary fwrite.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p} & Pointer to data buffer to write \\
+\hline
+{\em size} & Size of data to write \\
+\hline
+{\em nmemb} & Number of times to write data buffer \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a08463f506f425c2385acbe1a561506e9}\label{classxb_1_1xbFile_a08463f506f425c2385acbe1a561506e9}}
+\index{xb::xbFile@{xb::xbFile}!xbReadUntil@{xbReadUntil}}
+\index{xbReadUntil@{xbReadUntil}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbReadUntil()}{xbReadUntil()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Read\+Until (\begin{DoxyParamCaption}\item[{const char}]{c\+Delim, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Out }\end{DoxyParamCaption})}
+
+
+
+Read file until a particular character is encountered on input stream.
+
+This routine will read until c\+Delim is encountered or eof, which ever occurs first.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c\+Delim} & Delimiter to stop writing at. \\
+\hline
+{\em s\+Out} & Output \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing data read \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_ab3c668a8570433188382d31d7c60bd48}\label{classxb_1_1xbFile_ab3c668a8570433188382d31d7c60bd48}}
+\index{xb::xbFile@{xb::xbFile}!xbRemove@{xbRemove}}
+\index{xbRemove@{xbRemove}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbRemove()}{xbRemove()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Remove (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Delete file.
+
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a58f6a6751fdf7e9549c273bb75d93eb5}\label{classxb_1_1xbFile_a58f6a6751fdf7e9549c273bb75d93eb5}}
+\index{xb::xbFile@{xb::xbFile}!xbRemove@{xbRemove}}
+\index{xbRemove@{xbRemove}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbRemove()}{xbRemove()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Remove (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+In }\end{DoxyParamCaption})}
+
+
+
+Delete file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name\+In} & Name of file to delete \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a6d919366c2ec95e529906bf8842cbf07}\label{classxb_1_1xbFile_a6d919366c2ec95e529906bf8842cbf07}}
+\index{xb::xbFile@{xb::xbFile}!xbRemove@{xbRemove}}
+\index{xbRemove@{xbRemove}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbRemove()}{xbRemove()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Remove (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+In, }\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})}
+
+
+
+Delete file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+File\+Name\+In} & Name of file to delete \\
+\hline
+{\em i\+Option} & If Set to 1, assume this is a delete request for a dbf file, and should rename the dbt file also \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_afc8ce113aa72611a278233f9bb170012}\label{classxb_1_1xbFile_afc8ce113aa72611a278233f9bb170012}}
+\index{xb::xbFile@{xb::xbFile}!xbRename@{xbRename}}
+\index{xbRename@{xbRename}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbRename()}{xbRename()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Rename (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Old\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+New\+Name }\end{DoxyParamCaption})}
+
+
+
+Rename file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Old\+Name} & Original file name \\
+\hline
+{\em s\+New\+Name} & New file name \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbFile_a7996b6e084665c37c3892faea64b3505}\label{classxb_1_1xbFile_a7996b6e084665c37c3892faea64b3505}}
+\index{xb::xbFile@{xb::xbFile}!xbRewind@{xbRewind}}
+\index{xbRewind@{xbRewind}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbRewind()}{xbRewind()}}
+{\footnotesize\ttfamily void xb\+::xb\+File\+::xb\+Rewind (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for rewind.
+
+Set file pointer at beginning of file. \mbox{\Hypertarget{classxb_1_1xbFile_a518bfcbfa3699d883cf89affee383296}\label{classxb_1_1xbFile_a518bfcbfa3699d883cf89affee383296}}
+\index{xb::xbFile@{xb::xbFile}!xbTruncate@{xbTruncate}}
+\index{xbTruncate@{xbTruncate}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbTruncate()}{xbTruncate()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Truncate (\begin{DoxyParamCaption}\item[{xb\+Int64}]{ll\+Size }\end{DoxyParamCaption})}
+
+
+
+Xbase wrapper for ftruncate.
+
+Set file size to ll\+Size
+\begin{DoxyParams}{Parameters}
+{\em ll\+Size} & New file size. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+
+
+\doxysubsection{Field Documentation}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}\label{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}}
+\index{xb::xbFile@{xb::xbFile}!ErrorCodeText@{ErrorCodeText}}
+\index{ErrorCodeText@{ErrorCodeText}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{ErrorCodeText}{ErrorCodeText}}
+{\footnotesize\ttfamily const char$\ast$ xb\+::xb\+Ssv\+::\+Error\+Code\+Text\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}\label{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}}
+\index{xb::xbFile@{xb::xbFile}!iEndianType@{iEndianType}}
+\index{iEndianType@{iEndianType}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{iEndianType}{iEndianType}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::i\+Endian\+Type = 0\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}\label{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}}
+\index{xb::xbFile@{xb::xbFile}!sNullString@{sNullString}}
+\index{sNullString@{sNullString}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{sNullString}{sNullString}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+Ssv\+::s\+Null\+String = \char`\"{}\char`\"{}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbFile_ae39a67ea391b46055d4ca299cb222004}\label{classxb_1_1xbFile_ae39a67ea391b46055d4ca299cb222004}}
+\index{xb::xbFile@{xb::xbFile}!xbase@{xbase}}
+\index{xbase@{xbase}!xb::xbFile@{xb::xbFile}}
+\doxysubsubsection{\texorpdfstring{xbase}{xbase}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}}$\ast$ xb\+::xb\+File\+::xbase\hspace{0.3cm}{\ttfamily [protected]}}
+
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbfile_8h}{xbfile.\+h}}\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbfile_8cpp}{xbfile.\+cpp}}\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbSsv.eps b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbSsv.eps
new file mode 100644
index 0000000..2cceb9d
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbSsv.eps
@@ -0,0 +1,219 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 217.391312
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.300000 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 3 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text 'arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col 'arg1' to 'arg2' of row 'arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(xb::xbSsv) cw
+(xb::xbDate) cw
+(xb::xbFile) cw
+(xb::xbTblMgr) cw
+(xb::xbDbf) cw
+(xb::xbXBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (xb::xbSsv) 1.000000 2.000000 box
+ (xb::xbDate) 0.000000 1.000000 box
+ (xb::xbFile) 1.000000 1.000000 box
+ (xb::xbTblMgr) 2.000000 1.000000 box
+ (xb::xbDbf) 1.000000 0.000000 box
+ (xb::xbXBase) 2.000000 0.000000 box
+
+% ----- relations -----
+
+solid
+1 1.000000 1.250000 out
+solid
+0.000000 2.000000 2.000000 conn
+solid
+0 0.000000 1.750000 in
+solid
+0 1.000000 1.750000 in
+solid
+1 1.000000 0.250000 out
+solid
+0 2.000000 1.750000 in
+solid
+1 2.000000 0.250000 out
+solid
+0 1.000000 0.750000 in
+solid
+0 2.000000 0.750000 in
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbSsv.pdf b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbSsv.pdf
new file mode 100644
index 0000000..526c8c1
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbSsv.pdf
Binary files differ
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbSsv.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbSsv.tex
new file mode 100644
index 0000000..b98b436
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbSsv.tex
@@ -0,0 +1,427 @@
+\hypertarget{classxb_1_1xbSsv}{}\doxysection{xb\+::xb\+Ssv Class Reference}
+\label{classxb_1_1xbSsv}\index{xb::xbSsv@{xb::xbSsv}}
+
+
+Class for handling shared system variables.
+
+
+
+
+{\ttfamily \#include $<$xbssv.\+h$>$}
+
+Inheritance diagram for xb\+::xb\+Ssv\+:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3.000000cm]{classxb_1_1xbSsv}
+\end{center}
+\end{figure}
+\doxysubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\hyperlink{classxb_1_1xbSsv_a58f85692c3167af20b1a7c17c621523b}{xb\+Ssv}} ()
+\begin{DoxyCompactList}\small\item\em Class Constructor. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}{Display\+Error}} (xb\+Int16 Error\+Code) const
+\begin{DoxyCompactList}\small\item\em Display error message on console for a given error number. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}{Get\+Default\+Date\+Format}} () const
+\begin{DoxyCompactList}\small\item\em Get the default date format. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}{Get\+Data\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the current data directory. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}{Get\+Temp\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the current temp directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}{Get\+Home\+Dir}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Home\+Dir\+Out)
+\begin{DoxyCompactList}\small\item\em Get home directory. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}{Get\+Endian\+Type}} () const
+\begin{DoxyCompactList}\small\item\em Get the Endian type. \end{DoxyCompactList}\item
+const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}{Get\+Error\+Message}} (xb\+Int16 Error\+Code) const
+\begin{DoxyCompactList}\small\item\em Get an error message. \end{DoxyCompactList}\item
+char \mbox{\hyperlink{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}{Get\+Path\+Separator}} () const
+\begin{DoxyCompactList}\small\item\em Get the OS dependent path separator. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}{Set\+Data\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Data\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the data directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}{Set\+Default\+Date\+Format}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Default\+Date\+Format)
+\begin{DoxyCompactList}\small\item\em Set the default date format. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}{Set\+Temp\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Temp\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the temp directory. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}{Bit\+Set}} (unsigned char c, xb\+Int16 i\+Bit\+No) const
+\begin{DoxyCompactList}\small\item\em Check a bit in a one byte field and see if it is set. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}{Bit\+Dump}} (unsigned char c) const
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}{Bit\+Dump}} (char c) const
+\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}{Get\+Default\+Auto\+Commit}} () const
+\begin{DoxyCompactList}\small\item\em Get the default auto commit setting. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}{Set\+Default\+Auto\+Commit}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Default\+Auto\+Commit)
+\begin{DoxyCompactList}\small\item\em Set the default auto commit. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}{Get\+Log\+Directory}} () const
+\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}{Get\+Log\+File\+Name}} () const
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}{Set\+Log\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+Directory)
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}{Set\+Log\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+File\+Name)
+\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}{Get\+Multi\+User}} () const
+\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}{Set\+Multi\+User}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Multi\+User)
+\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Static Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+static const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}{Error\+Code\+Text}} \mbox{[}$\,$\mbox{]}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}{Set\+Endian\+Type}} ()
+\begin{DoxyCompactList}\small\item\em Set the endian type. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Static Protected Attributes}
+\begin{DoxyCompactItemize}
+\item
+static xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}{i\+Endian\+Type}} = 0
+\item
+static \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}{s\+Null\+String}} = \char`\"{}\char`\"{}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Detailed Description}
+Class for handling shared system variables.
+
+This class defines static variables which are referenced across class instances.
+
+This class is designed to have the variables set when the \mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} class constructor is called (\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} is a derived class). The xb\+Xbase class is designed to be called first in an application programs, and it is only called once. The static values in this class are typically initialized at program startup and don\textquotesingle{}t require additional updates.
+
+\doxysubsection{Constructor \& Destructor Documentation}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a58f85692c3167af20b1a7c17c621523b}\label{classxb_1_1xbSsv_a58f85692c3167af20b1a7c17c621523b}}
+\index{xb::xbSsv@{xb::xbSsv}!xbSsv@{xbSsv}}
+\index{xbSsv@{xbSsv}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{xbSsv()}{xbSsv()}}
+{\footnotesize\ttfamily xb\+::xb\+Ssv\+::xb\+Ssv (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Class Constructor.
+
+
+
+\doxysubsection{Member Function Documentation}
+\mbox{\Hypertarget{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}\label{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}}
+\index{xb::xbSsv@{xb::xbSsv}!BitDump@{BitDump}}
+\index{BitDump@{BitDump}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption}) const}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}\label{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}}
+\index{xb::xbSsv@{xb::xbSsv}!BitDump@{BitDump}}
+\index{BitDump@{BitDump}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{unsigned char}]{c }\end{DoxyParamCaption}) const}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}\label{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}}
+\index{xb::xbSsv@{xb::xbSsv}!BitSet@{BitSet}}
+\index{BitSet@{BitSet}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{BitSet()}{BitSet()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Bit\+Set (\begin{DoxyParamCaption}\item[{unsigned char}]{c, }\item[{xb\+Int16}]{i\+Bit\+No }\end{DoxyParamCaption}) const}
+
+
+
+Check a bit in a one byte field and see if it is set.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & One byte char field to examine. \\
+\hline
+{\em i\+Bit\+No} & which bit to examine. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True Bit is set~\newline
+ xb\+False Bit is not set
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}\label{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}}
+\index{xb::xbSsv@{xb::xbSsv}!DisplayError@{DisplayError}}
+\index{DisplayError@{DisplayError}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{DisplayError()}{DisplayError()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Display\+Error (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const}
+
+
+
+Display error message on console for a given error number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Error\+Code} & Error number to reference \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}\label{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}}
+\index{xb::xbSsv@{xb::xbSsv}!GetDataDirectory@{GetDataDirectory}}
+\index{GetDataDirectory@{GetDataDirectory}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{GetDataDirectory()}{GetDataDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Data\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the current data directory.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the current data directory where the database files are stored.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}\label{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}}
+\index{xb::xbSsv@{xb::xbSsv}!GetDefaultAutoCommit@{GetDefaultAutoCommit}}
+\index{GetDefaultAutoCommit@{GetDefaultAutoCommit}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{GetDefaultAutoCommit()}{GetDefaultAutoCommit()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Default\+Auto\+Commit (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the default auto commit setting.
+
+When auto commit is enabled, the library will automatically post any updates when moving off an updated record or closing files. If auto commit is disabled, the application program will need to explicitly update the tables using using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}Append\+Record().
+
+\begin{DoxyReturn}{Returns}
+xb\+True if auto commit is turned on~\newline
+ xb\+False is auto commit is turned off
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}\label{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}}
+\index{xb::xbSsv@{xb::xbSsv}!GetDefaultDateFormat@{GetDefaultDateFormat}}
+\index{GetDefaultDateFormat@{GetDefaultDateFormat}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{GetDefaultDateFormat()}{GetDefaultDateFormat()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Default\+Date\+Format (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the default date format.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the default date format.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}\label{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}}
+\index{xb::xbSsv@{xb::xbSsv}!GetEndianType@{GetEndianType}}
+\index{GetEndianType@{GetEndianType}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{GetEndianType()}{GetEndianType()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::\+Get\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the Endian type.
+
+\begin{DoxyReturn}{Returns}
+B -\/ Big endian~\newline
+ L -\/ Little endian~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}\label{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}}
+\index{xb::xbSsv@{xb::xbSsv}!GetErrorMessage@{GetErrorMessage}}
+\index{GetErrorMessage@{GetErrorMessage}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{GetErrorMessage()}{GetErrorMessage()}}
+{\footnotesize\ttfamily const char $\ast$ xb\+::xb\+Ssv\+::\+Get\+Error\+Message (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const}
+
+
+
+Get an error message.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Error\+Code} & Error\+Code is the error number of description to be returned. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns a pointer to a string containing a text description for the error code.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}\label{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}}
+\index{xb::xbSsv@{xb::xbSsv}!GetHomeDir@{GetHomeDir}}
+\index{GetHomeDir@{GetHomeDir}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{GetHomeDir()}{GetHomeDir()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Get\+Home\+Dir (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Home\+Dir\+Out }\end{DoxyParamCaption})}
+
+
+
+Get home directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Home\+Dir\+Out} & -\/ Output home directory for current user. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}\label{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}}
+\index{xb::xbSsv@{xb::xbSsv}!GetLogDirectory@{GetLogDirectory}}
+\index{GetLogDirectory@{GetLogDirectory}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{GetLogDirectory()}{GetLogDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}\label{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}}
+\index{xb::xbSsv@{xb::xbSsv}!GetLogFileName@{GetLogFileName}}
+\index{GetLogFileName@{GetLogFileName}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{GetLogFileName()}{GetLogFileName()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}\label{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}}
+\index{xb::xbSsv@{xb::xbSsv}!GetMultiUser@{GetMultiUser}}
+\index{GetMultiUser@{GetMultiUser}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{GetMultiUser()}{GetMultiUser()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Multi\+User (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the multi user setting.
+
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Multi user mode turned on.~\newline
+ xb\+False -\/ Multi user mode turned off.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}\label{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}}
+\index{xb::xbSsv@{xb::xbSsv}!GetPathSeparator@{GetPathSeparator}}
+\index{GetPathSeparator@{GetPathSeparator}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{GetPathSeparator()}{GetPathSeparator()}}
+{\footnotesize\ttfamily char xb\+::xb\+Ssv\+::\+Get\+Path\+Separator (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the OS dependent path separator.
+
+\begin{DoxyReturn}{Returns}
+Returns \textquotesingle{}\textbackslash{}\textquotesingle{} for windows environment, otherwise returns \textquotesingle{}/\textquotesingle{}.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}\label{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}}
+\index{xb::xbSsv@{xb::xbSsv}!GetTempDirectory@{GetTempDirectory}}
+\index{GetTempDirectory@{GetTempDirectory}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{GetTempDirectory()}{GetTempDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Temp\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the current temp directory.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the current data directory where the database files are stored.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}\label{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}}
+\index{xb::xbSsv@{xb::xbSsv}!SetDataDirectory@{SetDataDirectory}}
+\index{SetDataDirectory@{SetDataDirectory}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{SetDataDirectory()}{SetDataDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Data\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Data\+Directory }\end{DoxyParamCaption})}
+
+
+
+Set the data directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Data\+Directory} & Set the data directory. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}\label{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}}
+\index{xb::xbSsv@{xb::xbSsv}!SetDefaultAutoCommit@{SetDefaultAutoCommit}}
+\index{SetDefaultAutoCommit@{SetDefaultAutoCommit}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{SetDefaultAutoCommit()}{SetDefaultAutoCommit()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Auto\+Commit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Default\+Auto\+Commit }\end{DoxyParamCaption})}
+
+
+
+Set the default auto commit.
+
+Disabling auto commit requires the application execute explicit updates using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}Append\+Record(). With auto commit on, the library posts updates automatically when moving off the current record or closing a file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Default\+Auto\+Commit} & xb\+True -\/ Enable default auto commit.~\newline
+ xb\+False -\/ Disable default auto commit.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}\label{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}}
+\index{xb::xbSsv@{xb::xbSsv}!SetDefaultDateFormat@{SetDefaultDateFormat}}
+\index{SetDefaultDateFormat@{SetDefaultDateFormat}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{SetDefaultDateFormat()}{SetDefaultDateFormat()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Date\+Format (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Default\+Date\+Format }\end{DoxyParamCaption})}
+
+
+
+Set the default date format.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Default\+Date\+Format} & Set the default date format. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}\label{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}}
+\index{xb::xbSsv@{xb::xbSsv}!SetEndianType@{SetEndianType}}
+\index{SetEndianType@{SetEndianType}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{SetEndianType()}{SetEndianType()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}
+
+
+
+Set the endian type.
+
+This routine determines the Endian-\/ness at run time instead of compile time as some processers (ie; Sparc,ARM) can be switched either way. This routine is called automatically by the library at startup and does not need to be called in an application program. \mbox{\Hypertarget{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}\label{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}}
+\index{xb::xbSsv@{xb::xbSsv}!SetLogDirectory@{SetLogDirectory}}
+\index{SetLogDirectory@{SetLogDirectory}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{SetLogDirectory()}{SetLogDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+Directory }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}\label{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}}
+\index{xb::xbSsv@{xb::xbSsv}!SetLogFileName@{SetLogFileName}}
+\index{SetLogFileName@{SetLogFileName}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{SetLogFileName()}{SetLogFileName()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+File\+Name }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}\label{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}}
+\index{xb::xbSsv@{xb::xbSsv}!SetMultiUser@{SetMultiUser}}
+\index{SetMultiUser@{SetMultiUser}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{SetMultiUser()}{SetMultiUser()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Multi\+User (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Multi\+User }\end{DoxyParamCaption})}
+
+
+
+Get the multi user setting.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Multi\+User} & xb\+True -\/ Turn on Multi user mode.~\newline
+ xb\+False -\/ Turn off Multi user mode.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}\label{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}}
+\index{xb::xbSsv@{xb::xbSsv}!SetTempDirectory@{SetTempDirectory}}
+\index{SetTempDirectory@{SetTempDirectory}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{SetTempDirectory()}{SetTempDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Temp\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Temp\+Directory }\end{DoxyParamCaption})}
+
+
+
+Set the temp directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Temp\+Directory} & Set the data direcroty. \\
+\hline
+\end{DoxyParams}
+
+
+\doxysubsection{Field Documentation}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}\label{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}}
+\index{xb::xbSsv@{xb::xbSsv}!ErrorCodeText@{ErrorCodeText}}
+\index{ErrorCodeText@{ErrorCodeText}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{ErrorCodeText}{ErrorCodeText}}
+{\footnotesize\ttfamily const char$\ast$ xb\+::xb\+Ssv\+::\+Error\+Code\+Text\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}\label{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}}
+\index{xb::xbSsv@{xb::xbSsv}!iEndianType@{iEndianType}}
+\index{iEndianType@{iEndianType}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{iEndianType}{iEndianType}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::i\+Endian\+Type = 0\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}\label{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}}
+\index{xb::xbSsv@{xb::xbSsv}!sNullString@{sNullString}}
+\index{sNullString@{sNullString}!xb::xbSsv@{xb::xbSsv}}
+\doxysubsubsection{\texorpdfstring{sNullString}{sNullString}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+Ssv\+::s\+Null\+String = \char`\"{}\char`\"{}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}}
+
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbssv_8h}{xbssv.\+h}}\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbssv_8cpp}{xbssv.\+cpp}}\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbString.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbString.tex
new file mode 100644
index 0000000..d589549
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbString.tex
@@ -0,0 +1,1776 @@
+\hypertarget{classxb_1_1xbString}{}\doxysection{xb\+::xb\+String Class Reference}
+\label{classxb_1_1xbString}\index{xb::xbString@{xb::xbString}}
+
+
+Class for handling string data.
+
+
+
+
+{\ttfamily \#include $<$xbstring.\+h$>$}
+
+\doxysubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\hyperlink{classxb_1_1xbString_a63f9313217e0ff3c9789ec59316216a1}{xb\+String}} (xb\+UInt32 size)
+\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString_a14bbaa293c8d40dd6c64332f2668a92e}{xb\+String}} (char c)
+\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString_a18f3598dcdf2ec5692274fc8ee769ad7}{xb\+String}} (const char $\ast$s, xb\+UInt32 l\+Max\+Len)
+\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString_a0d81016b93fc36ebbbafacf35c677f07}{xb\+String}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s)
+\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString_a25856311106c5fb15d39017b63f0ddc7}{xb\+String}} (const char $\ast$=\char`\"{}\char`\"{})
+\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString_ad865b55e3b08dffd527afee8e7e8e3fe}{xb\+String}} (\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} d)
+\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString_a10a6549efab02bc76ab33b15916b1eb1}{$\sim$xb\+String}} ()
+\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a4f69d11cbd43edf71725a606d0ca8f40}{operator=}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s)
+\begin{DoxyCompactList}\small\item\em Set operator =. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a84ae7d16c5d73c5aa2270aa9895a7f7c}{operator=}} (const char $\ast$s)
+\begin{DoxyCompactList}\small\item\em Set operator =. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString_a545df0ae9590f0ea5844a165e38a6388}{operator const char $\ast$}} () const
+\begin{DoxyCompactList}\small\item\em Operator const char $\ast$. \end{DoxyCompactList}\item
+char \& \mbox{\hyperlink{classxb_1_1xbString_abe45e463226ac8e18550ced18c5a9df3}{operator\mbox{[}$\,$\mbox{]}}} (xb\+UInt32 n) const
+\begin{DoxyCompactList}\small\item\em operator \mbox{[}\mbox{]} \end{DoxyCompactList}\item
+char \& \mbox{\hyperlink{classxb_1_1xbString_a4deaa68d9571753349c29baacb5613e8}{operator\mbox{[}$\,$\mbox{]}}} (xb\+Int32 n) const
+\begin{DoxyCompactList}\small\item\em operator \mbox{[}\mbox{]} \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a76a47af239797a266ada6141c150001c}{operator+=}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s)
+\begin{DoxyCompactList}\small\item\em Append operator +=. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_ab319120dbad9107e1e7090139c956100}{operator+=}} (const char $\ast$s)
+\begin{DoxyCompactList}\small\item\em Append operator +=. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_ae12f45b8be84e438e032c0b860f985c6}{operator+=}} (char c)
+\begin{DoxyCompactList}\small\item\em Append operator +=. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_aa7f4db1b4eae9dfad46346db6e17ea15}{operator-\/=}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s)
+\begin{DoxyCompactList}\small\item\em Append operator -\/=. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_aaae97e6eda3d18c9f463993ade985bf4}{operator-\/=}} (const char $\ast$s)
+\begin{DoxyCompactList}\small\item\em Append operator -\/=. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_adcafd019df23bb5724c46e34f3f31194}{operator-\/=}} (char c)
+\begin{DoxyCompactList}\small\item\em Append operator -\/=. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbString_a2df3ed2fc9456214f5fd2fcf77b69bc1}{operator==}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&) const
+\begin{DoxyCompactList}\small\item\em operator == \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbString_a94031269af3c433393d4cf0ff9b4be38}{operator==}} (const char $\ast$) const
+\begin{DoxyCompactList}\small\item\em operator == \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbString_acf89691607050b0505dc6af28d059c38}{operator!=}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&) const
+\begin{DoxyCompactList}\small\item\em operator != \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbString_a822448f2a0ce653473d4c1de5763a3a6}{operator!=}} (const char $\ast$) const
+\begin{DoxyCompactList}\small\item\em operator != \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbString_a71c7aafa0d523c72cbe58c474be2270a}{operator$<$}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&) const
+\begin{DoxyCompactList}\small\item\em operator \texorpdfstring{$<$}{<} \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbString_ae46f6a45da5686b607a4edf2786a2fff}{operator$>$}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&) const
+\begin{DoxyCompactList}\small\item\em operator \texorpdfstring{$>$}{>} \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbString_a461f245e60cddfdf5f78a972a46e5880}{operator$<$=}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&) const
+\begin{DoxyCompactList}\small\item\em operator \texorpdfstring{$<$}{<}= \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbString_a8f16643cb7ba3ee9cf685422c9ea0e67}{operator$>$=}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&) const
+\begin{DoxyCompactList}\small\item\em operator \texorpdfstring{$>$}{>}= \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbString_a06abec236b95f6933ba17bf67089f7cf}{operator-\/}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s)
+\begin{DoxyCompactList}\small\item\em Concatonate operator -\/. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbString_aab556e8c3cb478dd95643327d72a48bd}{operator+}} (const char $\ast$s)
+\begin{DoxyCompactList}\small\item\em Concatonate operator +. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbString_a1f289d577ba90c500bc1be3ec7bb0206}{operator+}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s)
+\begin{DoxyCompactList}\small\item\em Concatonate operator +. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbString_af559654baba81c3c0c19823c0b7a69d3}{operator+}} (const char c)
+\begin{DoxyCompactList}\small\item\em Concatonate operator +. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a6c4fdb689d27a9d19a0b5b4236e1ca62}{Add\+Back\+Slash}} (char c)
+\begin{DoxyCompactList}\small\item\em Add a prefixing back slash to specified characters in the string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a8f202e4798491f2ae9ce51ff58dd5815}{Append}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s)
+\begin{DoxyCompactList}\small\item\em Append data to string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a1922319303feb6da1f40b5994c5e8240}{Append}} (const char $\ast$s)
+\begin{DoxyCompactList}\small\item\em Append data to string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a097453cb71fbf0b5511cf1259ddce4fb}{Append}} (const char $\ast$s, xb\+UInt32 i\+Byte\+Count)
+\begin{DoxyCompactList}\small\item\em Append data to string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a093c6ab5df375a2589755bb8f48fa5c7}{Append}} (char c)
+\begin{DoxyCompactList}\small\item\em Append data to string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a85bef82dfa22122a1ab8dfe58a107d96}{Assign}} (const char $\ast$src\+Str, xb\+UInt32 l\+Start\+Pos, xb\+UInt32 l\+Copy\+Len)
+\begin{DoxyCompactList}\small\item\em Assign portion of string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a08eb7ca6740423acab4e8bd7a6c8043d}{Assign}} (const char $\ast$src\+Str, xb\+UInt32 l\+Start\+Pos)
+\begin{DoxyCompactList}\small\item\em Assign portion of string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a430119df844bd80d67c23c48b045af30}{Assign}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s, xb\+UInt32 ul\+Start\+Pos, xb\+UInt32 l\+Copy\+Len)
+\begin{DoxyCompactList}\small\item\em Assign portion of string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a97df314be5b3b2611be11ff50a19533d}{Assign}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s, xb\+UInt32 ul\+Start\+Pos)
+\begin{DoxyCompactList}\small\item\em Assign portion of string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbString_ac7a8466b03c04df838bd182ef244f792}{Copy}} () const
+\begin{DoxyCompactList}\small\item\em Copy a string. \end{DoxyCompactList}\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbString_a26bc14d92dc7ce1f2bf31cd74af0db0f}{Count\+Char}} (char c) const
+\begin{DoxyCompactList}\small\item\em Count the number of characters in the string. \end{DoxyCompactList}\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbString_adc0204bcfd1c052b9aea9229b10acf72}{Count\+Char}} (char c, xb\+Int16 i\+Opt) const
+\begin{DoxyCompactList}\small\item\em Count the number of characters in the string. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbString_a0a737bd408a94903f214eb2879eb56de}{Cvt\+Hex\+Char}} (char \&c\+Out)
+\begin{DoxyCompactList}\small\item\em Convert hex character to string. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbString_ab5eb6918a0ae9ab6c0e961318f3d1eb0}{Cvt\+Hex\+String}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Out)
+\begin{DoxyCompactList}\small\item\em Convert string of hex characters to string. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbString_a1528b30b84a41c3564ef31d1f4496b15}{Cvt\+ULong\+Long}} (xb\+UInt64 \&ull\+Out)
+\begin{DoxyCompactList}\small\item\em Convert string to xb\+UInt64 number. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbString_ae3ab18365e132323f8ae4c99eb72181c}{Cvt\+Long\+Long}} (xb\+Int64 \&ll\+Out)
+\begin{DoxyCompactList}\small\item\em Convert string to xb\+Int64 number. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a6b33a8df49cdcb76033cbce5d8dc59d7}{Extract\+Element}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s, char delim, xb\+UInt32 i\+Cnt, xb\+Int16 i\+Opt=0)
+\begin{DoxyCompactList}\small\item\em Extract an element out of a delimited string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a77195fc4957952625cb33bb503517a3e}{Extract\+Element}} (const char $\ast$src, char delim, xb\+UInt32 i\+Cnt, xb\+Int16 i\+Opt=0)
+\begin{DoxyCompactList}\small\item\em Extract an element out of a delimited string. \end{DoxyCompactList}\item
+char \mbox{\hyperlink{classxb_1_1xbString_a685187a5f8401b322fc61f3fbe56330d}{Get\+Character}} (xb\+UInt32 l\+Pos) const
+\begin{DoxyCompactList}\small\item\em Get a character by position. \end{DoxyCompactList}\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbString_ac7698665f44413a5e99a5b5bc573c6df}{Get\+Last\+Pos}} (char c) const
+\begin{DoxyCompactList}\small\item\em Get the position of the last occurrence of a given character. \end{DoxyCompactList}\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbString_a1c55587904fe7e534290559d0ecb8646}{Get\+Last\+Pos}} (const char $\ast$s) const
+\begin{DoxyCompactList}\small\item\em Get the position of the last occurrence of a given string. \end{DoxyCompactList}\item
+char \mbox{\hyperlink{classxb_1_1xbString_af8b8b808cf43cd352321b43f500142db}{Get\+Path\+Separator}} () const
+\begin{DoxyCompactList}\small\item\em Get the path separator out of the string. \end{DoxyCompactList}\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbString_a6c33e73659f8e98819289d2661c7271c}{Get\+Size}} () const
+\begin{DoxyCompactList}\small\item\em Retrieve the size of the string buffer. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbString_aa13f6b72e5a529eab04545892bbc98b4}{Has\+Alpha\+Chars}} () const
+\begin{DoxyCompactList}\small\item\em Determine if the string has any alpha characters. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbString_a4a255a30d683acd62ea09c1617b53cb3}{Is\+Empty}} () const
+\begin{DoxyCompactList}\small\item\em Determine if string is empty. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbString_a3fa34fa31bcb7244ecb054ab628ad500}{Is\+Null}} () const
+\begin{DoxyCompactList}\small\item\em Determine if string is NULL. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_acdc3a6d6955b99f0a6b1d181fb3098b9}{Left}} (xb\+UInt32 ul\+Len)
+\begin{DoxyCompactList}\small\item\em Retain left part of string, drop rightmost characters. \end{DoxyCompactList}\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbString_a998b240eedac311aea5843047f55649b}{Len}} () const
+\begin{DoxyCompactList}\small\item\em Retrieve length of current string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a90e0d0be4fd0d82dd2ebbe689adf18ee}{Ltrim}} ()
+\begin{DoxyCompactList}\small\item\em Left trim white space from string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a656f5854f74064b7257ff96d96dfb68b}{Ltrunc}} (xb\+UInt32 ul\+Cnt)
+\begin{DoxyCompactList}\small\item\em Left truncate string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a0f9eefc836b24c4ee7c5a316c5d812b7}{Mid}} (xb\+UInt32 ul\+Pos, xb\+UInt32 l\+Len)
+\begin{DoxyCompactList}\small\item\em Extract portion of data from string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a6a09cfed22066b0c72432f26960f9e7b}{Pad\+Left}} (char c, xb\+UInt32 ul\+Len)
+\begin{DoxyCompactList}\small\item\em Left pad string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_aba13f0c77eb6c4a22996039569fad284}{Pad\+Right}} (char c, xb\+UInt32 ul\+Len)
+\begin{DoxyCompactList}\small\item\em Right pad string. \end{DoxyCompactList}\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbString_a1b586890138da8bf0e23090bd8b34581}{Pos}} (char c, xb\+UInt32 ul\+Start\+Pos) const
+\begin{DoxyCompactList}\small\item\em Determine position of a given character. \end{DoxyCompactList}\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbString_a3baf59d15099589ff631995f129e582b}{Pos}} (char c) const
+\begin{DoxyCompactList}\small\item\em Determine position of a given character. \end{DoxyCompactList}\item
+xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbString_a8705d7277b72f5aa98021e84438914da}{Pos}} (const char $\ast$s) const
+\begin{DoxyCompactList}\small\item\em Determine position of a given substring. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a1bae6fa8f608261f6e889616482f6e39}{Put\+At}} (xb\+UInt32 ul\+Pos, char c)
+\begin{DoxyCompactList}\small\item\em Insert character into string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_afaac65eaa6d9ef1596d6a0e7b91ed0f2}{Remove}} (xb\+UInt32 ul\+Pos, xb\+UInt32 ulN)
+\begin{DoxyCompactList}\small\item\em Remove portion of string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_ac721d643c60b5c5acf60c2bce99596fa}{Replace}} (const char $\ast$s\+Replace, const char $\ast$s\+Replace\+With, xb\+Int16 i\+Opt=0)
+\begin{DoxyCompactList}\small\item\em Replace a value within a string with another value. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_aa6d346ab04e5bb8852f0bb996163a35e}{Resize}} (xb\+UInt32 l\+Size)
+\begin{DoxyCompactList}\small\item\em Resize a string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_aaf330188d67c347ecae0d16f65b22077}{Rtrim}} ()
+\begin{DoxyCompactList}\small\item\em Right trim the string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_ab85753d2c39882e946a8468cbb587700}{Set}} (const char $\ast$s)
+\begin{DoxyCompactList}\small\item\em Set the value of the string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_ac0d08bd688fd0e3707e32886d0dfeb09}{Set}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s)
+\begin{DoxyCompactList}\small\item\em Set the value of the string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a6eba6ccd0c805a22516de2c18a30f8a3}{Set}} (const char $\ast$s, xb\+UInt32 ul\+Size)
+\begin{DoxyCompactList}\small\item\em Set the value of the string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a3af5b1f111f94b0667551fcbd1d97abd}{Set\+Num}} (xb\+Int32 l\+Num)
+\begin{DoxyCompactList}\small\item\em Set the string to long integer numeric value. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a9e9bfa29d86377b915f1628aeb0e9195}{Sprintf}} (const char $\ast$format,...)
+\begin{DoxyCompactList}\small\item\em Printf routine for formatting a string. \end{DoxyCompactList}\item
+const char $\ast$ \mbox{\hyperlink{classxb_1_1xbString_a6715f4c0010f3ab487c9d787838a29b3}{Str}} () const
+\begin{DoxyCompactList}\small\item\em Return string data. \end{DoxyCompactList}\item
+char $\ast$ \mbox{\hyperlink{classxb_1_1xbString_a3bc9e856c34f0c240a6e36e5b6e3ea7b}{strncpy}} (char $\ast$c\+Dest, xb\+UInt32 n) const
+\begin{DoxyCompactList}\small\item\em Copy all or part of string to character array. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a054683872e1f05d11c2cf8683a63a6fe}{Swap\+Chars}} (char from, char to)
+\begin{DoxyCompactList}\small\item\em Swap characters. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a602cac1a6ef3f6b52f587ac4c0ef4fb2}{To\+Lower\+Case}} ()
+\begin{DoxyCompactList}\small\item\em Replace all upper case charaters with lower case characters. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a68001d0a44e6b4fe61e29a4e41ded9d4}{To\+Upper\+Case}} ()
+\begin{DoxyCompactList}\small\item\em Replace all lower case charaters with lower case characters. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_abc9bd33687d4e03ca52d77885721d626}{Trim}} ()
+\begin{DoxyCompactList}\small\item\em Trim all leading and trailing white space from string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbString_a72b16c15fd8822efaa5f158c34df7b1e}{Valid\+Logical\+Value}} () const
+\begin{DoxyCompactList}\small\item\em Check for valid logical field data. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbString_aeed920d2a25111f776ddde2d530eb81b}{Valid\+Numeric\+Value}} () const
+\begin{DoxyCompactList}\small\item\em This function returns true if the data is valid numeric data. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_a2fd30956a26a260d1ef6fdbe73dd93f9}{Zap\+Char}} (char c)
+\begin{DoxyCompactList}\small\item\em Remove every instance of a character from a string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_addc3a470f6cd85d4c21bf9da38cf5ac9}{Zap\+Leading\+Char}} (char c)
+\begin{DoxyCompactList}\small\item\em Remove leading character from a string. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbString_afe3415bfa2e1089b792aeda0462fb99e}{Zap\+Trailing\+Char}} (char c)
+\begin{DoxyCompactList}\small\item\em Remove trailing character from a string. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Friends}
+\begin{DoxyCompactItemize}
+\item
+std\+::ostream \& \mbox{\hyperlink{classxb_1_1xbString_a3fa915061156521e9dd772a8d7e5f8fb}{operator$<$$<$}} (std\+::ostream \&os, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s)
+\begin{DoxyCompactList}\small\item\em Stream insertion operator \texorpdfstring{$<$}{<}\texorpdfstring{$<$}{<}. \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\doxysubsection{Detailed Description}
+Class for handling string data.
+
+This class defines a basic string class with all the functions one would expect in a string class.
+
+For purposes of the \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} class, a string is defined as a variable sized array of one byte characters terminated with a null (0x00 or \textbackslash{}0) byte.~\newline
+~\newline
+
+
+This version of the \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} class does not support wide (wchar\+\_\+t) characters. Perhaps you would be interested in creating a class for supporting wide characters.~\newline
+~\newline
+
+
+This string class handle strings in a 1-\/based (not 0 based) fashion. Any string routines taking an offset use a 1-\/based value. That is, the first position of the string is position 1, not 0.~\newline
+~\newline
+ ~\newline
+
+
+Position 1 (not 0) is considered the first position in a string. ~\newline
+ A return of 0 would indicate a not found condition. A return of 1, would be the first byte.
+
+\doxysubsection{Constructor \& Destructor Documentation}
+\mbox{\Hypertarget{classxb_1_1xbString_a63f9313217e0ff3c9789ec59316216a1}\label{classxb_1_1xbString_a63f9313217e0ff3c9789ec59316216a1}}
+\index{xb::xbString@{xb::xbString}!xbString@{xbString}}
+\index{xbString@{xbString}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{xbString()}{xbString()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
+{\footnotesize\ttfamily xb\+::xb\+String\+::xb\+String (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Size }\end{DoxyParamCaption})}
+
+
+
+Constructor.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Size} & -\/ Allocation size. The allocation size is normally handled internally by the class, but it can be set in this constructor. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_a14bbaa293c8d40dd6c64332f2668a92e}\label{classxb_1_1xbString_a14bbaa293c8d40dd6c64332f2668a92e}}
+\index{xb::xbString@{xb::xbString}!xbString@{xbString}}
+\index{xbString@{xbString}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{xbString()}{xbString()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
+{\footnotesize\ttfamily xb\+::xb\+String\+::xb\+String (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})}
+
+
+
+Constructor.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & -\/ Initialize string to c. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_a18f3598dcdf2ec5692274fc8ee769ad7}\label{classxb_1_1xbString_a18f3598dcdf2ec5692274fc8ee769ad7}}
+\index{xb::xbString@{xb::xbString}!xbString@{xbString}}
+\index{xbString@{xbString}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{xbString()}{xbString()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
+{\footnotesize\ttfamily xb\+::xb\+String\+::xb\+String (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s, }\item[{xb\+UInt32}]{ul\+Max\+Len }\end{DoxyParamCaption})}
+
+
+
+Constructor.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & Initialize string to s. \\
+\hline
+{\em ul\+Max\+Len} & Maximum length of string. Truncate any characters greater than ul\+Max\+Len. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_a0d81016b93fc36ebbbafacf35c677f07}\label{classxb_1_1xbString_a0d81016b93fc36ebbbafacf35c677f07}}
+\index{xb::xbString@{xb::xbString}!xbString@{xbString}}
+\index{xbString@{xbString}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{xbString()}{xbString()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
+{\footnotesize\ttfamily xb\+::xb\+String\+::xb\+String (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})}
+
+
+
+Constructor.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & Initialize string to s. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_a25856311106c5fb15d39017b63f0ddc7}\label{classxb_1_1xbString_a25856311106c5fb15d39017b63f0ddc7}}
+\index{xb::xbString@{xb::xbString}!xbString@{xbString}}
+\index{xbString@{xbString}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{xbString()}{xbString()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
+{\footnotesize\ttfamily xb\+::xb\+String\+::xb\+String (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}
+
+
+
+Constructor.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & -\/ Initialize string to s. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_ad865b55e3b08dffd527afee8e7e8e3fe}\label{classxb_1_1xbString_ad865b55e3b08dffd527afee8e7e8e3fe}}
+\index{xb::xbString@{xb::xbString}!xbString@{xbString}}
+\index{xbString@{xbString}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{xbString()}{xbString()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
+{\footnotesize\ttfamily xb\+::xb\+String\+::xb\+String (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}}}]{d }\end{DoxyParamCaption})}
+
+
+
+Constructor.
+
+
+\begin{DoxyParams}{Parameters}
+{\em d} & -\/ Initiailize string to d. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_a10a6549efab02bc76ab33b15916b1eb1}\label{classxb_1_1xbString_a10a6549efab02bc76ab33b15916b1eb1}}
+\index{xb::xbString@{xb::xbString}!````~xbString@{$\sim$xbString}}
+\index{````~xbString@{$\sim$xbString}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{$\sim$xbString()}{~xbString()}}
+{\footnotesize\ttfamily xb\+::xb\+String\+::$\sim$xb\+String (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Destructor.
+
+
+
+\doxysubsection{Member Function Documentation}
+\mbox{\Hypertarget{classxb_1_1xbString_a6c4fdb689d27a9d19a0b5b4236e1ca62}\label{classxb_1_1xbString_a6c4fdb689d27a9d19a0b5b4236e1ca62}}
+\index{xb::xbString@{xb::xbString}!AddBackSlash@{AddBackSlash}}
+\index{AddBackSlash@{AddBackSlash}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{AddBackSlash()}{AddBackSlash()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Add\+Back\+Slash (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})}
+
+
+
+Add a prefixing back slash to specified characters in the string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Character to prefix with a backslash. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a093c6ab5df375a2589755bb8f48fa5c7}\label{classxb_1_1xbString_a093c6ab5df375a2589755bb8f48fa5c7}}
+\index{xb::xbString@{xb::xbString}!Append@{Append}}
+\index{Append@{Append}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Append()}{Append()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Append (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})}
+
+
+
+Append data to string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & String data to append. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a1922319303feb6da1f40b5994c5e8240}\label{classxb_1_1xbString_a1922319303feb6da1f40b5994c5e8240}}
+\index{xb::xbString@{xb::xbString}!Append@{Append}}
+\index{Append@{Append}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Append()}{Append()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Append (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption})}
+
+
+
+Append data to string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & String data to append. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a097453cb71fbf0b5511cf1259ddce4fb}\label{classxb_1_1xbString_a097453cb71fbf0b5511cf1259ddce4fb}}
+\index{xb::xbString@{xb::xbString}!Append@{Append}}
+\index{Append@{Append}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Append()}{Append()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Append (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s, }\item[{xb\+UInt32}]{ul\+Byte\+Count }\end{DoxyParamCaption})}
+
+
+
+Append data to string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & String data to append. ~\newline
+ \\
+\hline
+{\em ul\+Byte\+Count} & Maximum number of bytes to append. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a8f202e4798491f2ae9ce51ff58dd5815}\label{classxb_1_1xbString_a8f202e4798491f2ae9ce51ff58dd5815}}
+\index{xb::xbString@{xb::xbString}!Append@{Append}}
+\index{Append@{Append}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Append()}{Append()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Append (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})}
+
+
+
+Append data to string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & String data to append. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a08eb7ca6740423acab4e8bd7a6c8043d}\label{classxb_1_1xbString_a08eb7ca6740423acab4e8bd7a6c8043d}}
+\index{xb::xbString@{xb::xbString}!Assign@{Assign}}
+\index{Assign@{Assign}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Assign()}{Assign()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Assign (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s\+Str, }\item[{xb\+UInt32}]{ul\+Start\+Pos }\end{DoxyParamCaption})}
+
+
+
+Assign portion of string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Str} & -\/ Source string for copy operation. s\+Str needs to be a Null terminated string. \\
+\hline
+{\em ul\+Start\+Pos} & -\/ Starting position within source string. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a85bef82dfa22122a1ab8dfe58a107d96}\label{classxb_1_1xbString_a85bef82dfa22122a1ab8dfe58a107d96}}
+\index{xb::xbString@{xb::xbString}!Assign@{Assign}}
+\index{Assign@{Assign}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Assign()}{Assign()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Assign (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s\+Str, }\item[{xb\+UInt32}]{ul\+Start\+Pos, }\item[{xb\+UInt32}]{ul\+Copy\+Len }\end{DoxyParamCaption})}
+
+
+
+Assign portion of string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Str} & -\/ Source string for copy operation. s\+Str needs to be a Null terminated string. \\
+\hline
+{\em ul\+Start\+Pos} & -\/ Starting position within source string. \\
+\hline
+{\em ul\+Copy\+Len} & -\/ Length of data to copy. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a97df314be5b3b2611be11ff50a19533d}\label{classxb_1_1xbString_a97df314be5b3b2611be11ff50a19533d}}
+\index{xb::xbString@{xb::xbString}!Assign@{Assign}}
+\index{Assign@{Assign}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Assign()}{Assign()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Assign (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Str, }\item[{xb\+UInt32}]{ul\+Start\+Pos }\end{DoxyParamCaption})}
+
+
+
+Assign portion of string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Str} & -\/ Source string for copy operation. s\+Str needs to be a Null terminated string. \\
+\hline
+{\em ul\+Start\+Pos} & -\/ Starting position within source string. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a430119df844bd80d67c23c48b045af30}\label{classxb_1_1xbString_a430119df844bd80d67c23c48b045af30}}
+\index{xb::xbString@{xb::xbString}!Assign@{Assign}}
+\index{Assign@{Assign}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Assign()}{Assign()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Assign (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Str, }\item[{xb\+UInt32}]{ul\+Start\+Pos, }\item[{xb\+UInt32}]{ul\+Copy\+Len }\end{DoxyParamCaption})}
+
+
+
+Assign portion of string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Str} & -\/ Source string for copy operation. s\+Str needs to be a Null terminated string. \\
+\hline
+{\em ul\+Start\+Pos} & -\/ Starting position within source string. \\
+\hline
+{\em ul\+Copy\+Len} & -\/ Length of data to copy. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_ac7a8466b03c04df838bd182ef244f792}\label{classxb_1_1xbString_ac7a8466b03c04df838bd182ef244f792}}
+\index{xb::xbString@{xb::xbString}!Copy@{Copy}}
+\index{Copy@{Copy}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Copy()}{Copy()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+String\+::\+Copy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Copy a string.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}}.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a26bc14d92dc7ce1f2bf31cd74af0db0f}\label{classxb_1_1xbString_a26bc14d92dc7ce1f2bf31cd74af0db0f}}
+\index{xb::xbString@{xb::xbString}!CountChar@{CountChar}}
+\index{CountChar@{CountChar}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{CountChar()}{CountChar()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+String\+::\+Count\+Char (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption}) const}
+
+
+
+Count the number of characters in the string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Character to count. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The number of characters.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_adc0204bcfd1c052b9aea9229b10acf72}\label{classxb_1_1xbString_adc0204bcfd1c052b9aea9229b10acf72}}
+\index{xb::xbString@{xb::xbString}!CountChar@{CountChar}}
+\index{CountChar@{CountChar}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{CountChar()}{CountChar()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+String\+::\+Count\+Char (\begin{DoxyParamCaption}\item[{char}]{c, }\item[{xb\+Int16}]{i\+Opt }\end{DoxyParamCaption}) const}
+
+
+
+Count the number of characters in the string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Character to count. \\
+\hline
+{\em i\+Opt} & 0 -\/ Count the number of characters.~\newline
+ 1 -\/ Count the number of characters not between single or double quotes. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The number of characters.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a0a737bd408a94903f214eb2879eb56de}\label{classxb_1_1xbString_a0a737bd408a94903f214eb2879eb56de}}
+\index{xb::xbString@{xb::xbString}!CvtHexChar@{CvtHexChar}}
+\index{CvtHexChar@{CvtHexChar}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{CvtHexChar()}{CvtHexChar()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+String\+::\+Cvt\+Hex\+Char (\begin{DoxyParamCaption}\item[{char \&}]{c\+Out }\end{DoxyParamCaption})}
+
+
+
+Convert hex character to string.
+
+This routine converts a four byte string in the format of 0x00 to a one byte char value. The first four bytes of the string must be in the format 0x00. Anything past the first four bytes is disregarded.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c\+Out} & Output character. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+INVALID\+\_\+\+PARM on error~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR on success.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_ab5eb6918a0ae9ab6c0e961318f3d1eb0}\label{classxb_1_1xbString_ab5eb6918a0ae9ab6c0e961318f3d1eb0}}
+\index{xb::xbString@{xb::xbString}!CvtHexString@{CvtHexString}}
+\index{CvtHexString@{CvtHexString}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{CvtHexString()}{CvtHexString()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+String\+::\+Cvt\+Hex\+String (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Out }\end{DoxyParamCaption})}
+
+
+
+Convert string of hex characters to string.
+
+This routine converts a string of four byte format of 0x00 to a string of one byte chars.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Out} & Output string of converted characters. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+INVALID\+\_\+\+PARM on error~\newline
+ XB\+\_\+\+NO\+\_\+\+ERROR on success.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_ae3ab18365e132323f8ae4c99eb72181c}\label{classxb_1_1xbString_ae3ab18365e132323f8ae4c99eb72181c}}
+\index{xb::xbString@{xb::xbString}!CvtLongLong@{CvtLongLong}}
+\index{CvtLongLong@{CvtLongLong}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{CvtLongLong()}{CvtLongLong()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+String\+::\+Cvt\+Long\+Long (\begin{DoxyParamCaption}\item[{xb\+Int64 \&}]{ll\+Out }\end{DoxyParamCaption})}
+
+
+
+Convert string to xb\+Int64 number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ll\+Out} & -\/ output long long. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+NO\+\_\+\+ERROR
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a1528b30b84a41c3564ef31d1f4496b15}\label{classxb_1_1xbString_a1528b30b84a41c3564ef31d1f4496b15}}
+\index{xb::xbString@{xb::xbString}!CvtULongLong@{CvtULongLong}}
+\index{CvtULongLong@{CvtULongLong}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{CvtULongLong()}{CvtULongLong()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+String\+::\+Cvt\+ULong\+Long (\begin{DoxyParamCaption}\item[{xb\+UInt64 \&}]{ull\+Out }\end{DoxyParamCaption})}
+
+
+
+Convert string to xb\+UInt64 number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ull\+Out} & -\/ output unsigned long long. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+NO\+\_\+\+ERROR
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a77195fc4957952625cb33bb503517a3e}\label{classxb_1_1xbString_a77195fc4957952625cb33bb503517a3e}}
+\index{xb::xbString@{xb::xbString}!ExtractElement@{ExtractElement}}
+\index{ExtractElement@{ExtractElement}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{ExtractElement()}{ExtractElement()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Extract\+Element (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p\+Src, }\item[{char}]{c\+Delim, }\item[{xb\+UInt32}]{l\+Skip\+Cnt, }\item[{xb\+Int16}]{i\+Opt = {\ttfamily 0} }\end{DoxyParamCaption})}
+
+
+
+Extract an element out of a delimited string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em p\+Src} & Source string. \\
+\hline
+{\em c\+Delim} & Delimiter. \\
+\hline
+{\em l\+Skip\+Cnt} & Number of delimiters to skip. \\
+\hline
+{\em i\+Opt} & 0 -\/ ignore single and double quotes.~\newline
+ 1 -\/ ignore delimiters between single or double quotes. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to string extracted from element.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a6b33a8df49cdcb76033cbce5d8dc59d7}\label{classxb_1_1xbString_a6b33a8df49cdcb76033cbce5d8dc59d7}}
+\index{xb::xbString@{xb::xbString}!ExtractElement@{ExtractElement}}
+\index{ExtractElement@{ExtractElement}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{ExtractElement()}{ExtractElement()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Extract\+Element (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Src, }\item[{char}]{c\+Delim, }\item[{xb\+UInt32}]{l\+Skip\+Cnt, }\item[{xb\+Int16}]{i\+Opt = {\ttfamily 0} }\end{DoxyParamCaption})}
+
+
+
+Extract an element out of a delimited string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Src} & Source string. \\
+\hline
+{\em c\+Delim} & Delimiter. \\
+\hline
+{\em l\+Skip\+Cnt} & Number of delimiters to skip. \\
+\hline
+{\em i\+Opt} & 0 -\/ ignore single and double quotes.~\newline
+ 1 -\/ ignore delimiters between single or double quotes. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to string extracted from element.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a685187a5f8401b322fc61f3fbe56330d}\label{classxb_1_1xbString_a685187a5f8401b322fc61f3fbe56330d}}
+\index{xb::xbString@{xb::xbString}!GetCharacter@{GetCharacter}}
+\index{GetCharacter@{GetCharacter}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{GetCharacter()}{GetCharacter()}}
+{\footnotesize\ttfamily char xb\+::xb\+String\+::\+Get\+Character (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{n }\end{DoxyParamCaption}) const}
+
+
+
+Get a character by position.
+
+
+\begin{DoxyParams}{Parameters}
+{\em n} & -\/ Position in string to extract. First position is 1 (not 0). \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Character from position n, or null.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_ac7698665f44413a5e99a5b5bc573c6df}\label{classxb_1_1xbString_ac7698665f44413a5e99a5b5bc573c6df}}
+\index{xb::xbString@{xb::xbString}!GetLastPos@{GetLastPos}}
+\index{GetLastPos@{GetLastPos}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{GetLastPos()}{GetLastPos()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+String\+::\+Get\+Last\+Pos (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption}) const}
+
+
+
+Get the position of the last occurrence of a given character.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & -\/ Character to search for. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Last position of character in the string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a1c55587904fe7e534290559d0ecb8646}\label{classxb_1_1xbString_a1c55587904fe7e534290559d0ecb8646}}
+\index{xb::xbString@{xb::xbString}!GetLastPos@{GetLastPos}}
+\index{GetLastPos@{GetLastPos}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{GetLastPos()}{GetLastPos()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+String\+::\+Get\+Last\+Pos (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption}) const}
+
+
+
+Get the position of the last occurrence of a given string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & -\/ String to search for. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Last position of character in the string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_af8b8b808cf43cd352321b43f500142db}\label{classxb_1_1xbString_af8b8b808cf43cd352321b43f500142db}}
+\index{xb::xbString@{xb::xbString}!GetPathSeparator@{GetPathSeparator}}
+\index{GetPathSeparator@{GetPathSeparator}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{GetPathSeparator()}{GetPathSeparator()}}
+{\footnotesize\ttfamily char xb\+::xb\+String\+::\+Get\+Path\+Separator (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Get the path separator out of the string.
+
+This method assumes the string is a valid path name. If it is, it returns either / or . \begin{DoxyReturn}{Returns}
+Char value containing either / or \textbackslash{} depending on OS.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a6c33e73659f8e98819289d2661c7271c}\label{classxb_1_1xbString_a6c33e73659f8e98819289d2661c7271c}}
+\index{xb::xbString@{xb::xbString}!GetSize@{GetSize}}
+\index{GetSize@{GetSize}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{GetSize()}{GetSize()}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+String\+::\+Get\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Retrieve the size of the string buffer.
+
+\begin{DoxyReturn}{Returns}
+Size of string buffer including the null terminating byte.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_aa13f6b72e5a529eab04545892bbc98b4}\label{classxb_1_1xbString_aa13f6b72e5a529eab04545892bbc98b4}}
+\index{xb::xbString@{xb::xbString}!HasAlphaChars@{HasAlphaChars}}
+\index{HasAlphaChars@{HasAlphaChars}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{HasAlphaChars()}{HasAlphaChars()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+String\+::\+Has\+Alpha\+Chars (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Determine if the string has any alpha characters.
+
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ String contains one or more aloha characters.~\newline
+ xb\+False -\/ String contains no alpha characters.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a4a255a30d683acd62ea09c1617b53cb3}\label{classxb_1_1xbString_a4a255a30d683acd62ea09c1617b53cb3}}
+\index{xb::xbString@{xb::xbString}!IsEmpty@{IsEmpty}}
+\index{IsEmpty@{IsEmpty}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{IsEmpty()}{IsEmpty()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+String\+::\+Is\+Empty (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Determine if string is empty.
+
+\begin{DoxyReturn}{Returns}
+xb\+True if string is empty.~\newline
+ xb\+False if string is not empty.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a3fa34fa31bcb7244ecb054ab628ad500}\label{classxb_1_1xbString_a3fa34fa31bcb7244ecb054ab628ad500}}
+\index{xb::xbString@{xb::xbString}!IsNull@{IsNull}}
+\index{IsNull@{IsNull}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{IsNull()}{IsNull()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+String\+::\+Is\+Null (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Determine if string is NULL.
+
+\begin{DoxyReturn}{Returns}
+xb\+True if string is NULL.~\newline
+ xb\+False if string is not NULL.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_acdc3a6d6955b99f0a6b1d181fb3098b9}\label{classxb_1_1xbString_acdc3a6d6955b99f0a6b1d181fb3098b9}}
+\index{xb::xbString@{xb::xbString}!Left@{Left}}
+\index{Left@{Left}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Left()}{Left()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Left (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Len }\end{DoxyParamCaption})}
+
+
+
+Retain left part of string, drop rightmost characters.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Len} & New string length, truncate rightmost excess. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a998b240eedac311aea5843047f55649b}\label{classxb_1_1xbString_a998b240eedac311aea5843047f55649b}}
+\index{xb::xbString@{xb::xbString}!Len@{Len}}
+\index{Len@{Len}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Len()}{Len()}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+String\+::\+Len (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Retrieve length of current string.
+
+\begin{DoxyReturn}{Returns}
+String length, excluding the terminating null byte.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a90e0d0be4fd0d82dd2ebbe689adf18ee}\label{classxb_1_1xbString_a90e0d0be4fd0d82dd2ebbe689adf18ee}}
+\index{xb::xbString@{xb::xbString}!Ltrim@{Ltrim}}
+\index{Ltrim@{Ltrim}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Ltrim()}{Ltrim()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Ltrim (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Left trim white space from string.
+
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a656f5854f74064b7257ff96d96dfb68b}\label{classxb_1_1xbString_a656f5854f74064b7257ff96d96dfb68b}}
+\index{xb::xbString@{xb::xbString}!Ltrunc@{Ltrunc}}
+\index{Ltrunc@{Ltrunc}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Ltrunc()}{Ltrunc()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Ltrunc (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Cnt }\end{DoxyParamCaption})}
+
+
+
+Left truncate string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Cnt} & Number of bytes to remove from the left. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a0f9eefc836b24c4ee7c5a316c5d812b7}\label{classxb_1_1xbString_a0f9eefc836b24c4ee7c5a316c5d812b7}}
+\index{xb::xbString@{xb::xbString}!Mid@{Mid}}
+\index{Mid@{Mid}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Mid()}{Mid()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Mid (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Start\+Pos, }\item[{xb\+UInt32}]{ul\+Targ\+Len }\end{DoxyParamCaption})}
+
+
+
+Extract portion of data from string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Start\+Pos} & Starting position \\
+\hline
+{\em ul\+Targ\+Len} & Length \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to string
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a545df0ae9590f0ea5844a165e38a6388}\label{classxb_1_1xbString_a545df0ae9590f0ea5844a165e38a6388}}
+\index{xb::xbString@{xb::xbString}!operator const char $\ast$@{operator const char $\ast$}}
+\index{operator const char $\ast$@{operator const char $\ast$}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator const char $\ast$()}{operator const char *()}}
+{\footnotesize\ttfamily xb\+::xb\+String\+::operator const char $\ast$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Operator const char $\ast$.
+
+\begin{DoxyReturn}{Returns}
+Pointer to string data.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a822448f2a0ce653473d4c1de5763a3a6}\label{classxb_1_1xbString_a822448f2a0ce653473d4c1de5763a3a6}}
+\index{xb::xbString@{xb::xbString}!operator"!=@{operator"!=}}
+\index{operator"!=@{operator"!=}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+String\+::operator!= (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption}) const}
+
+
+
+operator !=
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & String to compare \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Strings don\textquotesingle{}t match.~\newline
+ zb\+False -\/ Strings match.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_acf89691607050b0505dc6af28d059c38}\label{classxb_1_1xbString_acf89691607050b0505dc6af28d059c38}}
+\index{xb::xbString@{xb::xbString}!operator"!=@{operator"!=}}
+\index{operator"!=@{operator"!=}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator"!=()}{operator!=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+String\+::operator!= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption}) const}
+
+
+
+operator !=
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & String to compare \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Strings don\textquotesingle{}t match.~\newline
+ xb\+False -\/ Strings match.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_aab556e8c3cb478dd95643327d72a48bd}\label{classxb_1_1xbString_aab556e8c3cb478dd95643327d72a48bd}}
+\index{xb::xbString@{xb::xbString}!operator+@{operator+}}
+\index{operator+@{operator+}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+String\+::operator+ (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s1 }\end{DoxyParamCaption})}
+
+
+
+Concatonate operator +.
+
+Concatonate left string with right string returning reference to new string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s1} & Right string operator. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_af559654baba81c3c0c19823c0b7a69d3}\label{classxb_1_1xbString_af559654baba81c3c0c19823c0b7a69d3}}
+\index{xb::xbString@{xb::xbString}!operator+@{operator+}}
+\index{operator+@{operator+}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+String\+::operator+ (\begin{DoxyParamCaption}\item[{const char}]{c }\end{DoxyParamCaption})}
+
+
+
+Concatonate operator +.
+
+Concatonate left string with right string returning reference to new string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Right string operator. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_a1f289d577ba90c500bc1be3ec7bb0206}\label{classxb_1_1xbString_a1f289d577ba90c500bc1be3ec7bb0206}}
+\index{xb::xbString@{xb::xbString}!operator+@{operator+}}
+\index{operator+@{operator+}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+String\+::operator+ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s1 }\end{DoxyParamCaption})}
+
+
+
+Concatonate operator +.
+
+Concatonate left string with right string returning reference to new string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s1} & Right string operator. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_ae12f45b8be84e438e032c0b860f985c6}\label{classxb_1_1xbString_ae12f45b8be84e438e032c0b860f985c6}}
+\index{xb::xbString@{xb::xbString}!operator+=@{operator+=}}
+\index{operator+=@{operator+=}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator+=()}{operator+=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::operator+= (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})}
+
+
+
+Append operator +=.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & -\/ Append c to the string. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_ab319120dbad9107e1e7090139c956100}\label{classxb_1_1xbString_ab319120dbad9107e1e7090139c956100}}
+\index{xb::xbString@{xb::xbString}!operator+=@{operator+=}}
+\index{operator+=@{operator+=}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator+=()}{operator+=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::operator+= (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption})}
+
+
+
+Append operator +=.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & -\/ Append s to the string. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_a76a47af239797a266ada6141c150001c}\label{classxb_1_1xbString_a76a47af239797a266ada6141c150001c}}
+\index{xb::xbString@{xb::xbString}!operator+=@{operator+=}}
+\index{operator+=@{operator+=}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator+=()}{operator+=()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::operator+= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})}
+
+
+
+Append operator +=.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & -\/ Append s to the string. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_a06abec236b95f6933ba17bf67089f7cf}\label{classxb_1_1xbString_a06abec236b95f6933ba17bf67089f7cf}}
+\index{xb::xbString@{xb::xbString}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+String\+::operator-\/ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s1 }\end{DoxyParamCaption})}
+
+
+
+Concatonate operator -\/.
+
+Concatonate left string with right string returning reference to new string. Both strings are trimmed.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s1} & Right string operator. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_adcafd019df23bb5724c46e34f3f31194}\label{classxb_1_1xbString_adcafd019df23bb5724c46e34f3f31194}}
+\index{xb::xbString@{xb::xbString}!operator-\/=@{operator-\/=}}
+\index{operator-\/=@{operator-\/=}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator-\/=()}{operator-=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::operator-\/= (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})}
+
+
+
+Append operator -\/=.
+
+Append c to the right of this string, trimming right space on this string first.
+\begin{DoxyParams}{Parameters}
+{\em c} & -\/ Append s to the right of the string value. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_aaae97e6eda3d18c9f463993ade985bf4}\label{classxb_1_1xbString_aaae97e6eda3d18c9f463993ade985bf4}}
+\index{xb::xbString@{xb::xbString}!operator-\/=@{operator-\/=}}
+\index{operator-\/=@{operator-\/=}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator-\/=()}{operator-=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::operator-\/= (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption})}
+
+
+
+Append operator -\/=.
+
+Append s to the right of this string, right trimming both strings.
+\begin{DoxyParams}{Parameters}
+{\em s} & -\/ Append s to the right of the string value. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_aa7f4db1b4eae9dfad46346db6e17ea15}\label{classxb_1_1xbString_aa7f4db1b4eae9dfad46346db6e17ea15}}
+\index{xb::xbString@{xb::xbString}!operator-\/=@{operator-\/=}}
+\index{operator-\/=@{operator-\/=}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator-\/=()}{operator-=()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::operator-\/= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})}
+
+
+
+Append operator -\/=.
+
+Append s to the right of this string, right trimming both strings.
+\begin{DoxyParams}{Parameters}
+{\em s} & -\/ Append s to the right of the string value. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_a71c7aafa0d523c72cbe58c474be2270a}\label{classxb_1_1xbString_a71c7aafa0d523c72cbe58c474be2270a}}
+\index{xb::xbString@{xb::xbString}!operator$<$@{operator$<$}}
+\index{operator$<$@{operator$<$}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator$<$()}{operator<()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+String\+::operator$<$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption}) const}
+
+
+
+operator \texorpdfstring{$<$}{<}
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & String to compare \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Left string is less than the right string.~\newline
+ zb\+False -\/ Left string is not less than the right string.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a461f245e60cddfdf5f78a972a46e5880}\label{classxb_1_1xbString_a461f245e60cddfdf5f78a972a46e5880}}
+\index{xb::xbString@{xb::xbString}!operator$<$=@{operator$<$=}}
+\index{operator$<$=@{operator$<$=}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator$<$=()}{operator<=()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+String\+::operator$<$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption}) const}
+
+
+
+operator \texorpdfstring{$<$}{<}=
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & String to compare \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Left string is less than or equal to the right string.~\newline
+ zb\+False -\/ Left string is not less than or equal to the right string.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a84ae7d16c5d73c5aa2270aa9895a7f7c}\label{classxb_1_1xbString_a84ae7d16c5d73c5aa2270aa9895a7f7c}}
+\index{xb::xbString@{xb::xbString}!operator=@{operator=}}
+\index{operator=@{operator=}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::operator= (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption})}
+
+
+
+Set operator =.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & -\/ Set the string to the string on the right of the equal sign. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_a4f69d11cbd43edf71725a606d0ca8f40}\label{classxb_1_1xbString_a4f69d11cbd43edf71725a606d0ca8f40}}
+\index{xb::xbString@{xb::xbString}!operator=@{operator=}}
+\index{operator=@{operator=}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})}
+
+
+
+Set operator =.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & -\/ Set the string to the string on the right of the equal sign. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbString_a94031269af3c433393d4cf0ff9b4be38}\label{classxb_1_1xbString_a94031269af3c433393d4cf0ff9b4be38}}
+\index{xb::xbString@{xb::xbString}!operator==@{operator==}}
+\index{operator==@{operator==}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+String\+::operator== (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption}) const}
+
+
+
+operator ==
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & String to compare \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Strings match.~\newline
+ zb\+False -\/ Strings don\textquotesingle{}t match.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a2df3ed2fc9456214f5fd2fcf77b69bc1}\label{classxb_1_1xbString_a2df3ed2fc9456214f5fd2fcf77b69bc1}}
+\index{xb::xbString@{xb::xbString}!operator==@{operator==}}
+\index{operator==@{operator==}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator==()}{operator==()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+String\+::operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption}) const}
+
+
+
+operator ==
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & String to compare \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Strings match.~\newline
+ zb\+False -\/ Strings don\textquotesingle{}t match.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_ae46f6a45da5686b607a4edf2786a2fff}\label{classxb_1_1xbString_ae46f6a45da5686b607a4edf2786a2fff}}
+\index{xb::xbString@{xb::xbString}!operator$>$@{operator$>$}}
+\index{operator$>$@{operator$>$}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator$>$()}{operator>()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+String\+::operator$>$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption}) const}
+
+
+
+operator \texorpdfstring{$>$}{>}
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & String to compare \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Left string is greater than the right string.~\newline
+ zb\+False -\/ Left string is not greater than the right string.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a8f16643cb7ba3ee9cf685422c9ea0e67}\label{classxb_1_1xbString_a8f16643cb7ba3ee9cf685422c9ea0e67}}
+\index{xb::xbString@{xb::xbString}!operator$>$=@{operator$>$=}}
+\index{operator$>$=@{operator$>$=}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator$>$=()}{operator>=()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+String\+::operator$>$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption}) const}
+
+
+
+operator \texorpdfstring{$>$}{>}=
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & String to compare \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Left string is greater than or equal to the right string.~\newline
+ zb\+False -\/ Left string is not greater than or equal to the right string.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a4deaa68d9571753349c29baacb5613e8}\label{classxb_1_1xbString_a4deaa68d9571753349c29baacb5613e8}}
+\index{xb::xbString@{xb::xbString}!operator\mbox{[}\mbox{]}@{operator[]}}
+\index{operator\mbox{[}\mbox{]}@{operator[]}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily char \& xb\+::xb\+String\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{xb\+Int32}]{n }\end{DoxyParamCaption}) const}
+
+
+
+operator \mbox{[}\mbox{]}
+
+
+\begin{DoxyParams}{Parameters}
+{\em n} & -\/ Offset into the string of the byte to retrieve. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+c -\/ The character to return from the offset within the \mbox{[}\mbox{]} brackets.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_abe45e463226ac8e18550ced18c5a9df3}\label{classxb_1_1xbString_abe45e463226ac8e18550ced18c5a9df3}}
+\index{xb::xbString@{xb::xbString}!operator\mbox{[}\mbox{]}@{operator[]}}
+\index{operator\mbox{[}\mbox{]}@{operator[]}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily char \& xb\+::xb\+String\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{n }\end{DoxyParamCaption}) const}
+
+
+
+operator \mbox{[}\mbox{]}
+
+
+\begin{DoxyParams}{Parameters}
+{\em n} & -\/ Offset into the string of the byte to retrieve. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+c -\/ The character to return from the offset within the \mbox{[}\mbox{]} brackets.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a6a09cfed22066b0c72432f26960f9e7b}\label{classxb_1_1xbString_a6a09cfed22066b0c72432f26960f9e7b}}
+\index{xb::xbString@{xb::xbString}!PadLeft@{PadLeft}}
+\index{PadLeft@{PadLeft}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{PadLeft()}{PadLeft()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Pad\+Left (\begin{DoxyParamCaption}\item[{char}]{c, }\item[{xb\+UInt32}]{ul\+New\+Len }\end{DoxyParamCaption})}
+
+
+
+Left pad string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Padding character. \\
+\hline
+{\em ul\+New\+Len} & New string length. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_aba13f0c77eb6c4a22996039569fad284}\label{classxb_1_1xbString_aba13f0c77eb6c4a22996039569fad284}}
+\index{xb::xbString@{xb::xbString}!PadRight@{PadRight}}
+\index{PadRight@{PadRight}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{PadRight()}{PadRight()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Pad\+Right (\begin{DoxyParamCaption}\item[{char}]{c, }\item[{xb\+UInt32}]{ul\+New\+Len }\end{DoxyParamCaption})}
+
+
+
+Right pad string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Padding character. \\
+\hline
+{\em ul\+New\+Len} & New string length. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a3baf59d15099589ff631995f129e582b}\label{classxb_1_1xbString_a3baf59d15099589ff631995f129e582b}}
+\index{xb::xbString@{xb::xbString}!Pos@{Pos}}
+\index{Pos@{Pos}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Pos()}{Pos()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+String\+::\+Pos (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption}) const}
+
+
+
+Determine position of a given character.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Seek character \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Position within string. Returns 0 if not found.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a1b586890138da8bf0e23090bd8b34581}\label{classxb_1_1xbString_a1b586890138da8bf0e23090bd8b34581}}
+\index{xb::xbString@{xb::xbString}!Pos@{Pos}}
+\index{Pos@{Pos}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Pos()}{Pos()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+String\+::\+Pos (\begin{DoxyParamCaption}\item[{char}]{c, }\item[{xb\+UInt32}]{ul\+Start\+Pos }\end{DoxyParamCaption}) const}
+
+
+
+Determine position of a given character.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & Seek character \\
+\hline
+{\em ul\+Start\+Pos} & starting position for search, first position is 1 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Position within string. Returns 0 if not found.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a8705d7277b72f5aa98021e84438914da}\label{classxb_1_1xbString_a8705d7277b72f5aa98021e84438914da}}
+\index{xb::xbString@{xb::xbString}!Pos@{Pos}}
+\index{Pos@{Pos}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Pos()}{Pos()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+String\+::\+Pos (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption}) const}
+
+
+
+Determine position of a given substring.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & Substring \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Position within string. Returns 0 if not found.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a1bae6fa8f608261f6e889616482f6e39}\label{classxb_1_1xbString_a1bae6fa8f608261f6e889616482f6e39}}
+\index{xb::xbString@{xb::xbString}!PutAt@{PutAt}}
+\index{PutAt@{PutAt}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{PutAt()}{PutAt()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Put\+At (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Pos, }\item[{char}]{c }\end{DoxyParamCaption})}
+
+
+
+Insert character into string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Pos} & Insertion position. \\
+\hline
+{\em c} & Character to insert. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_afaac65eaa6d9ef1596d6a0e7b91ed0f2}\label{classxb_1_1xbString_afaac65eaa6d9ef1596d6a0e7b91ed0f2}}
+\index{xb::xbString@{xb::xbString}!Remove@{Remove}}
+\index{Remove@{Remove}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Remove()}{Remove()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Remove (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Start\+Pos, }\item[{xb\+UInt32}]{ul\+Del\+Size }\end{DoxyParamCaption})}
+
+
+
+Remove portion of string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Start\+Pos} & Starting position for removal operation. \\
+\hline
+{\em ul\+Del\+Size} & Size of deletion. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_ac721d643c60b5c5acf60c2bce99596fa}\label{classxb_1_1xbString_ac721d643c60b5c5acf60c2bce99596fa}}
+\index{xb::xbString@{xb::xbString}!Replace@{Replace}}
+\index{Replace@{Replace}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Replace()}{Replace()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Replace (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s\+Replace, }\item[{const char $\ast$}]{s\+Replace\+With, }\item[{xb\+Int16}]{i\+Option = {\ttfamily 0} }\end{DoxyParamCaption})}
+
+
+
+Replace a value within a string with another value.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Replace} & -\/ Character string to replace. \\
+\hline
+{\em s\+Replace\+With} & -\/ Character string to replace with \\
+\hline
+{\em i\+Option} & -\/ 0 = All occurrences, 1 = first occurrence \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_aa6d346ab04e5bb8852f0bb996163a35e}\label{classxb_1_1xbString_aa6d346ab04e5bb8852f0bb996163a35e}}
+\index{xb::xbString@{xb::xbString}!Resize@{Resize}}
+\index{Resize@{Resize}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Resize()}{Resize()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Resize (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Size }\end{DoxyParamCaption})}
+
+
+
+Resize a string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em ul\+Size} & -\/ New string size, including null termination byte. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_aaf330188d67c347ecae0d16f65b22077}\label{classxb_1_1xbString_aaf330188d67c347ecae0d16f65b22077}}
+\index{xb::xbString@{xb::xbString}!Rtrim@{Rtrim}}
+\index{Rtrim@{Rtrim}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Rtrim()}{Rtrim()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Rtrim (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Right trim the string.
+
+This routine removes any trailing white space on the string.
+
+\begin{DoxyReturn}{Returns}
+Reference to string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_ab85753d2c39882e946a8468cbb587700}\label{classxb_1_1xbString_ab85753d2c39882e946a8468cbb587700}}
+\index{xb::xbString@{xb::xbString}!Set@{Set}}
+\index{Set@{Set}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Set()}{Set()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Set (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption})}
+
+
+
+Set the value of the string.
+
+Note\+: This routine fails if you try to set the string to itself or some part of itself.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & Value to set the string. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a6eba6ccd0c805a22516de2c18a30f8a3}\label{classxb_1_1xbString_a6eba6ccd0c805a22516de2c18a30f8a3}}
+\index{xb::xbString@{xb::xbString}!Set@{Set}}
+\index{Set@{Set}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Set()}{Set()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Set (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s, }\item[{xb\+UInt32}]{ul\+Size }\end{DoxyParamCaption})}
+
+
+
+Set the value of the string.
+
+Note\+: This routine fails if you try to set the string to itself or some part of itself.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & Value to set the string. \\
+\hline
+{\em ul\+Size} & Maximum size of resultant string. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_ac0d08bd688fd0e3707e32886d0dfeb09}\label{classxb_1_1xbString_ac0d08bd688fd0e3707e32886d0dfeb09}}
+\index{xb::xbString@{xb::xbString}!Set@{Set}}
+\index{Set@{Set}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Set()}{Set()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Set (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})}
+
+
+
+Set the value of the string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s} & Value to set the string. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a3af5b1f111f94b0667551fcbd1d97abd}\label{classxb_1_1xbString_a3af5b1f111f94b0667551fcbd1d97abd}}
+\index{xb::xbString@{xb::xbString}!SetNum@{SetNum}}
+\index{SetNum@{SetNum}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{SetNum()}{SetNum()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Set\+Num (\begin{DoxyParamCaption}\item[{xb\+Int32}]{l\+Num }\end{DoxyParamCaption})}
+
+
+
+Set the string to long integer numeric value.
+
+
+\begin{DoxyParams}{Parameters}
+{\em l\+Num} & Value to set the string \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a9e9bfa29d86377b915f1628aeb0e9195}\label{classxb_1_1xbString_a9e9bfa29d86377b915f1628aeb0e9195}}
+\index{xb::xbString@{xb::xbString}!Sprintf@{Sprintf}}
+\index{Sprintf@{Sprintf}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Sprintf()}{Sprintf()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Sprintf (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s\+Format, }\item[{}]{... }\end{DoxyParamCaption})}
+
+
+
+Printf routine for formatting a string.
+
+See documentation on the standard C printf function for how to use this.
+
+My\+String.\+Sprintf( \char`\"{}a number \%d some text \%s\char`\"{}, 100, \char`\"{}test text data\char`\"{} );
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Format} & A format specifier \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to a formatted string
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a6715f4c0010f3ab487c9d787838a29b3}\label{classxb_1_1xbString_a6715f4c0010f3ab487c9d787838a29b3}}
+\index{xb::xbString@{xb::xbString}!Str@{Str}}
+\index{Str@{Str}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Str()}{Str()}}
+{\footnotesize\ttfamily const char $\ast$ xb\+::xb\+String\+::\+Str (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Return string data.
+
+\begin{DoxyReturn}{Returns}
+char $\ast$ to string data or NULL if string is empty
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a3bc9e856c34f0c240a6e36e5b6e3ea7b}\label{classxb_1_1xbString_a3bc9e856c34f0c240a6e36e5b6e3ea7b}}
+\index{xb::xbString@{xb::xbString}!strncpy@{strncpy}}
+\index{strncpy@{strncpy}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{strncpy()}{strncpy()}}
+{\footnotesize\ttfamily char $\ast$ xb\+::xb\+String\+::strncpy (\begin{DoxyParamCaption}\item[{char $\ast$}]{c\+Dest, }\item[{xb\+UInt32}]{n }\end{DoxyParamCaption}) const}
+
+
+
+Copy all or part of string to character array.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c\+Dest} & pointer to destination buffer. \\
+\hline
+{\em n} & Number of bytest to copy. It is the responsibility of the application to verify the buffer is large enough to hold the string contents. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+char $\ast$ to result
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a054683872e1f05d11c2cf8683a63a6fe}\label{classxb_1_1xbString_a054683872e1f05d11c2cf8683a63a6fe}}
+\index{xb::xbString@{xb::xbString}!SwapChars@{SwapChars}}
+\index{SwapChars@{SwapChars}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{SwapChars()}{SwapChars()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Swap\+Chars (\begin{DoxyParamCaption}\item[{char}]{c\+From, }\item[{char}]{c\+To }\end{DoxyParamCaption})}
+
+
+
+Swap characters.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c\+From} & character to replace. \\
+\hline
+{\em c\+To} & character to replace with. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a602cac1a6ef3f6b52f587ac4c0ef4fb2}\label{classxb_1_1xbString_a602cac1a6ef3f6b52f587ac4c0ef4fb2}}
+\index{xb::xbString@{xb::xbString}!ToLowerCase@{ToLowerCase}}
+\index{ToLowerCase@{ToLowerCase}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{ToLowerCase()}{ToLowerCase()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+To\+Lower\+Case (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Replace all upper case charaters with lower case characters.
+
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a68001d0a44e6b4fe61e29a4e41ded9d4}\label{classxb_1_1xbString_a68001d0a44e6b4fe61e29a4e41ded9d4}}
+\index{xb::xbString@{xb::xbString}!ToUpperCase@{ToUpperCase}}
+\index{ToUpperCase@{ToUpperCase}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{ToUpperCase()}{ToUpperCase()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+To\+Upper\+Case (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Replace all lower case charaters with lower case characters.
+
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_abc9bd33687d4e03ca52d77885721d626}\label{classxb_1_1xbString_abc9bd33687d4e03ca52d77885721d626}}
+\index{xb::xbString@{xb::xbString}!Trim@{Trim}}
+\index{Trim@{Trim}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{Trim()}{Trim()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Trim (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Trim all leading and trailing white space from string.
+
+\begin{DoxyReturn}{Returns}
+Reference to string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a72b16c15fd8822efaa5f158c34df7b1e}\label{classxb_1_1xbString_a72b16c15fd8822efaa5f158c34df7b1e}}
+\index{xb::xbString@{xb::xbString}!ValidLogicalValue@{ValidLogicalValue}}
+\index{ValidLogicalValue@{ValidLogicalValue}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{ValidLogicalValue()}{ValidLogicalValue()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+String\+::\+Valid\+Logical\+Value (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+Check for valid logical field data.
+
+Valid logical data is one \textquotesingle{}T\textquotesingle{}, \textquotesingle{}F\textquotesingle{}, \textquotesingle{}N\textquotesingle{} or \textquotesingle{}Y\textquotesingle{}.~\newline
+
+
+\begin{DoxyReturn}{Returns}
+xb\+True if the data is valid logical data.~\newline
+ xb\+False if not valid logical data.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_aeed920d2a25111f776ddde2d530eb81b}\label{classxb_1_1xbString_aeed920d2a25111f776ddde2d530eb81b}}
+\index{xb::xbString@{xb::xbString}!ValidNumericValue@{ValidNumericValue}}
+\index{ValidNumericValue@{ValidNumericValue}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{ValidNumericValue()}{ValidNumericValue()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+String\+::\+Valid\+Numeric\+Value (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+
+
+This function returns true if the data is valid numeric data.
+
+\begin{DoxyReturn}{Returns}
+xb\+True if valid numeric data.~\newline
+ xb\+False if not valid numeric daata.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_a2fd30956a26a260d1ef6fdbe73dd93f9}\label{classxb_1_1xbString_a2fd30956a26a260d1ef6fdbe73dd93f9}}
+\index{xb::xbString@{xb::xbString}!ZapChar@{ZapChar}}
+\index{ZapChar@{ZapChar}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{ZapChar()}{ZapChar()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Zap\+Char (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})}
+
+
+
+Remove every instance of a character from a string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & character to remove from string. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this stirng.\+void
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_addc3a470f6cd85d4c21bf9da38cf5ac9}\label{classxb_1_1xbString_addc3a470f6cd85d4c21bf9da38cf5ac9}}
+\index{xb::xbString@{xb::xbString}!ZapLeadingChar@{ZapLeadingChar}}
+\index{ZapLeadingChar@{ZapLeadingChar}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{ZapLeadingChar()}{ZapLeadingChar()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Zap\+Leading\+Char (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})}
+
+
+
+Remove leading character from a string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & character to remove from beginning of string. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbString_afe3415bfa2e1089b792aeda0462fb99e}\label{classxb_1_1xbString_afe3415bfa2e1089b792aeda0462fb99e}}
+\index{xb::xbString@{xb::xbString}!ZapTrailingChar@{ZapTrailingChar}}
+\index{ZapTrailingChar@{ZapTrailingChar}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{ZapTrailingChar()}{ZapTrailingChar()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+String\+::\+Zap\+Trailing\+Char (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})}
+
+
+
+Remove trailing character from a string.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & character to remove from ending of string. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Reference to this string.
+\end{DoxyReturn}
+
+
+\doxysubsection{Friends And Related Function Documentation}
+\mbox{\Hypertarget{classxb_1_1xbString_a3fa915061156521e9dd772a8d7e5f8fb}\label{classxb_1_1xbString_a3fa915061156521e9dd772a8d7e5f8fb}}
+\index{xb::xbString@{xb::xbString}!operator$<$$<$@{operator$<$$<$}}
+\index{operator$<$$<$@{operator$<$$<$}!xb::xbString@{xb::xbString}}
+\doxysubsubsection{\texorpdfstring{operator$<$$<$}{operator<<}}
+{\footnotesize\ttfamily std\+::ostream \& operator$<$$<$ (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{os, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}
+
+
+
+Stream insertion operator \texorpdfstring{$<$}{<}\texorpdfstring{$<$}{<}.
+
+std\+::cout \texorpdfstring{$<$}{<}\texorpdfstring{$<$}{<} My\+String \texorpdfstring{$<$}{<}\texorpdfstring{$<$}{<} std\+::endl;
+
+
+\begin{DoxyParams}{Parameters}
+{\em os} & Output stream \\
+\hline
+{\em s} & String to send to output stream \\
+\hline
+\end{DoxyParams}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbstring_8h}{xbstring.\+h}}\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbstring_8cpp}{xbstring.\+cpp}}\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbTblMgr.eps b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbTblMgr.eps
new file mode 100644
index 0000000..12fb841
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbTblMgr.eps
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 652.173889
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.766667 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text 'arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col 'arg1' to 'arg2' of row 'arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(xb::xbTblMgr) cw
+(xb::xbSsv) cw
+(xb::xbXBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (xb::xbTblMgr) 0.000000 1.000000 box
+ (xb::xbSsv) 0.000000 2.000000 box
+ (xb::xbXBase) 0.000000 0.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 1.000000 out
+solid
+1 0.000000 2.000000 in
+solid
+1 0.000000 0.250000 out
+solid
+0 0.000000 0.750000 in
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbTblMgr.pdf b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbTblMgr.pdf
new file mode 100644
index 0000000..f31039e
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbTblMgr.pdf
Binary files differ
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbTblMgr.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbTblMgr.tex
new file mode 100644
index 0000000..bbf8bbf
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbTblMgr.tex
@@ -0,0 +1,491 @@
+\hypertarget{classxb_1_1xbTblMgr}{}\doxysection{xb\+::xb\+Tbl\+Mgr Class Reference}
+\label{classxb_1_1xbTblMgr}\index{xb::xbTblMgr@{xb::xbTblMgr}}
+
+
+{\ttfamily \#include $<$xbtblmgr.\+h$>$}
+
+Inheritance diagram for xb\+::xb\+Tbl\+Mgr\+:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3.000000cm]{classxb_1_1xbTblMgr}
+\end{center}
+\end{figure}
+\doxysubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\hyperlink{classxb_1_1xbTblMgr_aad83f5ecc184ca6cbdfc6f356b598d6c}{xb\+Tbl\+Mgr}} ()
+\item
+\mbox{\hyperlink{classxb_1_1xbTblMgr_aad6be32d7b3378c71d47fa27ebfe6cbf}{$\sim$xb\+Tbl\+Mgr}} ()
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbTblMgr_af16832ff2bfaee09265652e0fc03709a}{Add\+Tbl\+To\+Tbl\+List}} (\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fq\+Tbl\+Name)
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbTblMgr_a2033188e9b08778188a034a6fc90ca85}{Add\+Tbl\+To\+Tbl\+List}} (\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fq\+Tbl\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Tbl\+Alias)
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbTblMgr_a5eebffb9e8cc64141e35c2622045cb50}{Display\+Table\+List}} () const
+\item
+\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$ \mbox{\hyperlink{classxb_1_1xbTblMgr_ad8a5d28a2ee6720a9aa74bcb45662cf5}{Get\+Dbf\+Ptr}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Tbl\+Alias) const
+\item
+\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$ \mbox{\hyperlink{classxb_1_1xbTblMgr_a801dfecf7fc216954b4197b2c31b25d6}{Get\+Dbf\+Ptr}} (xb\+Int16 s\+Item\+No) const
+\item
+\mbox{\hyperlink{structxb_1_1xbTblList}{xb\+Tbl\+List}} $\ast$ \mbox{\hyperlink{classxb_1_1xbTblMgr_acbf148ddba4297021cfb980a161ebef9}{Get\+Tbl\+List\+Entry}} (\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d)
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbTblMgr_ad0d2d4adabc0dc0e761cfdee63c84069}{Get\+Open\+Table\+Count}} () const
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbTblMgr_ac8eaef41acf08911b90f900aac8e70af}{Remove\+Tbl\+From\+Tbl\+List}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Tbl\+Alias)
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbTblMgr_a3d82b6e73d5c0bc8cac22b9a260389c1}{Remove\+Tbl\+From\+Tbl\+List}} (\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d)
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}{Display\+Error}} (xb\+Int16 Error\+Code) const
+\begin{DoxyCompactList}\small\item\em Display error message on console for a given error number. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}{Get\+Default\+Date\+Format}} () const
+\begin{DoxyCompactList}\small\item\em Get the default date format. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}{Get\+Data\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the current data directory. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}{Get\+Temp\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the current temp directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}{Get\+Home\+Dir}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Home\+Dir\+Out)
+\begin{DoxyCompactList}\small\item\em Get home directory. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}{Get\+Endian\+Type}} () const
+\begin{DoxyCompactList}\small\item\em Get the Endian type. \end{DoxyCompactList}\item
+const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}{Get\+Error\+Message}} (xb\+Int16 Error\+Code) const
+\begin{DoxyCompactList}\small\item\em Get an error message. \end{DoxyCompactList}\item
+char \mbox{\hyperlink{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}{Get\+Path\+Separator}} () const
+\begin{DoxyCompactList}\small\item\em Get the OS dependent path separator. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}{Set\+Data\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Data\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the data directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}{Set\+Default\+Date\+Format}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Default\+Date\+Format)
+\begin{DoxyCompactList}\small\item\em Set the default date format. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}{Set\+Temp\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Temp\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the temp directory. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}{Bit\+Set}} (unsigned char c, xb\+Int16 i\+Bit\+No) const
+\begin{DoxyCompactList}\small\item\em Check a bit in a one byte field and see if it is set. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}{Bit\+Dump}} (unsigned char c) const
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}{Bit\+Dump}} (char c) const
+\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}{Get\+Default\+Auto\+Commit}} () const
+\begin{DoxyCompactList}\small\item\em Get the default auto commit setting. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}{Set\+Default\+Auto\+Commit}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Default\+Auto\+Commit)
+\begin{DoxyCompactList}\small\item\em Set the default auto commit. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}{Get\+Log\+Directory}} () const
+\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}{Get\+Log\+File\+Name}} () const
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}{Set\+Log\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+Directory)
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}{Set\+Log\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+File\+Name)
+\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}{Get\+Multi\+User}} () const
+\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}{Set\+Multi\+User}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Multi\+User)
+\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Static Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+static const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}{Error\+Code\+Text}} \mbox{[}$\,$\mbox{]}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}{Set\+Endian\+Type}} ()
+\begin{DoxyCompactList}\small\item\em Set the endian type. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Static Protected Attributes}
+\begin{DoxyCompactItemize}
+\item
+static xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}{i\+Endian\+Type}} = 0
+\item
+static \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}{s\+Null\+String}} = \char`\"{}\char`\"{}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Constructor \& Destructor Documentation}
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_aad83f5ecc184ca6cbdfc6f356b598d6c}\label{classxb_1_1xbTblMgr_aad83f5ecc184ca6cbdfc6f356b598d6c}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!xbTblMgr@{xbTblMgr}}
+\index{xbTblMgr@{xbTblMgr}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{xbTblMgr()}{xbTblMgr()}}
+{\footnotesize\ttfamily xb\+::xb\+Tbl\+Mgr\+::xb\+Tbl\+Mgr (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_aad6be32d7b3378c71d47fa27ebfe6cbf}\label{classxb_1_1xbTblMgr_aad6be32d7b3378c71d47fa27ebfe6cbf}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!````~xbTblMgr@{$\sim$xbTblMgr}}
+\index{````~xbTblMgr@{$\sim$xbTblMgr}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{$\sim$xbTblMgr()}{~xbTblMgr()}}
+{\footnotesize\ttfamily xb\+::xb\+Tbl\+Mgr\+::$\sim$xb\+Tbl\+Mgr (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+\doxysubsection{Member Function Documentation}
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_af16832ff2bfaee09265652e0fc03709a}\label{classxb_1_1xbTblMgr_af16832ff2bfaee09265652e0fc03709a}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!AddTblToTblList@{AddTblToTblList}}
+\index{AddTblToTblList@{AddTblToTblList}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{AddTblToTblList()}{AddTblToTblList()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Tbl\+Mgr\+::\+Add\+Tbl\+To\+Tbl\+List (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Fq\+Tbl\+Name }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_a2033188e9b08778188a034a6fc90ca85}\label{classxb_1_1xbTblMgr_a2033188e9b08778188a034a6fc90ca85}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!AddTblToTblList@{AddTblToTblList}}
+\index{AddTblToTblList@{AddTblToTblList}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{AddTblToTblList()}{AddTblToTblList()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Tbl\+Mgr\+::\+Add\+Tbl\+To\+Tbl\+List (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Fq\+Tbl\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Tbl\+Alias }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}\label{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!BitDump@{BitDump}}
+\index{BitDump@{BitDump}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}\label{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!BitDump@{BitDump}}
+\index{BitDump@{BitDump}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{unsigned char}]{c }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}\label{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!BitSet@{BitSet}}
+\index{BitSet@{BitSet}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{BitSet()}{BitSet()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Bit\+Set (\begin{DoxyParamCaption}\item[{unsigned char}]{c, }\item[{xb\+Int16}]{i\+Bit\+No }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Check a bit in a one byte field and see if it is set.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & One byte char field to examine. \\
+\hline
+{\em i\+Bit\+No} & which bit to examine. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True Bit is set~\newline
+ xb\+False Bit is not set
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}\label{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!DisplayError@{DisplayError}}
+\index{DisplayError@{DisplayError}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{DisplayError()}{DisplayError()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Display\+Error (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Display error message on console for a given error number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Error\+Code} & Error number to reference \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_a5eebffb9e8cc64141e35c2622045cb50}\label{classxb_1_1xbTblMgr_a5eebffb9e8cc64141e35c2622045cb50}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!DisplayTableList@{DisplayTableList}}
+\index{DisplayTableList@{DisplayTableList}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{DisplayTableList()}{DisplayTableList()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Tbl\+Mgr\+::\+Display\+Table\+List (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}\label{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetDataDirectory@{GetDataDirectory}}
+\index{GetDataDirectory@{GetDataDirectory}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetDataDirectory()}{GetDataDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Data\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the current data directory.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the current data directory where the database files are stored.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_ad8a5d28a2ee6720a9aa74bcb45662cf5}\label{classxb_1_1xbTblMgr_ad8a5d28a2ee6720a9aa74bcb45662cf5}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetDbfPtr@{GetDbfPtr}}
+\index{GetDbfPtr@{GetDbfPtr}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetDbfPtr()}{GetDbfPtr()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$ xb\+::xb\+Tbl\+Mgr\+::\+Get\+Dbf\+Ptr (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Tbl\+Alias }\end{DoxyParamCaption}) const}
+
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_a801dfecf7fc216954b4197b2c31b25d6}\label{classxb_1_1xbTblMgr_a801dfecf7fc216954b4197b2c31b25d6}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetDbfPtr@{GetDbfPtr}}
+\index{GetDbfPtr@{GetDbfPtr}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetDbfPtr()}{GetDbfPtr()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$ xb\+::xb\+Tbl\+Mgr\+::\+Get\+Dbf\+Ptr (\begin{DoxyParamCaption}\item[{xb\+Int16}]{s\+Item\+No }\end{DoxyParamCaption}) const}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}\label{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetDefaultAutoCommit@{GetDefaultAutoCommit}}
+\index{GetDefaultAutoCommit@{GetDefaultAutoCommit}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetDefaultAutoCommit()}{GetDefaultAutoCommit()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Default\+Auto\+Commit (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the default auto commit setting.
+
+When auto commit is enabled, the library will automatically post any updates when moving off an updated record or closing files. If auto commit is disabled, the application program will need to explicitly update the tables using using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}Append\+Record().
+
+\begin{DoxyReturn}{Returns}
+xb\+True if auto commit is turned on~\newline
+ xb\+False is auto commit is turned off
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}\label{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetDefaultDateFormat@{GetDefaultDateFormat}}
+\index{GetDefaultDateFormat@{GetDefaultDateFormat}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetDefaultDateFormat()}{GetDefaultDateFormat()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Default\+Date\+Format (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the default date format.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the default date format.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}\label{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetEndianType@{GetEndianType}}
+\index{GetEndianType@{GetEndianType}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetEndianType()}{GetEndianType()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::\+Get\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the Endian type.
+
+\begin{DoxyReturn}{Returns}
+B -\/ Big endian~\newline
+ L -\/ Little endian~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}\label{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetErrorMessage@{GetErrorMessage}}
+\index{GetErrorMessage@{GetErrorMessage}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetErrorMessage()}{GetErrorMessage()}}
+{\footnotesize\ttfamily const char $\ast$ xb\+::xb\+Ssv\+::\+Get\+Error\+Message (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get an error message.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Error\+Code} & Error\+Code is the error number of description to be returned. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns a pointer to a string containing a text description for the error code.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}\label{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetHomeDir@{GetHomeDir}}
+\index{GetHomeDir@{GetHomeDir}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetHomeDir()}{GetHomeDir()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Get\+Home\+Dir (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Home\+Dir\+Out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get home directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Home\+Dir\+Out} & -\/ Output home directory for current user. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}\label{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetLogDirectory@{GetLogDirectory}}
+\index{GetLogDirectory@{GetLogDirectory}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetLogDirectory()}{GetLogDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}\label{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetLogFileName@{GetLogFileName}}
+\index{GetLogFileName@{GetLogFileName}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetLogFileName()}{GetLogFileName()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}\label{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetMultiUser@{GetMultiUser}}
+\index{GetMultiUser@{GetMultiUser}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetMultiUser()}{GetMultiUser()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Multi\+User (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the multi user setting.
+
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Multi user mode turned on.~\newline
+ xb\+False -\/ Multi user mode turned off.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_ad0d2d4adabc0dc0e761cfdee63c84069}\label{classxb_1_1xbTblMgr_ad0d2d4adabc0dc0e761cfdee63c84069}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetOpenTableCount@{GetOpenTableCount}}
+\index{GetOpenTableCount@{GetOpenTableCount}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetOpenTableCount()}{GetOpenTableCount()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Tbl\+Mgr\+::\+Get\+Open\+Table\+Count (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}\label{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetPathSeparator@{GetPathSeparator}}
+\index{GetPathSeparator@{GetPathSeparator}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetPathSeparator()}{GetPathSeparator()}}
+{\footnotesize\ttfamily char xb\+::xb\+Ssv\+::\+Get\+Path\+Separator (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the OS dependent path separator.
+
+\begin{DoxyReturn}{Returns}
+Returns \textquotesingle{}\textbackslash{}\textquotesingle{} for windows environment, otherwise returns \textquotesingle{}/\textquotesingle{}.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_acbf148ddba4297021cfb980a161ebef9}\label{classxb_1_1xbTblMgr_acbf148ddba4297021cfb980a161ebef9}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetTblListEntry@{GetTblListEntry}}
+\index{GetTblListEntry@{GetTblListEntry}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetTblListEntry()}{GetTblListEntry()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{structxb_1_1xbTblList}{xb\+Tbl\+List}} $\ast$ xb\+::xb\+Tbl\+Mgr\+::\+Get\+Tbl\+List\+Entry (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}\label{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!GetTempDirectory@{GetTempDirectory}}
+\index{GetTempDirectory@{GetTempDirectory}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{GetTempDirectory()}{GetTempDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Temp\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the current temp directory.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the current data directory where the database files are stored.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_ac8eaef41acf08911b90f900aac8e70af}\label{classxb_1_1xbTblMgr_ac8eaef41acf08911b90f900aac8e70af}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!RemoveTblFromTblList@{RemoveTblFromTblList}}
+\index{RemoveTblFromTblList@{RemoveTblFromTblList}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{RemoveTblFromTblList()}{RemoveTblFromTblList()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Tbl\+Mgr\+::\+Remove\+Tbl\+From\+Tbl\+List (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Tbl\+Alias }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_a3d82b6e73d5c0bc8cac22b9a260389c1}\label{classxb_1_1xbTblMgr_a3d82b6e73d5c0bc8cac22b9a260389c1}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!RemoveTblFromTblList@{RemoveTblFromTblList}}
+\index{RemoveTblFromTblList@{RemoveTblFromTblList}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{RemoveTblFromTblList()}{RemoveTblFromTblList()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Tbl\+Mgr\+::\+Remove\+Tbl\+From\+Tbl\+List (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}\label{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!SetDataDirectory@{SetDataDirectory}}
+\index{SetDataDirectory@{SetDataDirectory}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{SetDataDirectory()}{SetDataDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Data\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Data\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the data directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Data\+Directory} & Set the data directory. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}\label{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!SetDefaultAutoCommit@{SetDefaultAutoCommit}}
+\index{SetDefaultAutoCommit@{SetDefaultAutoCommit}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{SetDefaultAutoCommit()}{SetDefaultAutoCommit()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Auto\+Commit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Default\+Auto\+Commit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the default auto commit.
+
+Disabling auto commit requires the application execute explicit updates using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}Append\+Record(). With auto commit on, the library posts updates automatically when moving off the current record or closing a file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Default\+Auto\+Commit} & xb\+True -\/ Enable default auto commit.~\newline
+ xb\+False -\/ Disable default auto commit.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}\label{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!SetDefaultDateFormat@{SetDefaultDateFormat}}
+\index{SetDefaultDateFormat@{SetDefaultDateFormat}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{SetDefaultDateFormat()}{SetDefaultDateFormat()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Date\+Format (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Default\+Date\+Format }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the default date format.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Default\+Date\+Format} & Set the default date format. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}\label{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!SetEndianType@{SetEndianType}}
+\index{SetEndianType@{SetEndianType}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{SetEndianType()}{SetEndianType()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+
+
+Set the endian type.
+
+This routine determines the Endian-\/ness at run time instead of compile time as some processers (ie; Sparc,ARM) can be switched either way. This routine is called automatically by the library at startup and does not need to be called in an application program. \mbox{\Hypertarget{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}\label{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!SetLogDirectory@{SetLogDirectory}}
+\index{SetLogDirectory@{SetLogDirectory}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{SetLogDirectory()}{SetLogDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}\label{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!SetLogFileName@{SetLogFileName}}
+\index{SetLogFileName@{SetLogFileName}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{SetLogFileName()}{SetLogFileName()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+File\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}\label{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!SetMultiUser@{SetMultiUser}}
+\index{SetMultiUser@{SetMultiUser}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{SetMultiUser()}{SetMultiUser()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Multi\+User (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Multi\+User }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the multi user setting.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Multi\+User} & xb\+True -\/ Turn on Multi user mode.~\newline
+ xb\+False -\/ Turn off Multi user mode.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}\label{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!SetTempDirectory@{SetTempDirectory}}
+\index{SetTempDirectory@{SetTempDirectory}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{SetTempDirectory()}{SetTempDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Temp\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Temp\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the temp directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Temp\+Directory} & Set the data direcroty. \\
+\hline
+\end{DoxyParams}
+
+
+\doxysubsection{Field Documentation}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}\label{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!ErrorCodeText@{ErrorCodeText}}
+\index{ErrorCodeText@{ErrorCodeText}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{ErrorCodeText}{ErrorCodeText}}
+{\footnotesize\ttfamily const char$\ast$ xb\+::xb\+Ssv\+::\+Error\+Code\+Text\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}\label{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!iEndianType@{iEndianType}}
+\index{iEndianType@{iEndianType}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{iEndianType}{iEndianType}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::i\+Endian\+Type = 0\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}\label{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}}
+\index{xb::xbTblMgr@{xb::xbTblMgr}!sNullString@{sNullString}}
+\index{sNullString@{sNullString}!xb::xbTblMgr@{xb::xbTblMgr}}
+\doxysubsubsection{\texorpdfstring{sNullString}{sNullString}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+Ssv\+::s\+Null\+String = \char`\"{}\char`\"{}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbtblmgr_8h}{xbtblmgr.\+h}}\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbtblmgr_8cpp}{xbtblmgr.\+cpp}}\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbXBase.eps b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbXBase.eps
new file mode 100644
index 0000000..c5ffd19
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbXBase.eps
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 652.173889
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.766667 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text 'arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col 'arg1' to 'arg2' of row 'arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(xb::xbXBase) cw
+(xb::xbTblMgr) cw
+(xb::xbSsv) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (xb::xbXBase) 0.000000 0.000000 box
+ (xb::xbTblMgr) 0.000000 1.000000 box
+ (xb::xbSsv) 0.000000 2.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
+solid
+0 0.000000 1.000000 out
+solid
+1 0.000000 2.000000 in
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbXBase.pdf b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbXBase.pdf
new file mode 100644
index 0000000..e2b00e7
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbXBase.pdf
Binary files differ
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbXBase.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbXBase.tex
new file mode 100644
index 0000000..420cffe
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/classxb_1_1xbXBase.tex
@@ -0,0 +1,817 @@
+\hypertarget{classxb_1_1xbXBase}{}\doxysection{xb\+::xb\+XBase Class Reference}
+\label{classxb_1_1xbXBase}\index{xb::xbXBase@{xb::xbXBase}}
+
+
+xb\+Xbase class.
+
+
+
+
+{\ttfamily \#include $<$xbxbase.\+h$>$}
+
+Inheritance diagram for xb\+::xb\+XBase\+:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3.000000cm]{classxb_1_1xbXBase}
+\end{center}
+\end{figure}
+\doxysubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\hyperlink{classxb_1_1xbXBase_a6c68588e33946fb5416af3f86fe83224}{xb\+XBase}} ()
+\begin{DoxyCompactList}\small\item\em Class Constructor. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbXBase_a204f8634894ac2066d3209117803306d}{$\sim$xb\+XBase}} ()
+\begin{DoxyCompactList}\small\item\em Class Deconstructor. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbXBase_afccb552ca0daff779c0500ff20d22c2b}{Close\+All\+Tables}} ()
+\begin{DoxyCompactList}\small\item\em Close all tables / files. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbXBase_aa41240d920b604dcbd91dce7eecb78e1}{Create\+Fqn}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Dir\+In, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Name\+In, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Ext\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fqfn\+Out)
+\begin{DoxyCompactList}\small\item\em Fully qualified file name from a directory, filename and extension. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbXBase_ae357fac4fdebdf49e46563cf611caf65}{Disable\+Msg\+Logging}} ()
+\item
+void \mbox{\hyperlink{classxb_1_1xbXBase_a470e6eb0ed0be60338f9b40976d3ad48}{Enable\+Msg\+Logging}} ()
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbXBase_a5a5ecaed9777978344902446c9ae3b8e}{Flush\+Log}} ()
+\item
+const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbXBase_ab5d63cd7d9137eba8a1d4d9c3df522b7}{Get\+Log\+Fq\+File\+Name}} () const
+\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbXBase_ade34cd72c2a7e70fb55429a8a6f6c028}{Get\+Log\+Status}} () const
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbXBase_aa957eb502ecd076e5df89e7415cb094b}{Open\+Highest\+Version}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Alias, \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} \&dbf, int dummy)
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbXBase_afa7bbac08a4601f49cd53b457196ee0e}{Open\+Highest\+Version}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Alias, \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$$\ast$dbf)
+\item
+\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$ \mbox{\hyperlink{classxb_1_1xbXBase_aafb1abd6b6124cddf635adaf9f615a4a}{Open}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name, xb\+Int16 \&i\+Rc)
+\begin{DoxyCompactList}\small\item\em Open highest qualified class available for dbf file. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$ \mbox{\hyperlink{classxb_1_1xbXBase_ab35cec5ac8f0fa95f10653ca7ac817f6}{Open}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Alias, xb\+Int16 i\+Open\+Mode, xb\+Int16 i\+Share\+Mode, xb\+Int16 i\+Version, xb\+Int16 \&i\+Rc)
+\begin{DoxyCompactList}\small\item\em Open highest qualified class available for dbf file. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbXBase_a666a0cb5b76ec7a9a3677d339e0c6b42}{Set\+Log\+Size}} (size\+\_\+t l\+Size)
+\item
+size\+\_\+t \mbox{\hyperlink{classxb_1_1xbXBase_aedb4c2aa2c90e4529915198a2305b355}{Get\+Log\+Size}} () const
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbXBase_a9ca5be73abffd0fdd18bdc799877272a}{Write\+Log\+Message}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+Message, xb\+Int16 i\+Output\+Opt=0)
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbXBase_a0dff00b9ee3c288841e137ca01168116}{Write\+Log\+Bytes}} (xb\+UInt32 l\+Cnt, const char $\ast$p)
+\item
+void \mbox{\hyperlink{classxb_1_1xbXBase_a0915aff7be4b2dd3e881f3c5d0da4baf}{xb\+Sleep}} (xb\+Int32 l\+Millisecs)
+\begin{DoxyCompactList}\small\item\em Cross platform sleep function. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbXBase_aadecb3ac460d8e94b88b2e809e22f48e}{Get\+Cmd\+Line\+Opt}} (xb\+Int32 l\+Argc, char $\ast$$\ast$argv, const char $\ast$s\+Opt\+Rqst, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Parm\+Out)
+\begin{DoxyCompactList}\small\item\em Parse commmand line options for a given parm request. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbXBase_a8612e0c5334349fbceb9394b47817fd5}{Get\+Cmd\+Line\+Opt}} (xb\+Int32 l\+Argc, char $\ast$$\ast$argv, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Opt\+Rqst, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Parm\+Out)
+\begin{DoxyCompactList}\small\item\em Parse commmand line options for a given parm request. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbTblMgr_af16832ff2bfaee09265652e0fc03709a}{Add\+Tbl\+To\+Tbl\+List}} (\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fq\+Tbl\+Name)
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbTblMgr_a2033188e9b08778188a034a6fc90ca85}{Add\+Tbl\+To\+Tbl\+List}} (\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fq\+Tbl\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Tbl\+Alias)
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbTblMgr_a5eebffb9e8cc64141e35c2622045cb50}{Display\+Table\+List}} () const
+\item
+\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$ \mbox{\hyperlink{classxb_1_1xbTblMgr_ad8a5d28a2ee6720a9aa74bcb45662cf5}{Get\+Dbf\+Ptr}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Tbl\+Alias) const
+\item
+\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$ \mbox{\hyperlink{classxb_1_1xbTblMgr_a801dfecf7fc216954b4197b2c31b25d6}{Get\+Dbf\+Ptr}} (xb\+Int16 s\+Item\+No) const
+\item
+\mbox{\hyperlink{structxb_1_1xbTblList}{xb\+Tbl\+List}} $\ast$ \mbox{\hyperlink{classxb_1_1xbTblMgr_acbf148ddba4297021cfb980a161ebef9}{Get\+Tbl\+List\+Entry}} (\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d)
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbTblMgr_ad0d2d4adabc0dc0e761cfdee63c84069}{Get\+Open\+Table\+Count}} () const
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbTblMgr_ac8eaef41acf08911b90f900aac8e70af}{Remove\+Tbl\+From\+Tbl\+List}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Tbl\+Alias)
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbTblMgr_a3d82b6e73d5c0bc8cac22b9a260389c1}{Remove\+Tbl\+From\+Tbl\+List}} (\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d)
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}{Display\+Error}} (xb\+Int16 Error\+Code) const
+\begin{DoxyCompactList}\small\item\em Display error message on console for a given error number. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}{Get\+Default\+Date\+Format}} () const
+\begin{DoxyCompactList}\small\item\em Get the default date format. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}{Get\+Data\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the current data directory. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}{Get\+Temp\+Directory}} () const
+\begin{DoxyCompactList}\small\item\em Get the current temp directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}{Get\+Home\+Dir}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Home\+Dir\+Out)
+\begin{DoxyCompactList}\small\item\em Get home directory. \end{DoxyCompactList}\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}{Get\+Endian\+Type}} () const
+\begin{DoxyCompactList}\small\item\em Get the Endian type. \end{DoxyCompactList}\item
+const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}{Get\+Error\+Message}} (xb\+Int16 Error\+Code) const
+\begin{DoxyCompactList}\small\item\em Get an error message. \end{DoxyCompactList}\item
+char \mbox{\hyperlink{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}{Get\+Path\+Separator}} () const
+\begin{DoxyCompactList}\small\item\em Get the OS dependent path separator. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}{Set\+Data\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Data\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the data directory. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}{Set\+Default\+Date\+Format}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Default\+Date\+Format)
+\begin{DoxyCompactList}\small\item\em Set the default date format. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}{Set\+Temp\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Temp\+Directory)
+\begin{DoxyCompactList}\small\item\em Set the temp directory. \end{DoxyCompactList}\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}{Bit\+Set}} (unsigned char c, xb\+Int16 i\+Bit\+No) const
+\begin{DoxyCompactList}\small\item\em Check a bit in a one byte field and see if it is set. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}{Bit\+Dump}} (unsigned char c) const
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}{Bit\+Dump}} (char c) const
+\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}{Get\+Default\+Auto\+Commit}} () const
+\begin{DoxyCompactList}\small\item\em Get the default auto commit setting. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}{Set\+Default\+Auto\+Commit}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Default\+Auto\+Commit)
+\begin{DoxyCompactList}\small\item\em Set the default auto commit. \end{DoxyCompactList}\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}{Get\+Log\+Directory}} () const
+\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}{Get\+Log\+File\+Name}} () const
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}{Set\+Log\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+Directory)
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}{Set\+Log\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+File\+Name)
+\item
+\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}{Get\+Multi\+User}} () const
+\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}{Set\+Multi\+User}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Multi\+User)
+\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Static Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+static const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}{Error\+Code\+Text}} \mbox{[}$\,$\mbox{]}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+xb\+Int16 \mbox{\hyperlink{classxb_1_1xbXBase_ae52e53340593b4253936c1372ec15ee1}{Get\+Function\+Info}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Exp\+Line, char \&c\+Return\+Type, xb\+Int16 \&i\+Return\+Len\+Calc, xb\+Int32 \&l\+Return\+Len\+Val) const
+\item
+void \mbox{\hyperlink{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}{Set\+Endian\+Type}} ()
+\begin{DoxyCompactList}\small\item\em Set the endian type. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Static Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+static xb\+Int16 \mbox{\hyperlink{classxb_1_1xbXBase_a1b239c021358476382942522911b5c66}{xb\+Memcmp}} (const unsigned char $\ast$s1, const unsigned char $\ast$s2, size\+\_\+t n)
+\begin{DoxyCompactList}\small\item\em Cross memcmp function. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Static Protected Attributes}
+\begin{DoxyCompactItemize}
+\item
+static xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}{i\+Endian\+Type}} = 0
+\item
+static \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}{s\+Null\+String}} = \char`\"{}\char`\"{}
+\end{DoxyCompactItemize}
+\doxysubsection*{Friends}
+\begin{DoxyCompactItemize}
+\item
+class \mbox{\hyperlink{classxb_1_1xbXBase_a86a53ce3efbf910996df0f853f1c0add}{xb\+Bcd}}
+\item
+class \mbox{\hyperlink{classxb_1_1xbXBase_a3c3e5617be811d732472fe2cc8fb18cc}{xb\+Exp}}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Detailed Description}
+xb\+Xbase class.
+
+The \mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} class is the core class that needs to be in every application program.
+
+\doxysubsection{Constructor \& Destructor Documentation}
+\mbox{\Hypertarget{classxb_1_1xbXBase_a6c68588e33946fb5416af3f86fe83224}\label{classxb_1_1xbXBase_a6c68588e33946fb5416af3f86fe83224}}
+\index{xb::xbXBase@{xb::xbXBase}!xbXBase@{xbXBase}}
+\index{xbXBase@{xbXBase}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{xbXBase()}{xbXBase()}}
+{\footnotesize\ttfamily xb\+::xb\+XBase\+::xb\+XBase (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Class Constructor.
+
+\mbox{\Hypertarget{classxb_1_1xbXBase_a204f8634894ac2066d3209117803306d}\label{classxb_1_1xbXBase_a204f8634894ac2066d3209117803306d}}
+\index{xb::xbXBase@{xb::xbXBase}!````~xbXBase@{$\sim$xbXBase}}
+\index{````~xbXBase@{$\sim$xbXBase}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{$\sim$xbXBase()}{~xbXBase()}}
+{\footnotesize\ttfamily xb\+::xb\+XBase\+::$\sim$xb\+XBase (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Class Deconstructor.
+
+
+
+\doxysubsection{Member Function Documentation}
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_af16832ff2bfaee09265652e0fc03709a}\label{classxb_1_1xbTblMgr_af16832ff2bfaee09265652e0fc03709a}}
+\index{xb::xbXBase@{xb::xbXBase}!AddTblToTblList@{AddTblToTblList}}
+\index{AddTblToTblList@{AddTblToTblList}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{AddTblToTblList()}{AddTblToTblList()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Tbl\+Mgr\+::\+Add\+Tbl\+To\+Tbl\+List (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Fq\+Tbl\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_a2033188e9b08778188a034a6fc90ca85}\label{classxb_1_1xbTblMgr_a2033188e9b08778188a034a6fc90ca85}}
+\index{xb::xbXBase@{xb::xbXBase}!AddTblToTblList@{AddTblToTblList}}
+\index{AddTblToTblList@{AddTblToTblList}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{AddTblToTblList()}{AddTblToTblList()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Tbl\+Mgr\+::\+Add\+Tbl\+To\+Tbl\+List (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Fq\+Tbl\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Tbl\+Alias }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}\label{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}}
+\index{xb::xbXBase@{xb::xbXBase}!BitDump@{BitDump}}
+\index{BitDump@{BitDump}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}\label{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}}
+\index{xb::xbXBase@{xb::xbXBase}!BitDump@{BitDump}}
+\index{BitDump@{BitDump}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{unsigned char}]{c }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}\label{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}}
+\index{xb::xbXBase@{xb::xbXBase}!BitSet@{BitSet}}
+\index{BitSet@{BitSet}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{BitSet()}{BitSet()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Bit\+Set (\begin{DoxyParamCaption}\item[{unsigned char}]{c, }\item[{xb\+Int16}]{i\+Bit\+No }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Check a bit in a one byte field and see if it is set.
+
+
+\begin{DoxyParams}{Parameters}
+{\em c} & One byte char field to examine. \\
+\hline
+{\em i\+Bit\+No} & which bit to examine. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+xb\+True Bit is set~\newline
+ xb\+False Bit is not set
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbXBase_afccb552ca0daff779c0500ff20d22c2b}\label{classxb_1_1xbXBase_afccb552ca0daff779c0500ff20d22c2b}}
+\index{xb::xbXBase@{xb::xbXBase}!CloseAllTables@{CloseAllTables}}
+\index{CloseAllTables@{CloseAllTables}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{CloseAllTables()}{CloseAllTables()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+XBase\+::\+Close\+All\+Tables (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+
+
+Close all tables / files.
+
+This closes everything and deletes references to the associated \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} objects. \begin{DoxyReturn}{Returns}
+\href{xbretcod_8h.html}{\texttt{ Return Codes}}
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbXBase_aa41240d920b604dcbd91dce7eecb78e1}\label{classxb_1_1xbXBase_aa41240d920b604dcbd91dce7eecb78e1}}
+\index{xb::xbXBase@{xb::xbXBase}!CreateFqn@{CreateFqn}}
+\index{CreateFqn@{CreateFqn}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{CreateFqn()}{CreateFqn()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+XBase\+::\+Create\+Fqn (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Dir\+In, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Name\+In, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Ext\+In, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Fqn\+Out }\end{DoxyParamCaption})}
+
+
+
+Fully qualified file name from a directory, filename and extension.
+
+Given a directory, file name and file extension as inputs, create a fully qualified file name.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Dir\+In} & Directory \\
+\hline
+{\em s\+File\+In} & File Name \\
+\hline
+{\em s\+Ext\+In} & File Extension \\
+\hline
+{\em s\+Fqn\+Out} & A fully qualifed unique file name as output \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+XB\+\_\+\+INVALIED\+\_\+\+PARAMETER or XB\+\_\+\+NO\+\_\+\+ERROR
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbXBase_ae357fac4fdebdf49e46563cf611caf65}\label{classxb_1_1xbXBase_ae357fac4fdebdf49e46563cf611caf65}}
+\index{xb::xbXBase@{xb::xbXBase}!DisableMsgLogging@{DisableMsgLogging}}
+\index{DisableMsgLogging@{DisableMsgLogging}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{DisableMsgLogging()}{DisableMsgLogging()}}
+{\footnotesize\ttfamily void xb\+::xb\+XBase\+::\+Disable\+Msg\+Logging (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}\label{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}}
+\index{xb::xbXBase@{xb::xbXBase}!DisplayError@{DisplayError}}
+\index{DisplayError@{DisplayError}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{DisplayError()}{DisplayError()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Display\+Error (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Display error message on console for a given error number.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Error\+Code} & Error number to reference \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_a5eebffb9e8cc64141e35c2622045cb50}\label{classxb_1_1xbTblMgr_a5eebffb9e8cc64141e35c2622045cb50}}
+\index{xb::xbXBase@{xb::xbXBase}!DisplayTableList@{DisplayTableList}}
+\index{DisplayTableList@{DisplayTableList}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{DisplayTableList()}{DisplayTableList()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Tbl\+Mgr\+::\+Display\+Table\+List (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbXBase_a470e6eb0ed0be60338f9b40976d3ad48}\label{classxb_1_1xbXBase_a470e6eb0ed0be60338f9b40976d3ad48}}
+\index{xb::xbXBase@{xb::xbXBase}!EnableMsgLogging@{EnableMsgLogging}}
+\index{EnableMsgLogging@{EnableMsgLogging}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{EnableMsgLogging()}{EnableMsgLogging()}}
+{\footnotesize\ttfamily void xb\+::xb\+XBase\+::\+Enable\+Msg\+Logging (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbXBase_a5a5ecaed9777978344902446c9ae3b8e}\label{classxb_1_1xbXBase_a5a5ecaed9777978344902446c9ae3b8e}}
+\index{xb::xbXBase@{xb::xbXBase}!FlushLog@{FlushLog}}
+\index{FlushLog@{FlushLog}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{FlushLog()}{FlushLog()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+XBase\+::\+Flush\+Log (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbXBase_aadecb3ac460d8e94b88b2e809e22f48e}\label{classxb_1_1xbXBase_aadecb3ac460d8e94b88b2e809e22f48e}}
+\index{xb::xbXBase@{xb::xbXBase}!GetCmdLineOpt@{GetCmdLineOpt}}
+\index{GetCmdLineOpt@{GetCmdLineOpt}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetCmdLineOpt()}{GetCmdLineOpt()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+XBase\+::\+Get\+Cmd\+Line\+Opt (\begin{DoxyParamCaption}\item[{xb\+Int32}]{l\+Argc, }\item[{char $\ast$$\ast$}]{s\+Argv, }\item[{const char $\ast$}]{s\+Opt\+Rqst, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Parm\+Out }\end{DoxyParamCaption})}
+
+
+
+Parse commmand line options for a given parm request.
+
+
+\begin{DoxyParams}{Parameters}
+{\em l\+Argc} & Value passed from main( argc, argv\mbox{[}$\,$\mbox{]} ) \\
+\hline
+{\em s\+Argv} & Valued passed from main \\
+\hline
+{\em s\+Opt\+Rqst} & Option to search for in the arguments list \\
+\hline
+{\em s\+Parm\+Out} & String token immediately to the right of the the option request, if found \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+0 -\/ paramater request not found~\newline
+ 1 -\/ Parameter found
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbXBase_a8612e0c5334349fbceb9394b47817fd5}\label{classxb_1_1xbXBase_a8612e0c5334349fbceb9394b47817fd5}}
+\index{xb::xbXBase@{xb::xbXBase}!GetCmdLineOpt@{GetCmdLineOpt}}
+\index{GetCmdLineOpt@{GetCmdLineOpt}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetCmdLineOpt()}{GetCmdLineOpt()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+XBase\+::\+Get\+Cmd\+Line\+Opt (\begin{DoxyParamCaption}\item[{xb\+Int32}]{l\+Argc, }\item[{char $\ast$$\ast$}]{s\+Argv, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Opt\+Rqst, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Parm\+Out }\end{DoxyParamCaption})}
+
+
+
+Parse commmand line options for a given parm request.
+
+
+\begin{DoxyParams}{Parameters}
+{\em l\+Argc} & Value passed from main( argc, argv\mbox{[}$\,$\mbox{]} ) \\
+\hline
+{\em s\+Argv} & Valued passed from main \\
+\hline
+{\em s\+Opt\+Rqst} & Option to search for in the arguments list \\
+\hline
+{\em s\+Parm\+Out} & String token immediately to the right of the the option request, if found \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+0 -\/ paramater request not found~\newline
+ 1 -\/ Parameter found
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}\label{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}}
+\index{xb::xbXBase@{xb::xbXBase}!GetDataDirectory@{GetDataDirectory}}
+\index{GetDataDirectory@{GetDataDirectory}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetDataDirectory()}{GetDataDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Data\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the current data directory.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the current data directory where the database files are stored.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_ad8a5d28a2ee6720a9aa74bcb45662cf5}\label{classxb_1_1xbTblMgr_ad8a5d28a2ee6720a9aa74bcb45662cf5}}
+\index{xb::xbXBase@{xb::xbXBase}!GetDbfPtr@{GetDbfPtr}}
+\index{GetDbfPtr@{GetDbfPtr}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetDbfPtr()}{GetDbfPtr()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$ xb\+::xb\+Tbl\+Mgr\+::\+Get\+Dbf\+Ptr (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Tbl\+Alias }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_a801dfecf7fc216954b4197b2c31b25d6}\label{classxb_1_1xbTblMgr_a801dfecf7fc216954b4197b2c31b25d6}}
+\index{xb::xbXBase@{xb::xbXBase}!GetDbfPtr@{GetDbfPtr}}
+\index{GetDbfPtr@{GetDbfPtr}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetDbfPtr()}{GetDbfPtr()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$ xb\+::xb\+Tbl\+Mgr\+::\+Get\+Dbf\+Ptr (\begin{DoxyParamCaption}\item[{xb\+Int16}]{s\+Item\+No }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}\label{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}}
+\index{xb::xbXBase@{xb::xbXBase}!GetDefaultAutoCommit@{GetDefaultAutoCommit}}
+\index{GetDefaultAutoCommit@{GetDefaultAutoCommit}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetDefaultAutoCommit()}{GetDefaultAutoCommit()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Default\+Auto\+Commit (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the default auto commit setting.
+
+When auto commit is enabled, the library will automatically post any updates when moving off an updated record or closing files. If auto commit is disabled, the application program will need to explicitly update the tables using using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}Append\+Record().
+
+\begin{DoxyReturn}{Returns}
+xb\+True if auto commit is turned on~\newline
+ xb\+False is auto commit is turned off
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}\label{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}}
+\index{xb::xbXBase@{xb::xbXBase}!GetDefaultDateFormat@{GetDefaultDateFormat}}
+\index{GetDefaultDateFormat@{GetDefaultDateFormat}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetDefaultDateFormat()}{GetDefaultDateFormat()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Default\+Date\+Format (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the default date format.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the default date format.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}\label{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}}
+\index{xb::xbXBase@{xb::xbXBase}!GetEndianType@{GetEndianType}}
+\index{GetEndianType@{GetEndianType}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetEndianType()}{GetEndianType()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::\+Get\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the Endian type.
+
+\begin{DoxyReturn}{Returns}
+B -\/ Big endian~\newline
+ L -\/ Little endian~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}\label{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}}
+\index{xb::xbXBase@{xb::xbXBase}!GetErrorMessage@{GetErrorMessage}}
+\index{GetErrorMessage@{GetErrorMessage}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetErrorMessage()}{GetErrorMessage()}}
+{\footnotesize\ttfamily const char $\ast$ xb\+::xb\+Ssv\+::\+Get\+Error\+Message (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get an error message.
+
+
+\begin{DoxyParams}{Parameters}
+{\em i\+Error\+Code} & Error\+Code is the error number of description to be returned. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns a pointer to a string containing a text description for the error code.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbXBase_ae52e53340593b4253936c1372ec15ee1}\label{classxb_1_1xbXBase_ae52e53340593b4253936c1372ec15ee1}}
+\index{xb::xbXBase@{xb::xbXBase}!GetFunctionInfo@{GetFunctionInfo}}
+\index{GetFunctionInfo@{GetFunctionInfo}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetFunctionInfo()}{GetFunctionInfo()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+XBase\+::\+Get\+Function\+Info (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Exp\+Line, }\item[{char \&}]{c\+Return\+Type, }\item[{xb\+Int16 \&}]{i\+Return\+Len\+Calc, }\item[{xb\+Int32 \&}]{l\+Return\+Len\+Val }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [protected]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}\label{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}}
+\index{xb::xbXBase@{xb::xbXBase}!GetHomeDir@{GetHomeDir}}
+\index{GetHomeDir@{GetHomeDir}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetHomeDir()}{GetHomeDir()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Get\+Home\+Dir (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Home\+Dir\+Out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get home directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Home\+Dir\+Out} & -\/ Output home directory for current user. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}\label{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}}
+\index{xb::xbXBase@{xb::xbXBase}!GetLogDirectory@{GetLogDirectory}}
+\index{GetLogDirectory@{GetLogDirectory}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetLogDirectory()}{GetLogDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}\label{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}}
+\index{xb::xbXBase@{xb::xbXBase}!GetLogFileName@{GetLogFileName}}
+\index{GetLogFileName@{GetLogFileName}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetLogFileName()}{GetLogFileName()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbXBase_ab5d63cd7d9137eba8a1d4d9c3df522b7}\label{classxb_1_1xbXBase_ab5d63cd7d9137eba8a1d4d9c3df522b7}}
+\index{xb::xbXBase@{xb::xbXBase}!GetLogFqFileName@{GetLogFqFileName}}
+\index{GetLogFqFileName@{GetLogFqFileName}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetLogFqFileName()}{GetLogFqFileName()}}
+{\footnotesize\ttfamily const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+XBase\+::\+Get\+Log\+Fq\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+\mbox{\Hypertarget{classxb_1_1xbXBase_aedb4c2aa2c90e4529915198a2305b355}\label{classxb_1_1xbXBase_aedb4c2aa2c90e4529915198a2305b355}}
+\index{xb::xbXBase@{xb::xbXBase}!GetLogSize@{GetLogSize}}
+\index{GetLogSize@{GetLogSize}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetLogSize()}{GetLogSize()}}
+{\footnotesize\ttfamily size\+\_\+t xb\+::xb\+XBase\+::\+Get\+Log\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+\mbox{\Hypertarget{classxb_1_1xbXBase_ade34cd72c2a7e70fb55429a8a6f6c028}\label{classxb_1_1xbXBase_ade34cd72c2a7e70fb55429a8a6f6c028}}
+\index{xb::xbXBase@{xb::xbXBase}!GetLogStatus@{GetLogStatus}}
+\index{GetLogStatus@{GetLogStatus}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetLogStatus()}{GetLogStatus()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+XBase\+::\+Get\+Log\+Status (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}\label{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}}
+\index{xb::xbXBase@{xb::xbXBase}!GetMultiUser@{GetMultiUser}}
+\index{GetMultiUser@{GetMultiUser}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetMultiUser()}{GetMultiUser()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Multi\+User (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the multi user setting.
+
+\begin{DoxyReturn}{Returns}
+xb\+True -\/ Multi user mode turned on.~\newline
+ xb\+False -\/ Multi user mode turned off.~\newline
+
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_ad0d2d4adabc0dc0e761cfdee63c84069}\label{classxb_1_1xbTblMgr_ad0d2d4adabc0dc0e761cfdee63c84069}}
+\index{xb::xbXBase@{xb::xbXBase}!GetOpenTableCount@{GetOpenTableCount}}
+\index{GetOpenTableCount@{GetOpenTableCount}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetOpenTableCount()}{GetOpenTableCount()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Tbl\+Mgr\+::\+Get\+Open\+Table\+Count (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}\label{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}}
+\index{xb::xbXBase@{xb::xbXBase}!GetPathSeparator@{GetPathSeparator}}
+\index{GetPathSeparator@{GetPathSeparator}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetPathSeparator()}{GetPathSeparator()}}
+{\footnotesize\ttfamily char xb\+::xb\+Ssv\+::\+Get\+Path\+Separator (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the OS dependent path separator.
+
+\begin{DoxyReturn}{Returns}
+Returns \textquotesingle{}\textbackslash{}\textquotesingle{} for windows environment, otherwise returns \textquotesingle{}/\textquotesingle{}.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_acbf148ddba4297021cfb980a161ebef9}\label{classxb_1_1xbTblMgr_acbf148ddba4297021cfb980a161ebef9}}
+\index{xb::xbXBase@{xb::xbXBase}!GetTblListEntry@{GetTblListEntry}}
+\index{GetTblListEntry@{GetTblListEntry}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetTblListEntry()}{GetTblListEntry()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{structxb_1_1xbTblList}{xb\+Tbl\+List}} $\ast$ xb\+::xb\+Tbl\+Mgr\+::\+Get\+Tbl\+List\+Entry (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}\label{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}}
+\index{xb::xbXBase@{xb::xbXBase}!GetTempDirectory@{GetTempDirectory}}
+\index{GetTempDirectory@{GetTempDirectory}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{GetTempDirectory()}{GetTempDirectory()}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Temp\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the current temp directory.
+
+\begin{DoxyReturn}{Returns}
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the current data directory where the database files are stored.
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbXBase_ab35cec5ac8f0fa95f10653ca7ac817f6}\label{classxb_1_1xbXBase_ab35cec5ac8f0fa95f10653ca7ac817f6}}
+\index{xb::xbXBase@{xb::xbXBase}!Open@{Open}}
+\index{Open@{Open}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{Open()}{Open()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$ xb\+::xb\+XBase\+::\+Open (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Table\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Alias, }\item[{xb\+Int16}]{i\+Open\+Mode, }\item[{xb\+Int16}]{i\+Share\+Mode, }\item[{xb\+Int16}]{i\+Request\+Version, }\item[{xb\+Int16 \&}]{i\+Rc }\end{DoxyParamCaption})}
+
+
+
+Open highest qualified class available for dbf file.
+
+This routine can open various versions of the dbf file dependent on the i\+Version field
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Table\+Name} & -\/ Table name to open. \\
+\hline
+{\em s\+Alias} & -\/ Optional alias name. \\
+\hline
+{\em i\+Open\+Mode} & -\/ XB\+\_\+\+READ\+\_\+\+WRITE or XB\+\_\+\+READ \\
+\hline
+{\em i\+Share\+Mode} & -\/ XB\+\_\+\+SINGLE\+\_\+\+USER or XB\+\_\+\+MULTI\+\_\+\+USER \\
+\hline
+{\em i\+Request\+Version} & 0 -\/ Highest available 4 -\/ Version four dbf 3 -\/ Version three dbf \\
+\hline
+{\em i\+Rc} & -\/ Return code from open request \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+param dbf -\/ Output pointer to dbf file opened or null if error
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbXBase_aafb1abd6b6124cddf635adaf9f615a4a}\label{classxb_1_1xbXBase_aafb1abd6b6124cddf635adaf9f615a4a}}
+\index{xb::xbXBase@{xb::xbXBase}!Open@{Open}}
+\index{Open@{Open}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{Open()}{Open()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$ xb\+::xb\+XBase\+::\+Open (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Table\+Name, }\item[{xb\+Int16 \&}]{i\+Rc }\end{DoxyParamCaption})}
+
+
+
+Open highest qualified class available for dbf file.
+
+This routine opens the highest available version of the dbf file. Defaults to XB\+\_\+\+READ\+\_\+\+WRITE and XB\+\_\+\+MULTI\+\_\+\+USER mode. \begin{DoxyReturn}{Returns}
+param dbf -\/ Output pointer to dbf file opened or null if error
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbXBase_aa957eb502ecd076e5df89e7415cb094b}\label{classxb_1_1xbXBase_aa957eb502ecd076e5df89e7415cb094b}}
+\index{xb::xbXBase@{xb::xbXBase}!OpenHighestVersion@{OpenHighestVersion}}
+\index{OpenHighestVersion@{OpenHighestVersion}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{OpenHighestVersion()}{OpenHighestVersion()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+XBase\+::\+Open\+Highest\+Version (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Table\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Alias, }\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} \&}]{dbf, }\item[{int}]{dummy }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbXBase_afa7bbac08a4601f49cd53b457196ee0e}\label{classxb_1_1xbXBase_afa7bbac08a4601f49cd53b457196ee0e}}
+\index{xb::xbXBase@{xb::xbXBase}!OpenHighestVersion@{OpenHighestVersion}}
+\index{OpenHighestVersion@{OpenHighestVersion}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{OpenHighestVersion()}{OpenHighestVersion()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+XBase\+::\+Open\+Highest\+Version (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Table\+Name, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Alias, }\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$$\ast$}]{dbf }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_ac8eaef41acf08911b90f900aac8e70af}\label{classxb_1_1xbTblMgr_ac8eaef41acf08911b90f900aac8e70af}}
+\index{xb::xbXBase@{xb::xbXBase}!RemoveTblFromTblList@{RemoveTblFromTblList}}
+\index{RemoveTblFromTblList@{RemoveTblFromTblList}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{RemoveTblFromTblList()}{RemoveTblFromTblList()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Tbl\+Mgr\+::\+Remove\+Tbl\+From\+Tbl\+List (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Tbl\+Alias }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbTblMgr_a3d82b6e73d5c0bc8cac22b9a260389c1}\label{classxb_1_1xbTblMgr_a3d82b6e73d5c0bc8cac22b9a260389c1}}
+\index{xb::xbXBase@{xb::xbXBase}!RemoveTblFromTblList@{RemoveTblFromTblList}}
+\index{RemoveTblFromTblList@{RemoveTblFromTblList}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{RemoveTblFromTblList()}{RemoveTblFromTblList()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Tbl\+Mgr\+::\+Remove\+Tbl\+From\+Tbl\+List (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}\label{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}}
+\index{xb::xbXBase@{xb::xbXBase}!SetDataDirectory@{SetDataDirectory}}
+\index{SetDataDirectory@{SetDataDirectory}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{SetDataDirectory()}{SetDataDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Data\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Data\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the data directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Data\+Directory} & Set the data directory. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}\label{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}}
+\index{xb::xbXBase@{xb::xbXBase}!SetDefaultAutoCommit@{SetDefaultAutoCommit}}
+\index{SetDefaultAutoCommit@{SetDefaultAutoCommit}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{SetDefaultAutoCommit()}{SetDefaultAutoCommit()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Auto\+Commit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Default\+Auto\+Commit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the default auto commit.
+
+Disabling auto commit requires the application execute explicit updates using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}Append\+Record(). With auto commit on, the library posts updates automatically when moving off the current record or closing a file.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Default\+Auto\+Commit} & xb\+True -\/ Enable default auto commit.~\newline
+ xb\+False -\/ Disable default auto commit.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}\label{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}}
+\index{xb::xbXBase@{xb::xbXBase}!SetDefaultDateFormat@{SetDefaultDateFormat}}
+\index{SetDefaultDateFormat@{SetDefaultDateFormat}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{SetDefaultDateFormat()}{SetDefaultDateFormat()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Date\+Format (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Default\+Date\+Format }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the default date format.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Default\+Date\+Format} & Set the default date format. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}\label{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}}
+\index{xb::xbXBase@{xb::xbXBase}!SetEndianType@{SetEndianType}}
+\index{SetEndianType@{SetEndianType}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{SetEndianType()}{SetEndianType()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+
+
+Set the endian type.
+
+This routine determines the Endian-\/ness at run time instead of compile time as some processers (ie; Sparc,ARM) can be switched either way. This routine is called automatically by the library at startup and does not need to be called in an application program. \mbox{\Hypertarget{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}\label{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}}
+\index{xb::xbXBase@{xb::xbXBase}!SetLogDirectory@{SetLogDirectory}}
+\index{SetLogDirectory@{SetLogDirectory}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{SetLogDirectory()}{SetLogDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}\label{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}}
+\index{xb::xbXBase@{xb::xbXBase}!SetLogFileName@{SetLogFileName}}
+\index{SetLogFileName@{SetLogFileName}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{SetLogFileName()}{SetLogFileName()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+File\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbXBase_a666a0cb5b76ec7a9a3677d339e0c6b42}\label{classxb_1_1xbXBase_a666a0cb5b76ec7a9a3677d339e0c6b42}}
+\index{xb::xbXBase@{xb::xbXBase}!SetLogSize@{SetLogSize}}
+\index{SetLogSize@{SetLogSize}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{SetLogSize()}{SetLogSize()}}
+{\footnotesize\ttfamily void xb\+::xb\+XBase\+::\+Set\+Log\+Size (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{l\+Size }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}\label{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}}
+\index{xb::xbXBase@{xb::xbXBase}!SetMultiUser@{SetMultiUser}}
+\index{SetMultiUser@{SetMultiUser}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{SetMultiUser()}{SetMultiUser()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Multi\+User (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Multi\+User }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Get the multi user setting.
+
+
+\begin{DoxyParams}{Parameters}
+{\em b\+Multi\+User} & xb\+True -\/ Turn on Multi user mode.~\newline
+ xb\+False -\/ Turn off Multi user mode.~\newline
+ \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}\label{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}}
+\index{xb::xbXBase@{xb::xbXBase}!SetTempDirectory@{SetTempDirectory}}
+\index{SetTempDirectory@{SetTempDirectory}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{SetTempDirectory()}{SetTempDirectory()}}
+{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Temp\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Temp\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}
+
+
+
+Set the temp directory.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s\+Temp\+Directory} & Set the data direcroty. \\
+\hline
+\end{DoxyParams}
+\mbox{\Hypertarget{classxb_1_1xbXBase_a0dff00b9ee3c288841e137ca01168116}\label{classxb_1_1xbXBase_a0dff00b9ee3c288841e137ca01168116}}
+\index{xb::xbXBase@{xb::xbXBase}!WriteLogBytes@{WriteLogBytes}}
+\index{WriteLogBytes@{WriteLogBytes}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{WriteLogBytes()}{WriteLogBytes()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+XBase\+::\+Write\+Log\+Bytes (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{l\+Cnt, }\item[{const char $\ast$}]{p }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbXBase_a9ca5be73abffd0fdd18bdc799877272a}\label{classxb_1_1xbXBase_a9ca5be73abffd0fdd18bdc799877272a}}
+\index{xb::xbXBase@{xb::xbXBase}!WriteLogMessage@{WriteLogMessage}}
+\index{WriteLogMessage@{WriteLogMessage}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{WriteLogMessage()}{WriteLogMessage()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+XBase\+::\+Write\+Log\+Message (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+Message, }\item[{xb\+Int16}]{i\+Output\+Opt = {\ttfamily 0} }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{classxb_1_1xbXBase_a1b239c021358476382942522911b5c66}\label{classxb_1_1xbXBase_a1b239c021358476382942522911b5c66}}
+\index{xb::xbXBase@{xb::xbXBase}!xbMemcmp@{xbMemcmp}}
+\index{xbMemcmp@{xbMemcmp}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{xbMemcmp()}{xbMemcmp()}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+XBase\+::xb\+Memcmp (\begin{DoxyParamCaption}\item[{const unsigned char $\ast$}]{s1, }\item[{const unsigned char $\ast$}]{s2, }\item[{size\+\_\+t}]{n }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}}
+
+
+
+Cross memcmp function.
+
+
+\begin{DoxyParams}{Parameters}
+{\em s1} & Left operand to compare. \\
+\hline
+{\em s2} & Right operand to compare. \\
+\hline
+{\em n} & Number of bytes to compare. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+1 s1 \texorpdfstring{$>$}{>} s2~\newline
+ 0 s1 == s2~\newline
+ -\/1 s1 \texorpdfstring{$<$}{<} s2
+\end{DoxyReturn}
+\mbox{\Hypertarget{classxb_1_1xbXBase_a0915aff7be4b2dd3e881f3c5d0da4baf}\label{classxb_1_1xbXBase_a0915aff7be4b2dd3e881f3c5d0da4baf}}
+\index{xb::xbXBase@{xb::xbXBase}!xbSleep@{xbSleep}}
+\index{xbSleep@{xbSleep}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{xbSleep()}{xbSleep()}}
+{\footnotesize\ttfamily void xb\+::xb\+XBase\+::xb\+Sleep (\begin{DoxyParamCaption}\item[{xb\+Int32}]{l\+Millisecs }\end{DoxyParamCaption})}
+
+
+
+Cross platform sleep function.
+
+
+\begin{DoxyParams}{Parameters}
+{\em l\+Millisecs} & Milliseconds to sleep. \\
+\hline
+\end{DoxyParams}
+
+
+\doxysubsection{Friends And Related Function Documentation}
+\mbox{\Hypertarget{classxb_1_1xbXBase_a86a53ce3efbf910996df0f853f1c0add}\label{classxb_1_1xbXBase_a86a53ce3efbf910996df0f853f1c0add}}
+\index{xb::xbXBase@{xb::xbXBase}!xbBcd@{xbBcd}}
+\index{xbBcd@{xbBcd}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{xbBcd}{xbBcd}}
+{\footnotesize\ttfamily friend class xb\+Bcd\hspace{0.3cm}{\ttfamily [friend]}}
+
+\mbox{\Hypertarget{classxb_1_1xbXBase_a3c3e5617be811d732472fe2cc8fb18cc}\label{classxb_1_1xbXBase_a3c3e5617be811d732472fe2cc8fb18cc}}
+\index{xb::xbXBase@{xb::xbXBase}!xbExp@{xbExp}}
+\index{xbExp@{xbExp}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{xbExp}{xbExp}}
+{\footnotesize\ttfamily friend class xb\+Exp\hspace{0.3cm}{\ttfamily [friend]}}
+
+
+
+\doxysubsection{Field Documentation}
+\mbox{\Hypertarget{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}\label{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}}
+\index{xb::xbXBase@{xb::xbXBase}!ErrorCodeText@{ErrorCodeText}}
+\index{ErrorCodeText@{ErrorCodeText}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{ErrorCodeText}{ErrorCodeText}}
+{\footnotesize\ttfamily const char$\ast$ xb\+::xb\+Ssv\+::\+Error\+Code\+Text\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}\label{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}}
+\index{xb::xbXBase@{xb::xbXBase}!iEndianType@{iEndianType}}
+\index{iEndianType@{iEndianType}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{iEndianType}{iEndianType}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::i\+Endian\+Type = 0\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+\mbox{\Hypertarget{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}\label{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}}
+\index{xb::xbXBase@{xb::xbXBase}!sNullString@{sNullString}}
+\index{sNullString@{sNullString}!xb::xbXBase@{xb::xbXBase}}
+\doxysubsubsection{\texorpdfstring{sNullString}{sNullString}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+Ssv\+::s\+Null\+String = \char`\"{}\char`\"{}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}, {\ttfamily [inherited]}}
+
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbxbase_8h}{xbxbase.\+h}}\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbxbase_8cpp}{xbxbase.\+cpp}}\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dbfxtrct_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dbfxtrct_8cpp.tex
new file mode 100644
index 0000000..dafa6b6
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dbfxtrct_8cpp.tex
@@ -0,0 +1,25 @@
+\hypertarget{dbfxtrct_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.0.2/src/utils/dbfxtrct.cpp File Reference}
+\label{dbfxtrct_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.0.2/src/utils/dbfxtrct.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.0.2/src/utils/dbfxtrct.cpp}}
+{\ttfamily \#include $<$xbase64/xbase64.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{dbfxtrct_8cpp_a5ae07f63d6b390e42068d941038dadf2}{Usage}} ()
+\item
+int \mbox{\hyperlink{dbfxtrct_8cpp_a0c99d968a34e803d378692bde2e3f18f}{main}} (int ac, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{dbfxtrct_8cpp_a0c99d968a34e803d378692bde2e3f18f}\label{dbfxtrct_8cpp_a0c99d968a34e803d378692bde2e3f18f}}
+\index{dbfxtrct.cpp@{dbfxtrct.cpp}!main@{main}}
+\index{main@{main}!dbfxtrct.cpp@{dbfxtrct.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{ac, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{dbfxtrct_8cpp_a5ae07f63d6b390e42068d941038dadf2}\label{dbfxtrct_8cpp_a5ae07f63d6b390e42068d941038dadf2}}
+\index{dbfxtrct.cpp@{dbfxtrct.cpp}!Usage@{Usage}}
+\index{Usage@{Usage}!dbfxtrct.cpp@{dbfxtrct.cpp}}
+\doxysubsubsection{\texorpdfstring{Usage()}{Usage()}}
+{\footnotesize\ttfamily void Usage (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_25b94c3afce00ed38231227d8141f932.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_25b94c3afce00ed38231227d8141f932.tex
new file mode 100644
index 0000000..640eef3
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_25b94c3afce00ed38231227d8141f932.tex
@@ -0,0 +1,27 @@
+\hypertarget{dir_25b94c3afce00ed38231227d8141f932}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/sql Directory Reference}
+\label{dir_25b94c3afce00ed38231227d8141f932}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql Directory Reference@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql Directory Reference}}
+\doxysubsection*{Files}
+\begin{DoxyCompactItemize}
+\item
+file \mbox{\hyperlink{xbalttbl_8cpp}{xbalttbl.\+cpp}}
+\item
+file \mbox{\hyperlink{sql_2xbcrix_8cpp}{xbcrix.\+cpp}}
+\item
+file \mbox{\hyperlink{xbcrtbl_8cpp}{xbcrtbl.\+cpp}}
+\item
+file \mbox{\hyperlink{xbdelete_8cpp}{xbdelete.\+cpp}}
+\item
+file \mbox{\hyperlink{xbdrpix_8cpp}{xbdrpix.\+cpp}}
+\item
+file \mbox{\hyperlink{xbdrptbl_8cpp}{xbdrptbl.\+cpp}}
+\item
+file \mbox{\hyperlink{xbinsert_8cpp}{xbinsert.\+cpp}}
+\item
+file \mbox{\hyperlink{xbselect_8cpp}{xbselect.\+cpp}}
+\item
+file \mbox{\hyperlink{xbset_8cpp}{xbset.\+cpp}}
+\item
+file \mbox{\hyperlink{xbsql_8cpp}{xbsql.\+cpp}}
+\item
+file \mbox{\hyperlink{xbstmt_8cpp}{xbstmt.\+cpp}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_313caf1132e152dd9b58bea13a4052ca.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_313caf1132e152dd9b58bea13a4052ca.tex
new file mode 100644
index 0000000..a9d4086
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_313caf1132e152dd9b58bea13a4052ca.tex
@@ -0,0 +1,27 @@
+\hypertarget{dir_313caf1132e152dd9b58bea13a4052ca}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/utils Directory Reference}
+\label{dir_313caf1132e152dd9b58bea13a4052ca}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils Directory Reference@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils Directory Reference}}
+\doxysubsection*{Files}
+\begin{DoxyCompactItemize}
+\item
+file \mbox{\hyperlink{xb__cfg__check_8cpp}{xb\+\_\+cfg\+\_\+check.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__copydbf_8cpp}{xb\+\_\+copydbf.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__dbfutil_8cpp}{xb\+\_\+dbfutil.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__deletall_8cpp}{xb\+\_\+deletall.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__dumpdbt_8cpp}{xb\+\_\+dumpdbt.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__dumprecs_8cpp}{xb\+\_\+dumprecs.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__execsql_8cpp}{xb\+\_\+execsql.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__import_8cpp}{xb\+\_\+import.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__pack_8cpp}{xb\+\_\+pack.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__tblinfo_8cpp}{xb\+\_\+tblinfo.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__undelall_8cpp}{xb\+\_\+undelall.\+cpp}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex
new file mode 100644
index 0000000..134f23a
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex
@@ -0,0 +1,17 @@
+\hypertarget{dir_68267d1309a1af8e8297ef4c3efbcdba}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src Directory Reference}
+\label{dir_68267d1309a1af8e8297ef4c3efbcdba}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src Directory Reference@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src Directory Reference}}
+\doxysubsection*{Directories}
+\begin{DoxyCompactItemize}
+\item
+directory \mbox{\hyperlink{dir_aebb8dcc11953d78e620bbef0b9e2183}{core}}
+\item
+directory \mbox{\hyperlink{dir_e931c1a3f0014e624d0645a271726ad2}{examples}}
+\item
+directory \mbox{\hyperlink{dir_b0856f6b0d80ccb263b2f415c91f9e17}{include}}
+\item
+directory \mbox{\hyperlink{dir_25b94c3afce00ed38231227d8141f932}{sql}}
+\item
+directory \mbox{\hyperlink{dir_d93a1d4020dea85bb71b237545b5e722}{tests}}
+\item
+directory \mbox{\hyperlink{dir_313caf1132e152dd9b58bea13a4052ca}{utils}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_aebb8dcc11953d78e620bbef0b9e2183.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_aebb8dcc11953d78e620bbef0b9e2183.tex
new file mode 100644
index 0000000..7dcdd4d
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_aebb8dcc11953d78e620bbef0b9e2183.tex
@@ -0,0 +1,57 @@
+\hypertarget{dir_aebb8dcc11953d78e620bbef0b9e2183}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core Directory Reference}
+\label{dir_aebb8dcc11953d78e620bbef0b9e2183}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core Directory Reference@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core Directory Reference}}
+\doxysubsection*{Files}
+\begin{DoxyCompactItemize}
+\item
+file \mbox{\hyperlink{xbbcd_8cpp}{xbbcd.\+cpp}}
+\item
+file \mbox{\hyperlink{xbblockread_8cpp}{xbblockread.\+cpp}}
+\item
+file \mbox{\hyperlink{xbdate_8cpp}{xbdate.\+cpp}}
+\item
+file \mbox{\hyperlink{xbdbf_8cpp}{xbdbf.\+cpp}}
+\item
+file \mbox{\hyperlink{xbdbf3_8cpp}{xbdbf3.\+cpp}}
+\item
+file \mbox{\hyperlink{xbdbf4_8cpp}{xbdbf4.\+cpp}}
+\item
+file \mbox{\hyperlink{xbexp_8cpp}{xbexp.\+cpp}}
+\item
+file \mbox{\hyperlink{xbexpnode_8cpp}{xbexpnode.\+cpp}}
+\item
+file \mbox{\hyperlink{xbfields_8cpp}{xbfields.\+cpp}}
+\item
+file \mbox{\hyperlink{xbfile_8cpp}{xbfile.\+cpp}}
+\item
+file \mbox{\hyperlink{xbfilter_8cpp}{xbfilter.\+cpp}}
+\item
+file \mbox{\hyperlink{xbfuncs_8cpp}{xbfuncs.\+cpp}}
+\item
+file \mbox{\hyperlink{xbixbase_8cpp}{xbixbase.\+cpp}}
+\item
+file \mbox{\hyperlink{xbixmdx_8cpp}{xbixmdx.\+cpp}}
+\item
+file \mbox{\hyperlink{xbixndx_8cpp}{xbixndx.\+cpp}}
+\item
+file \mbox{\hyperlink{xbixtdx_8cpp}{xbixtdx.\+cpp}}
+\item
+file \mbox{\hyperlink{xblog_8cpp}{xblog.\+cpp}}
+\item
+file \mbox{\hyperlink{xbmemo_8cpp}{xbmemo.\+cpp}}
+\item
+file \mbox{\hyperlink{xbmemo3_8cpp}{xbmemo3.\+cpp}}
+\item
+file \mbox{\hyperlink{xbmemo4_8cpp}{xbmemo4.\+cpp}}
+\item
+file \mbox{\hyperlink{xbssv_8cpp}{xbssv.\+cpp}}
+\item
+file \mbox{\hyperlink{xbstring_8cpp}{xbstring.\+cpp}}
+\item
+file \mbox{\hyperlink{xbtag_8cpp}{xbtag.\+cpp}}
+\item
+file \mbox{\hyperlink{xbtblmgr_8cpp}{xbtblmgr.\+cpp}}
+\item
+file \mbox{\hyperlink{xbuda_8cpp}{xbuda.\+cpp}}
+\item
+file \mbox{\hyperlink{xbxbase_8cpp}{xbxbase.\+cpp}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_b0856f6b0d80ccb263b2f415c91f9e17.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_b0856f6b0d80ccb263b2f415c91f9e17.tex
new file mode 100644
index 0000000..48ddc2a
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_b0856f6b0d80ccb263b2f415c91f9e17.tex
@@ -0,0 +1,55 @@
+\hypertarget{dir_b0856f6b0d80ccb263b2f415c91f9e17}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include Directory Reference}
+\label{dir_b0856f6b0d80ccb263b2f415c91f9e17}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include Directory Reference@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include Directory Reference}}
+\doxysubsection*{Files}
+\begin{DoxyCompactItemize}
+\item
+file \mbox{\hyperlink{xbase_8h}{xbase.\+h}}
+\item
+file \mbox{\hyperlink{xbbcd_8h}{xbbcd.\+h}}
+\item
+file \mbox{\hyperlink{xbblkread_8h}{xbblkread.\+h}}
+\item
+file \mbox{\hyperlink{include_2xbcrix_8cpp}{xbcrix.\+cpp}}
+\item
+file \mbox{\hyperlink{xbdate_8h}{xbdate.\+h}}
+\item
+file \mbox{\hyperlink{xbdbf_8h}{xbdbf.\+h}}
+\item
+file \mbox{\hyperlink{xbexp_8h}{xbexp.\+h}}
+\item
+file \mbox{\hyperlink{xbexpnode_8h}{xbexpnode.\+h}}
+\item
+file \mbox{\hyperlink{xbfile_8h}{xbfile.\+h}}
+\item
+file \mbox{\hyperlink{xbfilter_8h}{xbfilter.\+h}}
+\item
+file \mbox{\hyperlink{xbindex_8h}{xbindex.\+h}}
+\item
+file \mbox{\hyperlink{xblnklst_8h}{xblnklst.\+h}}
+\item
+file \mbox{\hyperlink{xblnklstord_8h}{xblnklstord.\+h}}
+\item
+file \mbox{\hyperlink{xblnknod_8h}{xblnknod.\+h}}
+\item
+file \mbox{\hyperlink{xblog_8h}{xblog.\+h}}
+\item
+file \mbox{\hyperlink{xbmemo_8h}{xbmemo.\+h}}
+\item
+file \mbox{\hyperlink{xbretcod_8h}{xbretcod.\+h}}
+\item
+file \mbox{\hyperlink{xbsql_8h}{xbsql.\+h}}
+\item
+file \mbox{\hyperlink{xbssv_8h}{xbssv.\+h}}
+\item
+file \mbox{\hyperlink{xbstring_8h}{xbstring.\+h}}
+\item
+file \mbox{\hyperlink{xbtag_8h}{xbtag.\+h}}
+\item
+file \mbox{\hyperlink{xbtblmgr_8h}{xbtblmgr.\+h}}
+\item
+file \mbox{\hyperlink{xbtypes_8h}{xbtypes.\+h}}
+\item
+file \mbox{\hyperlink{xbuda_8h}{xbuda.\+h}}
+\item
+file \mbox{\hyperlink{xbxbase_8h}{xbxbase.\+h}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_d93a1d4020dea85bb71b237545b5e722.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_d93a1d4020dea85bb71b237545b5e722.tex
new file mode 100644
index 0000000..5534e90
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_d93a1d4020dea85bb71b237545b5e722.tex
@@ -0,0 +1,55 @@
+\hypertarget{dir_d93a1d4020dea85bb71b237545b5e722}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests Directory Reference}
+\label{dir_d93a1d4020dea85bb71b237545b5e722}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests Directory Reference@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests Directory Reference}}
+\doxysubsection*{Files}
+\begin{DoxyCompactItemize}
+\item
+file \mbox{\hyperlink{tstfuncs_8cpp}{tstfuncs.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__bcd_8cpp}{xb\+\_\+test\+\_\+bcd.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__blockread_8cpp}{xb\+\_\+test\+\_\+blockread.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__date_8cpp}{xb\+\_\+test\+\_\+date.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__dbf__v3__memos_8cpp}{xb\+\_\+test\+\_\+dbf\+\_\+v3\+\_\+memos.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__dbf__v3__nomemos_8cpp}{xb\+\_\+test\+\_\+dbf\+\_\+v3\+\_\+nomemos.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__dbf__v4__memos_8cpp}{xb\+\_\+test\+\_\+dbf\+\_\+v4\+\_\+memos.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__dbf__v4__nomemos_8cpp}{xb\+\_\+test\+\_\+dbf\+\_\+v4\+\_\+nomemos.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__expnode_8cpp}{xb\+\_\+test\+\_\+expnode.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__expression_8cpp}{xb\+\_\+test\+\_\+expression.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__file_8cpp}{xb\+\_\+test\+\_\+file.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__filter_8cpp}{xb\+\_\+test\+\_\+filter.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__funcs_8cpp}{xb\+\_\+test\+\_\+funcs.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__linklist_8cpp}{xb\+\_\+test\+\_\+linklist.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__lock_8cpp}{xb\+\_\+test\+\_\+lock.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__lock2_8cpp}{xb\+\_\+test\+\_\+lock2.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__log_8cpp}{xb\+\_\+test\+\_\+log.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__mdx_8cpp}{xb\+\_\+test\+\_\+mdx.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__ndx_8cpp}{xb\+\_\+test\+\_\+ndx.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__sql_8cpp}{xb\+\_\+test\+\_\+sql.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__string_8cpp}{xb\+\_\+test\+\_\+string.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__tblmgr_8cpp}{xb\+\_\+test\+\_\+tblmgr.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__tdx_8cpp}{xb\+\_\+test\+\_\+tdx.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__uda_8cpp}{xb\+\_\+test\+\_\+uda.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__test__xbase_8cpp}{xb\+\_\+test\+\_\+xbase.\+cpp}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_e931c1a3f0014e624d0645a271726ad2.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_e931c1a3f0014e624d0645a271726ad2.tex
new file mode 100644
index 0000000..f1faa43
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/dir_e931c1a3f0014e624d0645a271726ad2.tex
@@ -0,0 +1,25 @@
+\hypertarget{dir_e931c1a3f0014e624d0645a271726ad2}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/examples Directory Reference}
+\label{dir_e931c1a3f0014e624d0645a271726ad2}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples Directory Reference@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples Directory Reference}}
+\doxysubsection*{Files}
+\begin{DoxyCompactItemize}
+\item
+file \mbox{\hyperlink{xb__ex__date_8cpp}{xb\+\_\+ex\+\_\+date.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__ex__expression_8cpp}{xb\+\_\+ex\+\_\+expression.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__ex__log_8cpp}{xb\+\_\+ex\+\_\+log.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__ex__sql_8cpp}{xb\+\_\+ex\+\_\+sql.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__ex__ssv_8cpp}{xb\+\_\+ex\+\_\+ssv.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__ex__string_8cpp}{xb\+\_\+ex\+\_\+string.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__ex__v3__create__dbf_8cpp}{xb\+\_\+ex\+\_\+v3\+\_\+create\+\_\+dbf.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__ex__v3__upd__dbf_8cpp}{xb\+\_\+ex\+\_\+v3\+\_\+upd\+\_\+dbf.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__ex__v4__create__dbf_8cpp}{xb\+\_\+ex\+\_\+v4\+\_\+create\+\_\+dbf.\+cpp}}
+\item
+file \mbox{\hyperlink{xb__ex__v4__upd__dbf_8cpp}{xb\+\_\+ex\+\_\+v4\+\_\+upd\+\_\+dbf.\+cpp}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/doxygen.sty b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/doxygen.sty
new file mode 100644
index 0000000..7e01991
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/doxygen.sty
@@ -0,0 +1,601 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{doxygen}
+
+% Packages used by this style file
+\RequirePackage{alltt}
+%%\RequirePackage{array} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
+\RequirePackage{calc}
+\RequirePackage{float}
+%%\RequirePackage{ifthen} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
+\RequirePackage{verbatim}
+\RequirePackage[table]{xcolor}
+\RequirePackage{longtable_doxygen}
+\RequirePackage{tabu_doxygen}
+\RequirePackage{fancyvrb}
+\RequirePackage{tabularx}
+\RequirePackage{multicol}
+\RequirePackage{multirow}
+\RequirePackage{hanging}
+\RequirePackage{ifpdf}
+\RequirePackage{adjustbox}
+\RequirePackage{amssymb}
+\RequirePackage{stackengine}
+\RequirePackage{enumitem}
+\RequirePackage{alphalph}
+\RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis
+\RequirePackage{enumitem}
+
+%---------- Internal commands used in this style file ----------------
+
+\newcommand{\ensurespace}[1]{%
+ \begingroup%
+ \setlength{\dimen@}{#1}%
+ \vskip\z@\@plus\dimen@%
+ \penalty -100\vskip\z@\@plus -\dimen@%
+ \vskip\dimen@%
+ \penalty 9999%
+ \vskip -\dimen@%
+ \vskip\z@skip% hide the previous |\vskip| from |\addvspace|
+ \endgroup%
+}
+
+\newcommand{\DoxyHorRuler}[1]{%
+ \setlength{\parskip}{0ex plus 0ex minus 0ex}%
+ \ifthenelse{#1=0}%
+ {%
+ \hrule%
+ }%
+ {%
+ \hrulefilll%
+ }%
+}
+\newcommand{\DoxyLabelFont}{}
+\newcommand{\entrylabel}[1]{%
+ {%
+ \parbox[b]{\labelwidth-4pt}{%
+ \makebox[0pt][l]{\DoxyLabelFont#1}%
+ \vspace{1.5\baselineskip}%
+ }%
+ }%
+}
+
+\newenvironment{DoxyDesc}[1]{%
+ \ensurespace{4\baselineskip}%
+ \begin{list}{}{%
+ \settowidth{\labelwidth}{20pt}%
+ %\setlength{\parsep}{0pt}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\leftmargin}{\labelwidth+\labelsep}%
+ \renewcommand{\makelabel}{\entrylabel}%
+ }%
+ \item[#1]%
+}{%
+ \end{list}%
+}
+
+\newsavebox{\xrefbox}
+\newlength{\xreflength}
+\newcommand{\xreflabel}[1]{%
+ \sbox{\xrefbox}{#1}%
+ \setlength{\xreflength}{\wd\xrefbox}%
+ \ifthenelse{\xreflength>\labelwidth}{%
+ \begin{minipage}{\textwidth}%
+ \setlength{\parindent}{0pt}%
+ \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
+ \end{minipage}%
+ }{%
+ \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
+ }%
+}
+
+%---------- Commands used by doxygen LaTeX output generator ----------
+
+% Used by <pre> ... </pre>
+\newenvironment{DoxyPre}{%
+ \small%
+ \begin{alltt}%
+}{%
+ \end{alltt}%
+ \normalsize%
+}
+% Necessary for redefining not defined characters, i.e. "Replacement Character" in tex output.
+\newlength{\CodeWidthChar}
+\newlength{\CodeHeightChar}
+\settowidth{\CodeWidthChar}{?}
+\settoheight{\CodeHeightChar}{?}
+% Necessary for hanging indent
+\newlength{\DoxyCodeWidth}
+
+\newcommand\DoxyCodeLine[1]{\hangpara{\DoxyCodeWidth}{1}{#1}\par}
+
+\newcommand\NiceSpace{%
+ \discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}%
+}
+
+% Used by @code ... @endcode
+\newenvironment{DoxyCode}[1]{%
+ \par%
+ \scriptsize%
+ \normalfont\ttfamily%
+ \rightskip0pt plus 1fil%
+ \settowidth{\DoxyCodeWidth}{000000}%
+ \settowidth{\CodeWidthChar}{?}%
+ \settoheight{\CodeHeightChar}{?}%
+ \setlength{\parskip}{0ex plus 0ex minus 0ex}%
+ \ifthenelse{\equal{#1}{0}}
+ {
+ {\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces%
+ }
+ {
+ {\lccode`~32 \lowercase{\global\let~}}\obeyspaces%
+ }
+
+}{%
+ \normalfont%
+ \normalsize%
+ \settowidth{\CodeWidthChar}{?}%
+ \settoheight{\CodeHeightChar}{?}%
+}
+
+% Redefining not defined characters, i.e. "Replacement Character" in tex output.
+\def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{%
+ \textcolor{white}{\sffamily\bfseries\small ?}}{%
+ \rotatebox{45}{$\blacksquare$}}}}
+
+% Used by @example, @include, @includelineno and @dontinclude
+\newenvironment{DoxyCodeInclude}[1]{%
+ \DoxyCode{#1}%
+}{%
+ \endDoxyCode%
+}
+
+% Used by @verbatim ... @endverbatim
+\newenvironment{DoxyVerb}{%
+ \footnotesize%
+ \verbatim%
+}{%
+ \endverbatim%
+ \normalsize%
+}
+
+% Used by @verbinclude
+\newenvironment{DoxyVerbInclude}{%
+ \DoxyVerb%
+}{%
+ \endDoxyVerb%
+}
+
+% Used by numbered lists (using '-#' or <ol> ... </ol>)
+\setlistdepth{12}
+\newlist{DoxyEnumerate}{enumerate}{12}
+\setlist[DoxyEnumerate,1]{label=\arabic*.}
+\setlist[DoxyEnumerate,2]{label=(\enumalphalphcnt*)}
+\setlist[DoxyEnumerate,3]{label=\roman*.}
+\setlist[DoxyEnumerate,4]{label=\enumAlphAlphcnt*.}
+\setlist[DoxyEnumerate,5]{label=\arabic*.}
+\setlist[DoxyEnumerate,6]{label=(\enumalphalphcnt*)}
+\setlist[DoxyEnumerate,7]{label=\roman*.}
+\setlist[DoxyEnumerate,8]{label=\enumAlphAlphcnt*.}
+\setlist[DoxyEnumerate,9]{label=\arabic*.}
+\setlist[DoxyEnumerate,10]{label=(\enumalphalphcnt*)}
+\setlist[DoxyEnumerate,11]{label=\roman*.}
+\setlist[DoxyEnumerate,12]{label=\enumAlphAlphcnt*.}
+
+% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
+\setlistdepth{12}
+\newlist{DoxyItemize}{itemize}{12}
+\setlist[DoxyItemize]{label=\textperiodcentered}
+
+\setlist[DoxyItemize,1]{label=\textbullet}
+\setlist[DoxyItemize,2]{label=\normalfont\bfseries \textendash}
+\setlist[DoxyItemize,3]{label=\textasteriskcentered}
+\setlist[DoxyItemize,4]{label=\textperiodcentered}
+
+% Used by description lists (using <dl> ... </dl>)
+\newenvironment{DoxyDescription}{%
+ \description%
+}{%
+ \enddescription%
+}
+
+% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
+% (only if caption is specified)
+\newenvironment{DoxyImage}{%
+ \begin{figure}[H]%
+ \centering%
+}{%
+ \end{figure}%
+}
+
+% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
+% (only if no caption is specified)
+\newenvironment{DoxyImageNoCaption}{%
+ \begin{center}%
+}{%
+ \end{center}%
+}
+
+% Used by @image
+% (only if inline is specified)
+\newenvironment{DoxyInlineImage}{%
+}{%
+}
+
+% Used by @attention
+\newenvironment{DoxyAttention}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @author and @authors
+\newenvironment{DoxyAuthor}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @date
+\newenvironment{DoxyDate}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @invariant
+\newenvironment{DoxyInvariant}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @note
+\newenvironment{DoxyNote}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @post
+\newenvironment{DoxyPostcond}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @pre
+\newenvironment{DoxyPrecond}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @copyright
+\newenvironment{DoxyCopyright}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @remark
+\newenvironment{DoxyRemark}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @return and @returns
+\newenvironment{DoxyReturn}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @since
+\newenvironment{DoxySince}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @see
+\newenvironment{DoxySeeAlso}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @version
+\newenvironment{DoxyVersion}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @warning
+\newenvironment{DoxyWarning}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @internal
+\newenvironment{DoxyInternal}[1]{%
+ \paragraph*{#1}%
+}{%
+}
+
+% Used by @par and @paragraph
+\newenvironment{DoxyParagraph}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by parameter lists
+\newenvironment{DoxyParams}[2][]{%
+ \tabulinesep=1mm%
+ \par%
+ \ifthenelse{\equal{#1}{}}%
+ {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
+ {\ifthenelse{\equal{#1}{1}}%
+ {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
+ {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
+ }
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu*}%
+ \vspace{6pt}%
+}
+
+% Used for fields of simple structs
+\newenvironment{DoxyFields}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
+ \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu*}%
+ \vspace{6pt}%
+}
+
+% Used for fields simple class style enums
+\newenvironment{DoxyEnumFields}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu*}%
+ \vspace{6pt}%
+}
+
+% Used for parameters within a detailed function description
+\newenvironment{DoxyParamCaption}{%
+ \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}%
+}{%
+}
+
+% Used by return value lists
+\newenvironment{DoxyRetVals}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu*}%
+ \vspace{6pt}%
+}
+
+% Used by exception lists
+\newenvironment{DoxyExceptions}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu*}%
+ \vspace{6pt}%
+}
+
+% Used by template parameter lists
+\newenvironment{DoxyTemplParams}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu*}%
+ \vspace{6pt}%
+}
+
+% Used for member lists
+\newenvironment{DoxyCompactItemize}{%
+ \begin{itemize}%
+ \setlength{\itemsep}{-3pt}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\topsep}{0pt}%
+ \setlength{\partopsep}{0pt}%
+}{%
+ \end{itemize}%
+}
+
+% Used for member descriptions
+\newenvironment{DoxyCompactList}{%
+ \begin{list}{}{%
+ \setlength{\leftmargin}{0.5cm}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\topsep}{0pt}%
+ \renewcommand{\makelabel}{\hfill}%
+ }%
+}{%
+ \end{list}%
+}
+
+% Used for reference lists (@bug, @deprecated, @todo, etc.)
+\newenvironment{DoxyRefList}{%
+ \begin{list}{}{%
+ \setlength{\labelwidth}{10pt}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \renewcommand{\makelabel}{\xreflabel}%
+ }%
+}{%
+ \end{list}%
+}
+
+% Used by @bug, @deprecated, @todo, etc.
+\newenvironment{DoxyRefDesc}[1]{%
+ \begin{list}{}{%
+ \renewcommand\makelabel[1]{\textbf{##1}}%
+ \settowidth\labelwidth{\makelabel{#1}}%
+ \setlength\leftmargin{\labelwidth+\labelsep}%
+ }%
+}{%
+ \end{list}%
+}
+
+% Used by parameter lists and simple sections
+\newenvironment{Desc}
+{\begin{list}{}{%
+ \settowidth{\labelwidth}{20pt}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\leftmargin}{\labelwidth+\labelsep}%
+ \renewcommand{\makelabel}{\entrylabel}%
+ }
+}{%
+ \end{list}%
+}
+
+% Used by tables
+\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
+\newenvironment{TabularC}[1]%
+{\tabulinesep=1mm
+\begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}%
+{\end{longtabu*}\par}%
+
+\newenvironment{TabularNC}[1]%
+{\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}%
+{\end{tabu}\par}%
+
+% Used for member group headers
+\newenvironment{Indent}{%
+ \begin{list}{}{%
+ \setlength{\leftmargin}{0.5cm}%
+ }%
+ \item[]\ignorespaces%
+}{%
+ \unskip%
+ \end{list}%
+}
+
+% Used when hyperlinks are turned off
+\newcommand{\doxyref}[3]{%
+ \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
+}
+
+% Used to link to a table when hyperlinks are turned on
+\newcommand{\doxytablelink}[2]{%
+ \ref{#1}%
+}
+
+% Used to link to a table when hyperlinks are turned off
+\newcommand{\doxytableref}[3]{%
+ \ref{#3}%
+}
+
+% Used by @addindex
+\newcommand{\lcurly}{\{}
+\newcommand{\rcurly}{\}}
+
+% Colors used for syntax highlighting
+\definecolor{comment}{rgb}{0.5,0.0,0.0}
+\definecolor{keyword}{rgb}{0.0,0.5,0.0}
+\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
+\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
+\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
+\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
+\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
+\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
+\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
+\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
+\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
+
+% Color used for table heading
+\newcommand{\tableheadbgcolor}{lightgray}%
+
+% Version of hypertarget with correct landing location
+\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
+
+% possibility to have sections etc. be within the margins
+% unfortunately had to copy part of book.cls and add \raggedright
+\makeatletter
+\newcommand\doxysection{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\raggedright\normalfont\Large\bfseries}}
+\newcommand\doxysubsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\raggedright\normalfont\large\bfseries}}
+\newcommand\doxysubsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\raggedright\normalfont\normalsize\bfseries}}
+\newcommand\doxyparagraph{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\raggedright\normalfont\normalsize\bfseries}}
+\newcommand\doxysubparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\raggedright\normalfont\normalsize\bfseries}}
+\makeatother
+% Define caption that is also suitable in a table
+\makeatletter
+\def\doxyfigcaption{%
+\H@refstepcounter{figure}%
+\@dblarg{\@caption{figure}}}
+\makeatother
+
+% Define alpha enumarative names for counters > 26
+\makeatletter
+\def\enumalphalphcnt#1{\expandafter\@enumalphalphcnt\csname c@#1\endcsname}
+\def\@enumalphalphcnt#1{\alphalph{#1}}
+\def\enumAlphAlphcnt#1{\expandafter\@enumAlphAlphcnt\csname c@#1\endcsname}
+\def\@enumAlphAlphcnt#1{\AlphAlph{#1}}
+\makeatother
+\AddEnumerateCounter{\enumalphalphcnt}{\@enumalphalphcnt}{aa}
+\AddEnumerateCounter{\enumAlphAlphcnt}{\@enumAlphAlphcnt}{AA}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/files.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/files.tex
new file mode 100644
index 0000000..cfb7be3
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/files.tex
@@ -0,0 +1,111 @@
+\doxysection{File List}
+Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbbcd_8cpp}{xbbcd.\+cpp}} }{\pageref{xbbcd_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbblockread_8cpp}{xbblockread.\+cpp}} }{\pageref{xbblockread_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbdate_8cpp}{xbdate.\+cpp}} }{\pageref{xbdate_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbdbf_8cpp}{xbdbf.\+cpp}} }{\pageref{xbdbf_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbdbf3_8cpp}{xbdbf3.\+cpp}} }{\pageref{xbdbf3_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbdbf4_8cpp}{xbdbf4.\+cpp}} }{\pageref{xbdbf4_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbexp_8cpp}{xbexp.\+cpp}} }{\pageref{xbexp_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbexpnode_8cpp}{xbexpnode.\+cpp}} }{\pageref{xbexpnode_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbfields_8cpp}{xbfields.\+cpp}} }{\pageref{xbfields_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbfile_8cpp}{xbfile.\+cpp}} }{\pageref{xbfile_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbfilter_8cpp}{xbfilter.\+cpp}} }{\pageref{xbfilter_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbfuncs_8cpp}{xbfuncs.\+cpp}} }{\pageref{xbfuncs_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbixbase_8cpp}{xbixbase.\+cpp}} }{\pageref{xbixbase_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbixmdx_8cpp}{xbixmdx.\+cpp}} }{\pageref{xbixmdx_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbixndx_8cpp}{xbixndx.\+cpp}} }{\pageref{xbixndx_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbixtdx_8cpp}{xbixtdx.\+cpp}} }{\pageref{xbixtdx_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xblog_8cpp}{xblog.\+cpp}} }{\pageref{xblog_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbmemo_8cpp}{xbmemo.\+cpp}} }{\pageref{xbmemo_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbmemo3_8cpp}{xbmemo3.\+cpp}} }{\pageref{xbmemo3_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbmemo4_8cpp}{xbmemo4.\+cpp}} }{\pageref{xbmemo4_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbssv_8cpp}{xbssv.\+cpp}} }{\pageref{xbssv_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbstring_8cpp}{xbstring.\+cpp}} }{\pageref{xbstring_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbtag_8cpp}{xbtag.\+cpp}} }{\pageref{xbtag_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbtblmgr_8cpp}{xbtblmgr.\+cpp}} }{\pageref{xbtblmgr_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbuda_8cpp}{xbuda.\+cpp}} }{\pageref{xbuda_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbxbase_8cpp}{xbxbase.\+cpp}} }{\pageref{xbxbase_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/examples/\mbox{\hyperlink{xb__ex__date_8cpp}{xb\+\_\+ex\+\_\+date.\+cpp}} }{\pageref{xb__ex__date_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/examples/\mbox{\hyperlink{xb__ex__expression_8cpp}{xb\+\_\+ex\+\_\+expression.\+cpp}} }{\pageref{xb__ex__expression_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/examples/\mbox{\hyperlink{xb__ex__log_8cpp}{xb\+\_\+ex\+\_\+log.\+cpp}} }{\pageref{xb__ex__log_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/examples/\mbox{\hyperlink{xb__ex__sql_8cpp}{xb\+\_\+ex\+\_\+sql.\+cpp}} }{\pageref{xb__ex__sql_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/examples/\mbox{\hyperlink{xb__ex__ssv_8cpp}{xb\+\_\+ex\+\_\+ssv.\+cpp}} }{\pageref{xb__ex__ssv_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/examples/\mbox{\hyperlink{xb__ex__string_8cpp}{xb\+\_\+ex\+\_\+string.\+cpp}} }{\pageref{xb__ex__string_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/examples/\mbox{\hyperlink{xb__ex__v3__create__dbf_8cpp}{xb\+\_\+ex\+\_\+v3\+\_\+create\+\_\+dbf.\+cpp}} }{\pageref{xb__ex__v3__create__dbf_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/examples/\mbox{\hyperlink{xb__ex__v3__upd__dbf_8cpp}{xb\+\_\+ex\+\_\+v3\+\_\+upd\+\_\+dbf.\+cpp}} }{\pageref{xb__ex__v3__upd__dbf_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/examples/\mbox{\hyperlink{xb__ex__v4__create__dbf_8cpp}{xb\+\_\+ex\+\_\+v4\+\_\+create\+\_\+dbf.\+cpp}} }{\pageref{xb__ex__v4__create__dbf_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/examples/\mbox{\hyperlink{xb__ex__v4__upd__dbf_8cpp}{xb\+\_\+ex\+\_\+v4\+\_\+upd\+\_\+dbf.\+cpp}} }{\pageref{xb__ex__v4__upd__dbf_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbase_8h}{xbase.\+h}} }{\pageref{xbase_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbbcd_8h}{xbbcd.\+h}} }{\pageref{xbbcd_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbblkread_8h}{xbblkread.\+h}} }{\pageref{xbblkread_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{include_2xbcrix_8cpp}{xbcrix.\+cpp}} }{\pageref{include_2xbcrix_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbdate_8h}{xbdate.\+h}} }{\pageref{xbdate_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbdbf_8h}{xbdbf.\+h}} }{\pageref{xbdbf_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbexp_8h}{xbexp.\+h}} }{\pageref{xbexp_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbexpnode_8h}{xbexpnode.\+h}} }{\pageref{xbexpnode_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbfile_8h}{xbfile.\+h}} }{\pageref{xbfile_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbfilter_8h}{xbfilter.\+h}} }{\pageref{xbfilter_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbindex_8h}{xbindex.\+h}} }{\pageref{xbindex_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xblnklst_8h}{xblnklst.\+h}} }{\pageref{xblnklst_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xblnklstord_8h}{xblnklstord.\+h}} }{\pageref{xblnklstord_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xblnknod_8h}{xblnknod.\+h}} }{\pageref{xblnknod_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xblog_8h}{xblog.\+h}} }{\pageref{xblog_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbmemo_8h}{xbmemo.\+h}} }{\pageref{xbmemo_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbretcod_8h}{xbretcod.\+h}} }{\pageref{xbretcod_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbsql_8h}{xbsql.\+h}} }{\pageref{xbsql_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbssv_8h}{xbssv.\+h}} }{\pageref{xbssv_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbstring_8h}{xbstring.\+h}} }{\pageref{xbstring_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbtag_8h}{xbtag.\+h}} }{\pageref{xbtag_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbtblmgr_8h}{xbtblmgr.\+h}} }{\pageref{xbtblmgr_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbtypes_8h}{xbtypes.\+h}} }{\pageref{xbtypes_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbuda_8h}{xbuda.\+h}} }{\pageref{xbuda_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbxbase_8h}{xbxbase.\+h}} }{\pageref{xbxbase_8h}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/sql/\mbox{\hyperlink{xbalttbl_8cpp}{xbalttbl.\+cpp}} }{\pageref{xbalttbl_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/sql/\mbox{\hyperlink{sql_2xbcrix_8cpp}{xbcrix.\+cpp}} }{\pageref{sql_2xbcrix_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/sql/\mbox{\hyperlink{xbcrtbl_8cpp}{xbcrtbl.\+cpp}} }{\pageref{xbcrtbl_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/sql/\mbox{\hyperlink{xbdelete_8cpp}{xbdelete.\+cpp}} }{\pageref{xbdelete_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/sql/\mbox{\hyperlink{xbdrpix_8cpp}{xbdrpix.\+cpp}} }{\pageref{xbdrpix_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/sql/\mbox{\hyperlink{xbdrptbl_8cpp}{xbdrptbl.\+cpp}} }{\pageref{xbdrptbl_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/sql/\mbox{\hyperlink{xbinsert_8cpp}{xbinsert.\+cpp}} }{\pageref{xbinsert_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/sql/\mbox{\hyperlink{xbselect_8cpp}{xbselect.\+cpp}} }{\pageref{xbselect_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/sql/\mbox{\hyperlink{xbset_8cpp}{xbset.\+cpp}} }{\pageref{xbset_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/sql/\mbox{\hyperlink{xbsql_8cpp}{xbsql.\+cpp}} }{\pageref{xbsql_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/sql/\mbox{\hyperlink{xbstmt_8cpp}{xbstmt.\+cpp}} }{\pageref{xbstmt_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{tstfuncs_8cpp}{tstfuncs.\+cpp}} }{\pageref{tstfuncs_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__bcd_8cpp}{xb\+\_\+test\+\_\+bcd.\+cpp}} }{\pageref{xb__test__bcd_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__blockread_8cpp}{xb\+\_\+test\+\_\+blockread.\+cpp}} }{\pageref{xb__test__blockread_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__date_8cpp}{xb\+\_\+test\+\_\+date.\+cpp}} }{\pageref{xb__test__date_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__dbf__v3__memos_8cpp}{xb\+\_\+test\+\_\+dbf\+\_\+v3\+\_\+memos.\+cpp}} }{\pageref{xb__test__dbf__v3__memos_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__dbf__v3__nomemos_8cpp}{xb\+\_\+test\+\_\+dbf\+\_\+v3\+\_\+nomemos.\+cpp}} }{\pageref{xb__test__dbf__v3__nomemos_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__dbf__v4__memos_8cpp}{xb\+\_\+test\+\_\+dbf\+\_\+v4\+\_\+memos.\+cpp}} }{\pageref{xb__test__dbf__v4__memos_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__dbf__v4__nomemos_8cpp}{xb\+\_\+test\+\_\+dbf\+\_\+v4\+\_\+nomemos.\+cpp}} }{\pageref{xb__test__dbf__v4__nomemos_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__expnode_8cpp}{xb\+\_\+test\+\_\+expnode.\+cpp}} }{\pageref{xb__test__expnode_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__expression_8cpp}{xb\+\_\+test\+\_\+expression.\+cpp}} }{\pageref{xb__test__expression_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__file_8cpp}{xb\+\_\+test\+\_\+file.\+cpp}} }{\pageref{xb__test__file_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__filter_8cpp}{xb\+\_\+test\+\_\+filter.\+cpp}} }{\pageref{xb__test__filter_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__funcs_8cpp}{xb\+\_\+test\+\_\+funcs.\+cpp}} }{\pageref{xb__test__funcs_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__linklist_8cpp}{xb\+\_\+test\+\_\+linklist.\+cpp}} }{\pageref{xb__test__linklist_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__lock_8cpp}{xb\+\_\+test\+\_\+lock.\+cpp}} }{\pageref{xb__test__lock_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__lock2_8cpp}{xb\+\_\+test\+\_\+lock2.\+cpp}} }{\pageref{xb__test__lock2_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__log_8cpp}{xb\+\_\+test\+\_\+log.\+cpp}} }{\pageref{xb__test__log_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__mdx_8cpp}{xb\+\_\+test\+\_\+mdx.\+cpp}} }{\pageref{xb__test__mdx_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__ndx_8cpp}{xb\+\_\+test\+\_\+ndx.\+cpp}} }{\pageref{xb__test__ndx_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__sql_8cpp}{xb\+\_\+test\+\_\+sql.\+cpp}} }{\pageref{xb__test__sql_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__string_8cpp}{xb\+\_\+test\+\_\+string.\+cpp}} }{\pageref{xb__test__string_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__tblmgr_8cpp}{xb\+\_\+test\+\_\+tblmgr.\+cpp}} }{\pageref{xb__test__tblmgr_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__tdx_8cpp}{xb\+\_\+test\+\_\+tdx.\+cpp}} }{\pageref{xb__test__tdx_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__uda_8cpp}{xb\+\_\+test\+\_\+uda.\+cpp}} }{\pageref{xb__test__uda_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/tests/\mbox{\hyperlink{xb__test__xbase_8cpp}{xb\+\_\+test\+\_\+xbase.\+cpp}} }{\pageref{xb__test__xbase_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/utils/\mbox{\hyperlink{xb__cfg__check_8cpp}{xb\+\_\+cfg\+\_\+check.\+cpp}} }{\pageref{xb__cfg__check_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/utils/\mbox{\hyperlink{xb__copydbf_8cpp}{xb\+\_\+copydbf.\+cpp}} }{\pageref{xb__copydbf_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/utils/\mbox{\hyperlink{xb__dbfutil_8cpp}{xb\+\_\+dbfutil.\+cpp}} }{\pageref{xb__dbfutil_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/utils/\mbox{\hyperlink{xb__deletall_8cpp}{xb\+\_\+deletall.\+cpp}} }{\pageref{xb__deletall_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/utils/\mbox{\hyperlink{xb__dumpdbt_8cpp}{xb\+\_\+dumpdbt.\+cpp}} }{\pageref{xb__dumpdbt_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/utils/\mbox{\hyperlink{xb__dumprecs_8cpp}{xb\+\_\+dumprecs.\+cpp}} }{\pageref{xb__dumprecs_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/utils/\mbox{\hyperlink{xb__execsql_8cpp}{xb\+\_\+execsql.\+cpp}} }{\pageref{xb__execsql_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/utils/\mbox{\hyperlink{xb__import_8cpp}{xb\+\_\+import.\+cpp}} }{\pageref{xb__import_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/utils/\mbox{\hyperlink{xb__pack_8cpp}{xb\+\_\+pack.\+cpp}} }{\pageref{xb__pack_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/utils/\mbox{\hyperlink{xb__tblinfo_8cpp}{xb\+\_\+tblinfo.\+cpp}} }{\pageref{xb__tblinfo_8cpp}}{}
+\item\contentsline{section}{/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/utils/\mbox{\hyperlink{xb__undelall_8cpp}{xb\+\_\+undelall.\+cpp}} }{\pageref{xb__undelall_8cpp}}{}
+\end{DoxyCompactList}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/hierarchy.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/hierarchy.tex
new file mode 100644
index 0000000..3e597ac
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/hierarchy.tex
@@ -0,0 +1,19 @@
+\doxysection{Class Hierarchy}
+This inheritance list is sorted roughly, but not completely, alphabetically\+:\begin{DoxyCompactList}
+\item \contentsline{section}{s\+Fld\+Map}{\pageref{structsFldMap}}{}
+\item \contentsline{section}{xb\+::xb\+Schema}{\pageref{structxb_1_1xbSchema}}{}
+\item \contentsline{section}{xb\+::xb\+Ssv}{\pageref{classxb_1_1xbSsv}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{xb\+::xb\+Date}{\pageref{classxb_1_1xbDate}}{}
+\item \contentsline{section}{xb\+::xb\+File}{\pageref{classxb_1_1xbFile}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{xb\+::xb\+Dbf}{\pageref{classxb_1_1xbDbf}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{xb\+::xb\+Tbl\+Mgr}{\pageref{classxb_1_1xbTblMgr}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{xb\+::xb\+XBase}{\pageref{classxb_1_1xbXBase}}{}
+\end{DoxyCompactList}
+\end{DoxyCompactList}
+\item \contentsline{section}{xb\+::xb\+String}{\pageref{classxb_1_1xbString}}{}
+\item \contentsline{section}{xb\+::xb\+Tbl\+List}{\pageref{structxb_1_1xbTblList}}{}
+\end{DoxyCompactList}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/include_2xbcrix_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/include_2xbcrix_8cpp.tex
new file mode 100644
index 0000000..80208b7
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/include_2xbcrix_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{include_2xbcrix_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbcrix.cpp File Reference}
+\label{include_2xbcrix_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbcrix.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbcrix.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/longtable_doxygen.sty b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/longtable_doxygen.sty
new file mode 100644
index 0000000..a0eb314
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/longtable_doxygen.sty
@@ -0,0 +1,448 @@
+%%
+%% This is file `longtable.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% longtable.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% The source is maintained by the LaTeX Project team and bug
+%% reports for it can be opened at http://latex-project.org/bugs.html
+%% (but please observe conditions on bug reports sent to that address!)
+%%
+%% Copyright 1993-2016
+%% The LaTeX3 Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
+%% --------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
+%% without such generated files.
+%%
+%% The list of all files belonging to the LaTeX `Tools Bundle' is
+%% given in the file `manifest.txt'.
+%%
+%% File: longtable.dtx Copyright (C) 1990-2001 David Carlisle
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesPackage{longtable_doxygen}
+ [2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen]
+\def\LT@err{\PackageError{longtable}}
+\def\LT@warn{\PackageWarning{longtable}}
+\def\LT@final@warn{%
+ \AtEndDocument{%
+ \LT@warn{Table \@width s have changed. Rerun LaTeX.\@gobbletwo}}%
+ \global\let\LT@final@warn\relax}
+\DeclareOption{errorshow}{%
+ \def\LT@warn{\PackageInfo{longtable}}}
+\DeclareOption{pausing}{%
+ \def\LT@warn#1{%
+ \LT@err{#1}{This is not really an error}}}
+\DeclareOption{set}{}
+\DeclareOption{final}{}
+\ProcessOptions
+\newskip\LTleft \LTleft=\fill
+\newskip\LTright \LTright=\fill
+\newskip\LTpre \LTpre=\bigskipamount
+\newskip\LTpost \LTpost=\bigskipamount
+\newcount\LTchunksize \LTchunksize=20
+\let\c@LTchunksize\LTchunksize
+\newdimen\LTcapwidth \LTcapwidth=4in
+\newbox\LT@head
+\newbox\LT@firsthead
+\newbox\LT@foot
+\newbox\LT@lastfoot
+\newcount\LT@cols
+\newcount\LT@rows
+\newcounter{LT@tables}
+\newcounter{LT@chunks}[LT@tables]
+\ifx\c@table\undefined
+ \newcounter{table}
+ \def\fnum@table{\tablename~\thetable}
+\fi
+\ifx\tablename\undefined
+ \def\tablename{Table}
+\fi
+\newtoks\LT@p@ftn
+\mathchardef\LT@end@pen=30000
+\def\longtable{%
+ \par
+ \ifx\multicols\@undefined
+ \else
+ \ifnum\col@number>\@ne
+ \@twocolumntrue
+ \fi
+ \fi
+ \if@twocolumn
+ \LT@err{longtable not in 1-column mode}\@ehc
+ \fi
+ \begingroup
+ \@ifnextchar[\LT@array{\LT@array[x]}}
+\def\LT@array[#1]#2{%
+ \refstepcounter{table}\stepcounter{LT@tables}%
+ \if l#1%
+ \LTleft\z@ \LTright\fill
+ \else\if r#1%
+ \LTleft\fill \LTright\z@
+ \else\if c#1%
+ \LTleft\fill \LTright\fill
+ \fi\fi\fi
+ \let\LT@mcol\multicolumn
+ \let\LT@@tabarray\@tabarray
+ \let\LT@@hl\hline
+ \def\@tabarray{%
+ \let\hline\LT@@hl
+ \LT@@tabarray}%
+ \let\\\LT@tabularcr\let\tabularnewline\\%
+ \def\newpage{\noalign{\break}}%
+ \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
+ \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
+ \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption
+ \@tempdima\ht\strutbox
+ \let\@endpbox\LT@endpbox
+ \ifx\extrarowheight\@undefined
+ \let\@acol\@tabacol
+ \let\@classz\@tabclassz \let\@classiv\@tabclassiv
+ \def\@startpbox{\vtop\LT@startpbox}%
+ \let\@@startpbox\@startpbox
+ \let\@@endpbox\@endpbox
+ \let\LT@LL@FM@cr\@tabularcr
+ \else
+ \advance\@tempdima\extrarowheight
+ \col@sep\tabcolsep
+ \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr
+ \fi
+ \setbox\@arstrutbox\hbox{\vrule
+ \@height \arraystretch \@tempdima
+ \@depth \arraystretch \dp \strutbox
+ \@width \z@}%
+ \let\@sharp##\let\protect\relax
+ \begingroup
+ \@mkpream{#2}%
+ \xdef\LT@bchunk{%
+ \global\advance\c@LT@chunks\@ne
+ \global\LT@rows\z@\setbox\z@\vbox\bgroup
+ \LT@setprevdepth
+ \tabskip\LTleft \noexpand\halign to\hsize\bgroup
+ \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}%
+ \endgroup
+ \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
+ \LT@make@row
+ \m@th\let\par\@empty
+ \everycr{}\lineskip\z@\baselineskip\z@
+ \LT@bchunk}
+\def\LT@no@pgbk#1[#2]{\penalty #1\@getpen{#2}\ifnum`{=0\fi}}
+\def\LT@start{%
+ \let\LT@start\endgraf
+ \endgraf\penalty\z@\vskip\LTpre
+ \dimen@\pagetotal
+ \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
+ \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
+ \advance\dimen@ \ht\LT@foot
+ \dimen@ii\vfuzz
+ \vfuzz\maxdimen
+ \setbox\tw@\copy\z@
+ \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox
+ \setbox\tw@\vbox{\unvbox\tw@}%
+ \vfuzz\dimen@ii
+ \advance\dimen@ \ht
+ \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi
+ \advance\dimen@\dp
+ \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi
+ \advance\dimen@ -\pagegoal
+ \ifdim \dimen@>\z@\vfil\break\fi
+ \global\@colroom\@colht
+ \ifvoid\LT@foot\else
+ \advance\vsize-\ht\LT@foot
+ \global\advance\@colroom-\ht\LT@foot
+ \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@
+ \maxdepth\z@
+ \fi
+ \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak
+ \output{\LT@output}}
+\def\endlongtable{%
+ \crcr
+ \noalign{%
+ \let\LT@entry\LT@entry@chop
+ \xdef\LT@save@row{\LT@save@row}}%
+ \LT@echunk
+ \LT@start
+ \unvbox\z@
+ \LT@get@widths
+ \if@filesw
+ {\let\LT@entry\LT@entry@write\immediate\write\@auxout{%
+ \gdef\expandafter\noexpand
+ \csname LT@\romannumeral\c@LT@tables\endcsname
+ {\LT@save@row}}}%
+ \fi
+ \ifx\LT@save@row\LT@@save@row
+ \else
+ \LT@warn{Column \@width s have changed\MessageBreak
+ in table \thetable}%
+ \LT@final@warn
+ \fi
+ \endgraf\penalty -\LT@end@pen
+ \endgroup
+ \global\@mparbottom\z@
+ \pagegoal\vsize
+ \endgraf\penalty\z@\addvspace\LTpost
+ \ifvoid\footins\else\insert\footins{}\fi}
+\def\LT@nofcols#1&{%
+ \futurelet\@let@token\LT@n@fcols}
+\def\LT@n@fcols{%
+ \advance\LT@cols\@ne
+ \ifx\@let@token\LT@nofcols
+ \expandafter\@gobble
+ \else
+ \expandafter\LT@nofcols
+ \fi}
+\def\LT@tabularcr{%
+ \relax\iffalse{\fi\ifnum0=`}\fi
+ \@ifstar
+ {\def\crcr{\LT@crcr\noalign{\nobreak}}\let\cr\crcr
+ \LT@t@bularcr}%
+ {\LT@t@bularcr}}
+\let\LT@crcr\crcr
+\let\LT@setprevdepth\relax
+\def\LT@t@bularcr{%
+ \global\advance\LT@rows\@ne
+ \ifnum\LT@rows=\LTchunksize
+ \gdef\LT@setprevdepth{%
+ \prevdepth\z@\global
+ \global\let\LT@setprevdepth\relax}%
+ \expandafter\LT@xtabularcr
+ \else
+ \ifnum0=`{}\fi
+ \expandafter\LT@LL@FM@cr
+ \fi}
+\def\LT@xtabularcr{%
+ \@ifnextchar[\LT@argtabularcr\LT@ntabularcr}
+\def\LT@ntabularcr{%
+ \ifnum0=`{}\fi
+ \LT@echunk
+ \LT@start
+ \unvbox\z@
+ \LT@get@widths
+ \LT@bchunk}
+\def\LT@argtabularcr[#1]{%
+ \ifnum0=`{}\fi
+ \ifdim #1>\z@
+ \unskip\@xargarraycr{#1}%
+ \else
+ \@yargarraycr{#1}%
+ \fi
+ \LT@echunk
+ \LT@start
+ \unvbox\z@
+ \LT@get@widths
+ \LT@bchunk}
+\def\LT@echunk{%
+ \crcr\LT@save@row\cr\egroup
+ \global\setbox\@ne\lastbox
+ \unskip
+ \egroup}
+\def\LT@entry#1#2{%
+ \ifhmode\@firstofone{&}\fi\omit
+ \ifnum#1=\c@LT@chunks
+ \else
+ \kern#2\relax
+ \fi}
+\def\LT@entry@chop#1#2{%
+ \noexpand\LT@entry
+ {\ifnum#1>\c@LT@chunks
+ 1}{0pt%
+ \else
+ #1}{#2%
+ \fi}}
+\def\LT@entry@write{%
+ \noexpand\LT@entry^^J%
+ \@spaces}
+\def\LT@kill{%
+ \LT@echunk
+ \LT@get@widths
+ \expandafter\LT@rebox\LT@bchunk}
+\def\LT@rebox#1\bgroup{%
+ #1\bgroup
+ \unvbox\z@
+ \unskip
+ \setbox\z@\lastbox}
+\def\LT@blank@row{%
+ \xdef\LT@save@row{\expandafter\LT@build@blank
+ \romannumeral\number\LT@cols 001 }}
+\def\LT@build@blank#1{%
+ \if#1m%
+ \noexpand\LT@entry{1}{0pt}%
+ \expandafter\LT@build@blank
+ \fi}
+\def\LT@make@row{%
+ \global\expandafter\let\expandafter\LT@save@row
+ \csname LT@\romannumeral\c@LT@tables\endcsname
+ \ifx\LT@save@row\relax
+ \LT@blank@row
+ \else
+ {\let\LT@entry\or
+ \if!%
+ \ifcase\expandafter\expandafter\expandafter\LT@cols
+ \expandafter\@gobble\LT@save@row
+ \or
+ \else
+ \relax
+ \fi
+ !%
+ \else
+ \aftergroup\LT@blank@row
+ \fi}%
+ \fi}
+\let\setlongtables\relax
+\def\LT@get@widths{%
+ \setbox\tw@\hbox{%
+ \unhbox\@ne
+ \let\LT@old@row\LT@save@row
+ \global\let\LT@save@row\@empty
+ \count@\LT@cols
+ \loop
+ \unskip
+ \setbox\tw@\lastbox
+ \ifhbox\tw@
+ \LT@def@row
+ \advance\count@\m@ne
+ \repeat}%
+ \ifx\LT@@save@row\@undefined
+ \let\LT@@save@row\LT@save@row
+ \fi}
+\def\LT@def@row{%
+ \let\LT@entry\or
+ \edef\@tempa{%
+ \ifcase\expandafter\count@\LT@old@row
+ \else
+ {1}{0pt}%
+ \fi}%
+ \let\LT@entry\relax
+ \xdef\LT@save@row{%
+ \LT@entry
+ \expandafter\LT@max@sel\@tempa
+ \LT@save@row}}
+\def\LT@max@sel#1#2{%
+ {\ifdim#2=\wd\tw@
+ #1%
+ \else
+ \number\c@LT@chunks
+ \fi}%
+ {\the\wd\tw@}}
+\def\LT@hline{%
+ \noalign{\ifnum0=`}\fi
+ \penalty\@M
+ \futurelet\@let@token\LT@@hline}
+\def\LT@@hline{%
+ \ifx\@let@token\hline
+ \global\let\@gtempa\@gobble
+ \gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}%
+ \else
+ \global\let\@gtempa\@empty
+ \gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}%
+ \fi
+ \ifnum0=`{\fi}%
+ \multispan\LT@cols
+ \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
+ \noalign{\LT@sep}%
+ \multispan\LT@cols
+ \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
+ \noalign{\penalty\@M}%
+ \@gtempa}
+\def\LT@caption{%
+ \noalign\bgroup
+ \@ifnextchar[{\egroup\LT@c@ption\@firstofone}\LT@capti@n}
+\def\LT@c@ption#1[#2]#3{%
+ \LT@makecaption#1\fnum@table{#3}%
+ \def\@tempa{#2}%
+ \ifx\@tempa\@empty\else
+ {\let\\\space
+ \addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}%
+ \fi}
+\def\LT@capti@n{%
+ \@ifstar
+ {\egroup\LT@c@ption\@gobble[]}%
+ {\egroup\@xdblarg{\LT@c@ption\@firstofone}}}
+\def\LT@makecaption#1#2#3{%
+ \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{%
+ \sbox\@tempboxa{#1{#2: }#3}%
+ \ifdim\wd\@tempboxa>\hsize
+ #1{#2: }#3%
+ \else
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \endgraf\vskip\baselineskip}%
+ \hss}}}
+\def\LT@output{%
+ \ifnum\outputpenalty <-\@Mi
+ \ifnum\outputpenalty > -\LT@end@pen
+ \LT@err{floats and marginpars not allowed in a longtable}\@ehc
+ \else
+ \setbox\z@\vbox{\unvbox\@cclv}%
+ \ifdim \ht\LT@lastfoot>\ht\LT@foot
+ \dimen@\pagegoal
+ \advance\dimen@-\ht\LT@lastfoot
+ \ifdim\dimen@<\ht\z@
+ \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}%
+ \@makecol
+ \@outputpage
+ \setbox\z@\vbox{\box\LT@head}%
+ \fi
+ \fi
+ \global\@colroom\@colht
+ \global\vsize\@colht
+ \vbox
+ {\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}%
+ \fi
+ \else
+ \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}%
+ \@makecol
+ \@outputpage
+ \global\vsize\@colroom
+ \copy\LT@head\nobreak
+ \fi}
+\def\LT@end@hd@ft#1{%
+ \LT@echunk
+ \ifx\LT@start\endgraf
+ \LT@err
+ {Longtable head or foot not at start of table}%
+ {Increase LTchunksize}%
+ \fi
+ \setbox#1\box\z@
+ \LT@get@widths
+ \LT@bchunk}
+\def\endfirsthead{\LT@end@hd@ft\LT@firsthead}
+\def\endhead{\LT@end@hd@ft\LT@head}
+\def\endfoot{\LT@end@hd@ft\LT@foot}
+\def\endlastfoot{\LT@end@hd@ft\LT@lastfoot}
+\def\LT@startpbox#1{%
+ \bgroup
+ \let\@footnotetext\LT@p@ftntext
+ \setlength\hsize{#1}%
+ \@arrayparboxrestore
+ \vrule \@height \ht\@arstrutbox \@width \z@}
+\def\LT@endpbox{%
+ \@finalstrut\@arstrutbox
+ \egroup
+ \the\LT@p@ftn
+ \global\LT@p@ftn{}%
+ \hfil}
+\def\LT@p@ftntext#1{%
+ \edef\@tempa{\the\LT@p@ftn\noexpand\footnotetext[\the\c@footnote]}%
+ \global\LT@p@ftn\expandafter{\@tempa{#1}}}%
+
+\@namedef{ver@longtable.sty}{2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen}
+\endinput
+%%
+%% End of file `longtable.sty'.
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/namespaces.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/namespaces.tex
new file mode 100644
index 0000000..bac4907
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/namespaces.tex
@@ -0,0 +1,4 @@
+\doxysection{Namespace List}
+Here is a list of all namespaces with brief descriptions\+:\begin{DoxyCompactList}
+\item\contentsline{section}{\mbox{\hyperlink{namespacexb}{xb}} }{\pageref{namespacexb}}{}
+\end{DoxyCompactList}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/namespacexb.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/namespacexb.tex
new file mode 100644
index 0000000..4abf6a2
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/namespacexb.tex
@@ -0,0 +1,126 @@
+\hypertarget{namespacexb}{}\doxysection{xb Namespace Reference}
+\label{namespacexb}\index{xb@{xb}}
+\doxysubsection*{Data Structures}
+\begin{DoxyCompactItemize}
+\item
+class \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}}
+\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} class. \end{DoxyCompactList}\item
+class \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}}
+\begin{DoxyCompactList}\small\item\em Base class for handling dbf files/tables. \end{DoxyCompactList}\item
+class \mbox{\hyperlink{classxb_1_1xbFile}{xb\+File}}
+\begin{DoxyCompactList}\small\item\em Class for handling low level file I/O. \end{DoxyCompactList}\item
+struct \mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}}
+\begin{DoxyCompactList}\small\item\em Schema used for defining tables with Create\+Table methods. \end{DoxyCompactList}\item
+class \mbox{\hyperlink{classxb_1_1xbSsv}{xb\+Ssv}}
+\begin{DoxyCompactList}\small\item\em Class for handling shared system variables. \end{DoxyCompactList}\item
+class \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}}
+\begin{DoxyCompactList}\small\item\em Class for handling string data. \end{DoxyCompactList}\item
+struct \mbox{\hyperlink{structxb_1_1xbTblList}{xb\+Tbl\+List}}
+\item
+class \mbox{\hyperlink{classxb_1_1xbTblMgr}{xb\+Tbl\+Mgr}}
+\item
+class \mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}}
+\begin{DoxyCompactList}\small\item\em xb\+Xbase class. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item
+typedef float \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}}
+\item
+typedef double \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}}
+\item
+typedef short int \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}
+\item
+typedef xb\+UInt64 \mbox{\hyperlink{namespacexb_ac963d9fde6debb416303cfbed35fb793}{xb\+OffT}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+std\+::ostream \& \mbox{\hyperlink{namespacexb_ad27f348219e895c44f74addba8e1889a}{operator$<$$<$}} (std\+::ostream \&os, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s)
+\begin{DoxyCompactList}\small\item\em Stream insertion operator \texorpdfstring{$<$}{<}\texorpdfstring{$<$}{<}. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+const xb\+Error\+Message \mbox{\hyperlink{namespacexb_a04be228a037d220dd5564f5ef618adcc}{xb\+Error\+Messages}} \mbox{[}$\,$\mbox{]}
+\item
+class XBDLLEXPORT \mbox{\hyperlink{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}{xb\+XBase}}
+\item
+class XBDLLEXPORT \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xb\+Dbf}}
+\item
+class XBDLLEXPORT \mbox{\hyperlink{namespacexb_a4a31fbe9110c9e55495ce71e642d785c}{xb\+Log}}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Typedef Documentation}
+\mbox{\Hypertarget{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}\label{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}}
+\index{xb@{xb}!xbBool@{xbBool}}
+\index{xbBool@{xbBool}!xb@{xb}}
+\doxysubsubsection{\texorpdfstring{xbBool}{xbBool}}
+{\footnotesize\ttfamily typedef short int \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+::xb\+Bool}}}
+
+\mbox{\Hypertarget{namespacexb_a25f47b226ce924a5c78f97989b0744a2}\label{namespacexb_a25f47b226ce924a5c78f97989b0744a2}}
+\index{xb@{xb}!xbDouble@{xbDouble}}
+\index{xbDouble@{xbDouble}!xb@{xb}}
+\doxysubsubsection{\texorpdfstring{xbDouble}{xbDouble}}
+{\footnotesize\ttfamily typedef double \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+::xb\+Double}}}
+
+\mbox{\Hypertarget{namespacexb_a83aa6a550398db55973aa9fb4257e66e}\label{namespacexb_a83aa6a550398db55973aa9fb4257e66e}}
+\index{xb@{xb}!xbFloat@{xbFloat}}
+\index{xbFloat@{xbFloat}!xb@{xb}}
+\doxysubsubsection{\texorpdfstring{xbFloat}{xbFloat}}
+{\footnotesize\ttfamily typedef float \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+::xb\+Float}}}
+
+\mbox{\Hypertarget{namespacexb_ac963d9fde6debb416303cfbed35fb793}\label{namespacexb_ac963d9fde6debb416303cfbed35fb793}}
+\index{xb@{xb}!xbOffT@{xbOffT}}
+\index{xbOffT@{xbOffT}!xb@{xb}}
+\doxysubsubsection{\texorpdfstring{xbOffT}{xbOffT}}
+{\footnotesize\ttfamily typedef xb\+UInt64 \mbox{\hyperlink{namespacexb_ac963d9fde6debb416303cfbed35fb793}{xb\+::xb\+OffT}}}
+
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{namespacexb_ad27f348219e895c44f74addba8e1889a}\label{namespacexb_ad27f348219e895c44f74addba8e1889a}}
+\index{xb@{xb}!operator$<$$<$@{operator$<$$<$}}
+\index{operator$<$$<$@{operator$<$$<$}!xb@{xb}}
+\doxysubsubsection{\texorpdfstring{operator$<$$<$()}{operator<<()}}
+{\footnotesize\ttfamily std\+::ostream \& xb\+::operator$<$$<$ (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{os, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})}
+
+
+
+Stream insertion operator \texorpdfstring{$<$}{<}\texorpdfstring{$<$}{<}.
+
+std\+::cout \texorpdfstring{$<$}{<}\texorpdfstring{$<$}{<} My\+String \texorpdfstring{$<$}{<}\texorpdfstring{$<$}{<} std\+::endl;
+
+
+\begin{DoxyParams}{Parameters}
+{\em os} & Output stream \\
+\hline
+{\em s} & String to send to output stream \\
+\hline
+\end{DoxyParams}
+
+
+\doxysubsection{Variable Documentation}
+\mbox{\Hypertarget{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}\label{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}}
+\index{xb@{xb}!xbDbf@{xbDbf}}
+\index{xbDbf@{xbDbf}!xb@{xb}}
+\doxysubsubsection{\texorpdfstring{xbDbf}{xbDbf}}
+{\footnotesize\ttfamily class XBDLLEXPORT \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+::xb\+Dbf}}}
+
+\mbox{\Hypertarget{namespacexb_a04be228a037d220dd5564f5ef618adcc}\label{namespacexb_a04be228a037d220dd5564f5ef618adcc}}
+\index{xb@{xb}!xbErrorMessages@{xbErrorMessages}}
+\index{xbErrorMessages@{xbErrorMessages}!xb@{xb}}
+\doxysubsubsection{\texorpdfstring{xbErrorMessages}{xbErrorMessages}}
+{\footnotesize\ttfamily const xb\+Error\+Message xb\+::xb\+Error\+Messages\mbox{[}$\,$\mbox{]}}
+
+\mbox{\Hypertarget{namespacexb_a4a31fbe9110c9e55495ce71e642d785c}\label{namespacexb_a4a31fbe9110c9e55495ce71e642d785c}}
+\index{xb@{xb}!xbLog@{xbLog}}
+\index{xbLog@{xbLog}!xb@{xb}}
+\doxysubsubsection{\texorpdfstring{xbLog}{xbLog}}
+{\footnotesize\ttfamily class XBDLLEXPORT xb\+::xb\+Log}
+
+\mbox{\Hypertarget{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}\label{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}}
+\index{xb@{xb}!xbXBase@{xbXBase}}
+\index{xbXBase@{xbXBase}!xb@{xb}}
+\doxysubsubsection{\texorpdfstring{xbXBase}{xbXBase}}
+{\footnotesize\ttfamily class XBDLLEXPORT \mbox{\hyperlink{classxb_1_1xbXBase}{xb\+::xb\+XBase}}}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/refman.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/refman.tex
new file mode 100644
index 0000000..76e319a
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/refman.tex
@@ -0,0 +1,341 @@
+ % Handle batch mode
+ % to overcome problems with too many open files
+ \let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}
+ % Set document class depending on configuration
+ \documentclass[twoside]{book}
+ %% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package
+ \usepackage{ifthen}
+ \ifx\requestedLaTeXdate\undefined
+ \usepackage{array}
+ \else
+ \usepackage{array}[=2016-10-06]
+ \fi
+ %%
+ % Packages required by doxygen
+ \usepackage{fixltx2e} % for \textsubscript
+ \usepackage{doxygen}
+ \usepackage{graphicx}
+ \usepackage[utf8]{inputenc}
+ \usepackage{makeidx}
+ \PassOptionsToPackage{warn}{textcomp}
+ \usepackage{textcomp}
+ \usepackage[nointegrals]{wasysym}
+ \usepackage{ifxetex}
+ % NLS support packages
+ % Define default fonts
+ % Font selection
+ \usepackage[T1]{fontenc}
+ % set main and monospaced font
+ \usepackage[scaled=.90]{helvet}
+\usepackage{courier}
+\renewcommand{\familydefault}{\sfdefault}
+ \usepackage{sectsty}
+ \allsectionsfont{%
+ \fontseries{bc}\selectfont%
+ \color{darkgray}%
+ }
+ \renewcommand{\DoxyLabelFont}{%
+ \fontseries{bc}\selectfont%
+ \color{darkgray}%
+ }
+ \newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
+ % Arguments of doxygenemoji:
+ % 1) ':<text>:' form of the emoji, already LaTeX-escaped
+ % 2) file with the name of the emoji without the .png extension
+ % in case image exist use this otherwise use the ':<text>:' form
+ \newcommand{\doxygenemoji}[2]{%
+ \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
+ }
+ % Page & text layout
+ \usepackage{geometry}
+ \geometry{%
+ a4paper,%
+ top=2.5cm,%
+ bottom=2.5cm,%
+ left=2.5cm,%
+ right=2.5cm%
+ }
+ % Allow a bit of overflow to go unnoticed by other means
+ \tolerance=750
+ \hfuzz=15pt
+ \hbadness=750
+ \setlength{\emergencystretch}{15pt}
+ \setlength{\parindent}{0cm}
+ \newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
+ \newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
+ \doxynormalparskip
+ % Redefine paragraph/subparagraph environments, using sectsty fonts
+ \makeatletter
+ \renewcommand{\paragraph}{%
+ \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
+ \normalfont\normalsize\bfseries\SS@parafont%
+ }%
+ }
+ \renewcommand{\subparagraph}{%
+ \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
+ \normalfont\normalsize\bfseries\SS@subparafont%
+ }%
+ }
+ \makeatother
+ \makeatletter
+ \newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@}
+ \makeatother
+ % Headers & footers
+ \usepackage{fancyhdr}
+ \pagestyle{fancyplain}
+ \renewcommand{\footrulewidth}{0.4pt}
+ \fancypagestyle{fancyplain}{
+ \fancyhf{}
+ \fancyhead[LE, RO]{\bfseries\thepage}
+ \fancyhead[LO]{\bfseries\rightmark}
+ \fancyhead[RE]{\bfseries\leftmark}
+ \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
+ }
+ \fancypagestyle{plain}{
+ \fancyhf{}
+ \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
+ \renewcommand{\headrulewidth}{0pt}
+ }
+ \pagestyle{fancyplain}
+ \renewcommand{\chaptermark}[1]{%
+ \markboth{#1}{}%
+ }
+ \renewcommand{\sectionmark}[1]{%
+ \markright{\thesection\ #1}%
+ }
+ % ToC, LoF, LoT, bibliography, and index
+ % Indices & bibliography
+ \usepackage{natbib}
+ \usepackage[titles]{tocloft}
+ \setcounter{tocdepth}{3}
+ \setcounter{secnumdepth}{5}
+ % creating indexes
+ \makeindex
+ \usepackage{newunicodechar}
+ \newunicodechar{⁻}{${}^{-}$}% Superscript minus
+ \newunicodechar{²}{${}^{2}$}% Superscript two
+ \newunicodechar{³}{${}^{3}$}% Superscript three
+ % Hyperlinks
+ % Hyperlinks (required, but should be loaded last)
+ \ifpdf
+ \usepackage[pdftex,pagebackref=true]{hyperref}
+ \else
+ \ifxetex
+ \usepackage[pagebackref=true]{hyperref}
+ \else
+ \usepackage[ps2pdf,pagebackref=true]{hyperref}
+ \fi
+ \fi
+ \hypersetup{%
+ colorlinks=true,%
+ linkcolor=blue,%
+ citecolor=blue,%
+ unicode,%
+ pdftitle=Xbase64,%
+ pdfsubject=C++ Library for handling Xbase (\+DBF) format type files%
+ }
+ % Custom commands used by the header
+ % Custom commands
+ \newcommand{\clearemptydoublepage}{%
+ \newpage{\pagestyle{empty}\cleardoublepage}%
+ }
+ % caption style definition
+ \usepackage{caption}
+ \captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
+ % in page table of contents
+ \usepackage{etoc}
+ \etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
+ % prevent numbers overlap the titles in toc
+ \renewcommand{\numberline}[1]{#1~}
+% End of preamble, now comes the document contents
+%===== C O N T E N T S =====
+\begin{document}
+ \raggedbottom
+ % Titlepage & ToC
+ % To avoid duplicate page anchors due to reuse of same numbers for
+ % the index (be it as roman numbers)
+ \hypersetup{pageanchor=false,
+ bookmarksnumbered=true,
+ pdfencoding=unicode
+ }
+ \pagenumbering{alph}
+ \begin{titlepage}
+ \vspace*{7cm}
+ \begin{center}%
+ {\Large Xbase64}\\
+ \vspace*{1cm}
+ {\large Generated by Doxygen 1.9.3}\\
+ \end{center}
+ \end{titlepage}
+ \clearemptydoublepage
+ \pagenumbering{roman}
+ \tableofcontents
+ \clearemptydoublepage
+ \pagenumbering{arabic}
+ % re-enable anchors again
+ \hypersetup{pageanchor=true}
+%--- Begin generated contents ---
+\chapter{Namespace Index}
+\input{namespaces}
+\chapter{Hierarchical Index}
+\input{hierarchy}
+\chapter{Data Structure Index}
+\input{annotated}
+\chapter{File Index}
+\input{files}
+\chapter{Namespace Documentation}
+\input{namespacexb}
+\chapter{Data Structure Documentation}
+\input{structsFldMap}
+\input{classxb_1_1xbDate}
+\input{classxb_1_1xbDbf}
+\input{classxb_1_1xbFile}
+\input{structxb_1_1xbSchema}
+\input{classxb_1_1xbSsv}
+\input{classxb_1_1xbString}
+\input{structxb_1_1xbTblList}
+\input{classxb_1_1xbTblMgr}
+\input{classxb_1_1xbXBase}
+\chapter{File Documentation}
+\input{xbbcd_8cpp}
+\input{xbblockread_8cpp}
+\input{xbdate_8cpp}
+\input{xbdbf_8cpp}
+\input{xbdbf3_8cpp}
+\input{xbdbf4_8cpp}
+\input{xbexp_8cpp}
+\input{xbexpnode_8cpp}
+\input{xbfields_8cpp}
+\input{xbfile_8cpp}
+\input{xbfilter_8cpp}
+\input{xbfuncs_8cpp}
+\input{xbixbase_8cpp}
+\input{xbixmdx_8cpp}
+\input{xbixndx_8cpp}
+\input{xbixtdx_8cpp}
+\input{xblog_8cpp}
+\input{xbmemo_8cpp}
+\input{xbmemo3_8cpp}
+\input{xbmemo4_8cpp}
+\input{xbssv_8cpp}
+\input{xbstring_8cpp}
+\input{xbtag_8cpp}
+\input{xbtblmgr_8cpp}
+\input{xbuda_8cpp}
+\input{xbxbase_8cpp}
+\input{xb__ex__date_8cpp}
+\input{xb__ex__expression_8cpp}
+\input{xb__ex__log_8cpp}
+\input{xb__ex__sql_8cpp}
+\input{xb__ex__ssv_8cpp}
+\input{xb__ex__string_8cpp}
+\input{xb__ex__v3__create__dbf_8cpp}
+\input{xb__ex__v3__upd__dbf_8cpp}
+\input{xb__ex__v4__create__dbf_8cpp}
+\input{xb__ex__v4__upd__dbf_8cpp}
+\input{xbase_8h}
+\input{xbase_8h_source}
+\input{xbbcd_8h}
+\input{xbbcd_8h_source}
+\input{xbblkread_8h}
+\input{xbblkread_8h_source}
+\input{include_2xbcrix_8cpp}
+\input{sql_2xbcrix_8cpp}
+\input{xbdate_8h}
+\input{xbdate_8h_source}
+\input{xbdbf_8h}
+\input{xbdbf_8h_source}
+\input{xbexp_8h}
+\input{xbexp_8h_source}
+\input{xbexpnode_8h}
+\input{xbexpnode_8h_source}
+\input{xbfile_8h}
+\input{xbfile_8h_source}
+\input{xbfilter_8h}
+\input{xbfilter_8h_source}
+\input{xbindex_8h}
+\input{xbindex_8h_source}
+\input{xblnklst_8h}
+\input{xblnklst_8h_source}
+\input{xblnklstord_8h}
+\input{xblnklstord_8h_source}
+\input{xblnknod_8h}
+\input{xblnknod_8h_source}
+\input{xblog_8h}
+\input{xblog_8h_source}
+\input{xbmemo_8h}
+\input{xbmemo_8h_source}
+\input{xbretcod_8h}
+\input{xbretcod_8h_source}
+\input{xbsql_8h}
+\input{xbsql_8h_source}
+\input{xbssv_8h}
+\input{xbssv_8h_source}
+\input{xbstring_8h}
+\input{xbstring_8h_source}
+\input{xbtag_8h}
+\input{xbtag_8h_source}
+\input{xbtblmgr_8h}
+\input{xbtblmgr_8h_source}
+\input{xbtypes_8h}
+\input{xbtypes_8h_source}
+\input{xbuda_8h}
+\input{xbuda_8h_source}
+\input{xbxbase_8h}
+\input{xbxbase_8h_source}
+\input{xbalttbl_8cpp}
+\input{xbcrtbl_8cpp}
+\input{xbdelete_8cpp}
+\input{xbdrpix_8cpp}
+\input{xbdrptbl_8cpp}
+\input{xbinsert_8cpp}
+\input{xbselect_8cpp}
+\input{xbset_8cpp}
+\input{xbsql_8cpp}
+\input{xbstmt_8cpp}
+\input{tstfuncs_8cpp}
+\input{xb__test__bcd_8cpp}
+\input{xb__test__blockread_8cpp}
+\input{xb__test__date_8cpp}
+\input{xb__test__dbf__v3__memos_8cpp}
+\input{xb__test__dbf__v3__nomemos_8cpp}
+\input{xb__test__dbf__v4__memos_8cpp}
+\input{xb__test__dbf__v4__nomemos_8cpp}
+\input{xb__test__expnode_8cpp}
+\input{xb__test__expression_8cpp}
+\input{xb__test__file_8cpp}
+\input{xb__test__filter_8cpp}
+\input{xb__test__funcs_8cpp}
+\input{xb__test__linklist_8cpp}
+\input{xb__test__lock_8cpp}
+\input{xb__test__lock2_8cpp}
+\input{xb__test__log_8cpp}
+\input{xb__test__mdx_8cpp}
+\input{xb__test__ndx_8cpp}
+\input{xb__test__sql_8cpp}
+\input{xb__test__string_8cpp}
+\input{xb__test__tblmgr_8cpp}
+\input{xb__test__tdx_8cpp}
+\input{xb__test__uda_8cpp}
+\input{xb__test__xbase_8cpp}
+\input{xb__cfg__check_8cpp}
+\input{xb__copydbf_8cpp}
+\input{xb__dbfutil_8cpp}
+\input{xb__deletall_8cpp}
+\input{xb__dumpdbt_8cpp}
+\input{xb__dumprecs_8cpp}
+\input{xb__execsql_8cpp}
+\input{xb__import_8cpp}
+\input{xb__pack_8cpp}
+\input{xb__tblinfo_8cpp}
+\input{xb__undelall_8cpp}
+%--- End generated contents ---
+% Index
+ \backmatter
+ \newpage
+ \phantomsection
+ \clearemptydoublepage
+ \addcontentsline{toc}{chapter}{\indexname}
+ \printindex
+% Required for some languages (in combination with latexdocumentpre from the header)
+\end{document}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/reindex_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/reindex_8cpp.tex
new file mode 100644
index 0000000..043a116
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/reindex_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{reindex_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.0.2/src/utils/reindex.cpp File Reference}
+\label{reindex_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.0.2/src/utils/reindex.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.0.2/src/utils/reindex.cpp}}
+{\ttfamily \#include $<$xbase64/xbase64.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{reindex_8cpp_a0c99d968a34e803d378692bde2e3f18f}{main}} (int ac, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{reindex_8cpp_a0c99d968a34e803d378692bde2e3f18f}\label{reindex_8cpp_a0c99d968a34e803d378692bde2e3f18f}}
+\index{reindex.cpp@{reindex.cpp}!main@{main}}
+\index{main@{main}!reindex.cpp@{reindex.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{ac, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/sql_2xbcrix_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/sql_2xbcrix_8cpp.tex
new file mode 100644
index 0000000..da0bd97
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/sql_2xbcrix_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{sql_2xbcrix_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/sql/xbcrix.cpp File Reference}
+\label{sql_2xbcrix_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbcrix.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbcrix.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/structsFldMap.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/structsFldMap.tex
new file mode 100644
index 0000000..84b0861
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/structsFldMap.tex
@@ -0,0 +1,45 @@
+\hypertarget{structsFldMap}{}\doxysection{s\+Fld\+Map Struct Reference}
+\label{structsFldMap}\index{sFldMap@{sFldMap}}
+\doxysubsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item
+xb\+UInt32 \mbox{\hyperlink{structsFldMap_a02facce45c24ebecc13975c17fd52b8f}{i\+Rec\+Pos}}
+\item
+xb\+Int16 \mbox{\hyperlink{structsFldMap_a42eb801a85d8b60f06c4fe1be13ca723}{i\+Fld\+No}}
+\item
+char \mbox{\hyperlink{structsFldMap_af89b26b2d4bc6e26c597f8c48b97b1a3}{c\+Fld\+Type}}
+\item
+\mbox{\hyperlink{structsFldMap}{s\+Fld\+Map}} $\ast$ \mbox{\hyperlink{structsFldMap_a16eaff8fc09adc3faf453bfaa0d3baaa}{next}}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Field Documentation}
+\mbox{\Hypertarget{structsFldMap_af89b26b2d4bc6e26c597f8c48b97b1a3}\label{structsFldMap_af89b26b2d4bc6e26c597f8c48b97b1a3}}
+\index{sFldMap@{sFldMap}!cFldType@{cFldType}}
+\index{cFldType@{cFldType}!sFldMap@{sFldMap}}
+\doxysubsubsection{\texorpdfstring{cFldType}{cFldType}}
+{\footnotesize\ttfamily char s\+Fld\+Map\+::c\+Fld\+Type}
+
+\mbox{\Hypertarget{structsFldMap_a42eb801a85d8b60f06c4fe1be13ca723}\label{structsFldMap_a42eb801a85d8b60f06c4fe1be13ca723}}
+\index{sFldMap@{sFldMap}!iFldNo@{iFldNo}}
+\index{iFldNo@{iFldNo}!sFldMap@{sFldMap}}
+\doxysubsubsection{\texorpdfstring{iFldNo}{iFldNo}}
+{\footnotesize\ttfamily xb\+Int16 s\+Fld\+Map\+::i\+Fld\+No}
+
+\mbox{\Hypertarget{structsFldMap_a02facce45c24ebecc13975c17fd52b8f}\label{structsFldMap_a02facce45c24ebecc13975c17fd52b8f}}
+\index{sFldMap@{sFldMap}!iRecPos@{iRecPos}}
+\index{iRecPos@{iRecPos}!sFldMap@{sFldMap}}
+\doxysubsubsection{\texorpdfstring{iRecPos}{iRecPos}}
+{\footnotesize\ttfamily xb\+UInt32 s\+Fld\+Map\+::i\+Rec\+Pos}
+
+\mbox{\Hypertarget{structsFldMap_a16eaff8fc09adc3faf453bfaa0d3baaa}\label{structsFldMap_a16eaff8fc09adc3faf453bfaa0d3baaa}}
+\index{sFldMap@{sFldMap}!next@{next}}
+\index{next@{next}!sFldMap@{sFldMap}}
+\doxysubsubsection{\texorpdfstring{next}{next}}
+{\footnotesize\ttfamily \mbox{\hyperlink{structsFldMap}{s\+Fld\+Map}}$\ast$ s\+Fld\+Map\+::next}
+
+
+
+The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/utils/\mbox{\hyperlink{xb__import_8cpp}{xb\+\_\+import.\+cpp}}\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/structxb_1_1xbSchema.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/structxb_1_1xbSchema.tex
new file mode 100644
index 0000000..74cc2bc
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/structxb_1_1xbSchema.tex
@@ -0,0 +1,77 @@
+\hypertarget{structxb_1_1xbSchema}{}\doxysection{xb\+::xb\+Schema Struct Reference}
+\label{structxb_1_1xbSchema}\index{xb::xbSchema@{xb::xbSchema}}
+
+
+Schema used for defining tables with Create\+Table methods.
+
+
+
+
+{\ttfamily \#include $<$xbdbf.\+h$>$}
+
+\doxysubsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item
+char \mbox{\hyperlink{structxb_1_1xbSchema_a514183856094123fd37df67885b4681e}{c\+Field\+Name}} \mbox{[}11\mbox{]}
+\item
+char \mbox{\hyperlink{structxb_1_1xbSchema_a1d612b2ed5dc0b0289c9e91b3cda3a25}{c\+Type}}
+\item
+xb\+Int16 \mbox{\hyperlink{structxb_1_1xbSchema_a2da554af25ef628acf59bb52996056ac}{i\+Field\+Len}}
+\item
+xb\+Int16 \mbox{\hyperlink{structxb_1_1xbSchema_a55bab3bb69dee3508d168c93e182d4b9}{i\+No\+Of\+Decs}}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Detailed Description}
+Schema used for defining tables with Create\+Table methods.
+
+See program \mbox{\hyperlink{xb__ex__v3__create__dbf_8cpp}{xb\+\_\+ex\+\_\+v3\+\_\+create\+\_\+dbf.\+cpp}} or \mbox{\hyperlink{xb__ex__v4__create__dbf_8cpp}{xb\+\_\+ex\+\_\+v4\+\_\+create\+\_\+dbf.\+cpp}} as examples on how to use.
+
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{xbSchema MyRecord[] = \{}
+\DoxyCodeLine{\textcolor{comment}{// FieldName, Type, Len, Dec}}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}FIRSTNAME"{}}, \mbox{\hyperlink{xbdbf_8h_a20f739b9d9dc6a002a246a999e76aeaa}{XB\_CHAR\_FLD}}, 15, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}LASTNAME"{}}, \mbox{\hyperlink{xbdbf_8h_a20f739b9d9dc6a002a246a999e76aeaa}{XB\_CHAR\_FLD}}, 20, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}BIRTHDATE"{}}, \mbox{\hyperlink{xbdbf_8h_a7f685e6f5fe804b2174725a27ce73adc}{XB\_DATE\_FLD}}, 8, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}AMOUNT"{}}, \mbox{\hyperlink{xbdbf_8h_ae9fb6d69cc5edc94d36ae403c22ec1c6}{XB\_NUMERIC\_FLD}}, 9, 2 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}RETIRED?"{}}, \mbox{\hyperlink{xbdbf_8h_a2f6d5073af761bc1a806a2c7b1c1d886}{XB\_LOGICAL\_FLD}}, 1, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}ZIPCODE"{}}, \mbox{\hyperlink{xbdbf_8h_ae9fb6d69cc5edc94d36ae403c22ec1c6}{XB\_NUMERIC\_FLD}}, 5, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}NUMFLD1"{}}, \mbox{\hyperlink{xbdbf_8h_a96ab4218d70ab603b4866354ce8c18cd}{XB\_FLOAT\_FLD}}, 12, 2 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}NUMFLD2"{}}, \mbox{\hyperlink{xbdbf_8h_a96ab4218d70ab603b4866354ce8c18cd}{XB\_FLOAT\_FLD}}, 14, 2 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}MEMO1"{}}, \mbox{\hyperlink{xbdbf_8h_a23fa19b19cb43bd6dcc59a5a3f6c30ad}{XB\_MEMO\_FLD}}, 10, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}"{}},0,0,0 \}\};}
+
+\end{DoxyCode}
+
+
+\doxysubsection{Field Documentation}
+\mbox{\Hypertarget{structxb_1_1xbSchema_a514183856094123fd37df67885b4681e}\label{structxb_1_1xbSchema_a514183856094123fd37df67885b4681e}}
+\index{xb::xbSchema@{xb::xbSchema}!cFieldName@{cFieldName}}
+\index{cFieldName@{cFieldName}!xb::xbSchema@{xb::xbSchema}}
+\doxysubsubsection{\texorpdfstring{cFieldName}{cFieldName}}
+{\footnotesize\ttfamily char xb\+::xb\+Schema\+::c\+Field\+Name\mbox{[}11\mbox{]}}
+
+\mbox{\Hypertarget{structxb_1_1xbSchema_a1d612b2ed5dc0b0289c9e91b3cda3a25}\label{structxb_1_1xbSchema_a1d612b2ed5dc0b0289c9e91b3cda3a25}}
+\index{xb::xbSchema@{xb::xbSchema}!cType@{cType}}
+\index{cType@{cType}!xb::xbSchema@{xb::xbSchema}}
+\doxysubsubsection{\texorpdfstring{cType}{cType}}
+{\footnotesize\ttfamily char xb\+::xb\+Schema\+::c\+Type}
+
+\mbox{\Hypertarget{structxb_1_1xbSchema_a2da554af25ef628acf59bb52996056ac}\label{structxb_1_1xbSchema_a2da554af25ef628acf59bb52996056ac}}
+\index{xb::xbSchema@{xb::xbSchema}!iFieldLen@{iFieldLen}}
+\index{iFieldLen@{iFieldLen}!xb::xbSchema@{xb::xbSchema}}
+\doxysubsubsection{\texorpdfstring{iFieldLen}{iFieldLen}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Schema\+::i\+Field\+Len}
+
+\mbox{\Hypertarget{structxb_1_1xbSchema_a55bab3bb69dee3508d168c93e182d4b9}\label{structxb_1_1xbSchema_a55bab3bb69dee3508d168c93e182d4b9}}
+\index{xb::xbSchema@{xb::xbSchema}!iNoOfDecs@{iNoOfDecs}}
+\index{iNoOfDecs@{iNoOfDecs}!xb::xbSchema@{xb::xbSchema}}
+\doxysubsubsection{\texorpdfstring{iNoOfDecs}{iNoOfDecs}}
+{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Schema\+::i\+No\+Of\+Decs}
+
+
+
+The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbdbf_8h}{xbdbf.\+h}}\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/structxb_1_1xbTblList.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/structxb_1_1xbTblList.tex
new file mode 100644
index 0000000..5984665
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/structxb_1_1xbTblList.tex
@@ -0,0 +1,57 @@
+\hypertarget{structxb_1_1xbTblList}{}\doxysection{xb\+::xb\+Tbl\+List Struct Reference}
+\label{structxb_1_1xbTblList}\index{xb::xbTblList@{xb::xbTblList}}
+
+
+{\ttfamily \#include $<$xbtblmgr.\+h$>$}
+
+\doxysubsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\hyperlink{structxb_1_1xbTblList}{xb\+Tbl\+List}} $\ast$ \mbox{\hyperlink{structxb_1_1xbTblList_a3fd169fcf0fd4df927544e5342db583c}{p\+Next}}
+\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} $\ast$ \mbox{\hyperlink{structxb_1_1xbTblList_aceec65f6f6b585788cf98e8dabd2737d}{ps\+Fq\+Tbl\+Name}}
+\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} $\ast$ \mbox{\hyperlink{structxb_1_1xbTblList_a02c3b0c47fd104ef9758b375ecdcfd0f}{ps\+Tbl\+Name}}
+\item
+\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} $\ast$ \mbox{\hyperlink{structxb_1_1xbTblList_ac87742c8a6b1cf2e7e35218e96966a05}{ps\+Tbl\+Alias}}
+\item
+\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$ \mbox{\hyperlink{structxb_1_1xbTblList_a387d3f6bbf291a1fb96d276ed9bb96b6}{p\+Dbf}}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Field Documentation}
+\mbox{\Hypertarget{structxb_1_1xbTblList_a387d3f6bbf291a1fb96d276ed9bb96b6}\label{structxb_1_1xbTblList_a387d3f6bbf291a1fb96d276ed9bb96b6}}
+\index{xb::xbTblList@{xb::xbTblList}!pDbf@{pDbf}}
+\index{pDbf@{pDbf}!xb::xbTblList@{xb::xbTblList}}
+\doxysubsubsection{\texorpdfstring{pDbf}{pDbf}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}}$\ast$ xb\+::xb\+Tbl\+List\+::p\+Dbf}
+
+\mbox{\Hypertarget{structxb_1_1xbTblList_a3fd169fcf0fd4df927544e5342db583c}\label{structxb_1_1xbTblList_a3fd169fcf0fd4df927544e5342db583c}}
+\index{xb::xbTblList@{xb::xbTblList}!pNext@{pNext}}
+\index{pNext@{pNext}!xb::xbTblList@{xb::xbTblList}}
+\doxysubsubsection{\texorpdfstring{pNext}{pNext}}
+{\footnotesize\ttfamily \mbox{\hyperlink{structxb_1_1xbTblList}{xb\+Tbl\+List}}$\ast$ xb\+::xb\+Tbl\+List\+::p\+Next}
+
+\mbox{\Hypertarget{structxb_1_1xbTblList_aceec65f6f6b585788cf98e8dabd2737d}\label{structxb_1_1xbTblList_aceec65f6f6b585788cf98e8dabd2737d}}
+\index{xb::xbTblList@{xb::xbTblList}!psFqTblName@{psFqTblName}}
+\index{psFqTblName@{psFqTblName}!xb::xbTblList@{xb::xbTblList}}
+\doxysubsubsection{\texorpdfstring{psFqTblName}{psFqTblName}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}}$\ast$ xb\+::xb\+Tbl\+List\+::ps\+Fq\+Tbl\+Name}
+
+\mbox{\Hypertarget{structxb_1_1xbTblList_ac87742c8a6b1cf2e7e35218e96966a05}\label{structxb_1_1xbTblList_ac87742c8a6b1cf2e7e35218e96966a05}}
+\index{xb::xbTblList@{xb::xbTblList}!psTblAlias@{psTblAlias}}
+\index{psTblAlias@{psTblAlias}!xb::xbTblList@{xb::xbTblList}}
+\doxysubsubsection{\texorpdfstring{psTblAlias}{psTblAlias}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}}$\ast$ xb\+::xb\+Tbl\+List\+::ps\+Tbl\+Alias}
+
+\mbox{\Hypertarget{structxb_1_1xbTblList_a02c3b0c47fd104ef9758b375ecdcfd0f}\label{structxb_1_1xbTblList_a02c3b0c47fd104ef9758b375ecdcfd0f}}
+\index{xb::xbTblList@{xb::xbTblList}!psTblName@{psTblName}}
+\index{psTblName@{psTblName}!xb::xbTblList@{xb::xbTblList}}
+\doxysubsubsection{\texorpdfstring{psTblName}{psTblName}}
+{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}}$\ast$ xb\+::xb\+Tbl\+List\+::ps\+Tbl\+Name}
+
+
+
+The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
+\item
+/mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/include/\mbox{\hyperlink{xbtblmgr_8h}{xbtblmgr.\+h}}\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/tabu_doxygen.sty b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/tabu_doxygen.sty
new file mode 100644
index 0000000..3f17d1d
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/tabu_doxygen.sty
@@ -0,0 +1,2557 @@
+%%
+%% This is file `tabu.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tabu.dtx (with options: `package')
+%%
+%% This is a generated file.
+%% Copyright (FC) 2010-2011 - lppl
+%%
+%% tabu : 2011/02/26 v2.8 - tabu : Flexible LaTeX tabulars
+%%
+%% **********************************************************************************************
+%% \begin{tabu} { preamble } => default target: \linewidth or \linegoal
+%% \begin{tabu} to <dimen>{ preamble } => target specified
+%% \begin{tabu} spread <dimen>{ preamble } => target relative to the ``natural width''
+%%
+%% tabu works in text and in math modes.
+%%
+%% X columns: automatic width adjustment + horizontal and vertical alignment
+%% \begin{tabu} { X[4c] X[1c] X[-2ml] }
+%%
+%% Horizontal lines and / or leaders:
+%% \hline\hline => double horizontal line
+%% \firsthline\hline => for nested tabulars
+%% \lasthline\hline => for nested tabulars
+%% \tabucline[line spec]{column-column} => ``funny'' lines (dash/leader)
+%% Automatic lines / leaders :
+%% \everyrow{\hline\hline}
+%%
+%% Vertical lines and / or leaders:
+%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt blue] }
+%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt on 2pt off 4pt blue] }
+%%
+%% Fixed vertical spacing adjustment:
+%% \extrarowheight=<dimen> \extrarowdepth=<dimen>
+%% or: \extrarowsep=<dimen> => may be prefixed by \global
+%%
+%% Dynamic vertical spacing adjustment:
+%% \abovetabulinesep=<dimen> \belowtabulinesep=<dimen>
+%% or: \tabulinesep=<dimen> => may be prefixed by \global
+%%
+%% delarray.sty shortcuts: in math and text modes
+%% \begin{tabu} .... \({ preamble }\)
+%%
+%% Algorithms reports:
+%% \tracingtabu=1 \tracingtabu=2
+%%
+%% **********************************************************************************************
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This work consists of the main source file tabu.dtx
+%% and the derived files
+%% tabu.sty, tabu.pdf, tabu.ins
+%%
+%% tabu : Flexible LaTeX tabulars
+%% lppl copyright 2010-2011 by FC <florent.chervet@free.fr>
+%%
+
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{tabu_doxygen}[2011/02/26 v2.8 - flexible LaTeX tabulars (FC), frozen version for doxygen]
+\RequirePackage{array}[2008/09/09]
+\RequirePackage{varwidth}[2009/03/30]
+\AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined}
+\let\tabu@AtEnd\@empty
+\def\TMP@EnsureCode#1={%
+ \edef\tabu@AtEnd{\tabu@AtEnd
+ \catcode#1 \the\catcode#1}%
+ \catcode#1=%
+}% \TMP@EnsureCode
+\TMP@EnsureCode 33 = 12 % !
+\TMP@EnsureCode 58 = 12 % : (for siunitx)
+\TMP@EnsureCode124 = 12 % |
+\TMP@EnsureCode 36 = 3 % $ = math shift
+\TMP@EnsureCode 38 = 4 % & = tab alignment character
+\TMP@EnsureCode 32 = 10 % space
+\TMP@EnsureCode 94 = 7 % ^
+\TMP@EnsureCode 95 = 8 % _
+%% Constants --------------------------------------------------------
+\newcount \c@taburow \def\thetaburow {\number\c@taburow}
+\newcount \tabu@nbcols
+\newcount \tabu@cnt
+\newcount \tabu@Xcol
+\let\tabu@start \@tempcnta
+\let\tabu@stop \@tempcntb
+\newcount \tabu@alloc \tabu@alloc=\m@ne
+\newcount \tabu@nested
+\def\tabu@alloc@{\global\advance\tabu@alloc \@ne \tabu@nested\tabu@alloc}
+\newdimen \tabu@target
+\newdimen \tabu@spreadtarget
+\newdimen \tabu@naturalX
+\newdimen \tabucolX
+\let\tabu@DELTA \@tempdimc
+\let\tabu@thick \@tempdima
+\let\tabu@on \@tempdimb
+\let\tabu@off \@tempdimc
+\newdimen \tabu@Xsum
+\newdimen \extrarowdepth
+\newdimen \abovetabulinesep
+\newdimen \belowtabulinesep
+\newdimen \tabustrutrule \tabustrutrule \z@
+\newtoks \tabu@thebody
+\newtoks \tabu@footnotes
+\newsavebox \tabu@box
+\newsavebox \tabu@arstrutbox
+\newsavebox \tabu@hleads
+\newsavebox \tabu@vleads
+\newif \iftabu@colortbl
+\newif \iftabu@siunitx
+\newif \iftabu@measuring
+\newif \iftabu@spread
+\newif \iftabu@negcoef
+\newif \iftabu@everyrow
+\def\tabu@everyrowtrue {\global\let\iftabu@everyrow \iftrue}
+\def\tabu@everyrowfalse{\global\let\iftabu@everyrow \iffalse}
+\newif \iftabu@long
+\newif \iftabuscantokens
+\def\tabu@rescan {\tabu@verbatim \scantokens }
+%% Utilities (for internal usage) -----------------------------------
+\def\tabu@gobblespace #1 {#1}
+\def\tabu@gobbletoken #1#2{#1}
+\def\tabu@gobbleX{\futurelet\@let@token \tabu@gobblex}
+\def\tabu@gobblex{\if ^^J\noexpand\@let@token \expandafter\@gobble
+ \else\ifx \@sptoken\@let@token
+ \expandafter\tabu@gobblespace\expandafter\tabu@gobbleX
+ \fi\fi
+}% \tabu@gobblex
+\def\tabu@X{^^J}
+{\obeyspaces
+\global\let\tabu@spxiii= % saves an active space (for \ifx)
+\gdef\tabu@@spxiii{ }}
+\def\tabu@ifenvir {% only for \multicolumn
+ \expandafter\tabu@if@nvir\csname\@currenvir\endcsname
+}% \tabu@ifenvir
+\def\tabu@if@nvir #1{\csname @\ifx\tabu#1first\else
+ \ifx\longtabu#1first\else
+ second\fi\fi oftwo\endcsname
+}% \tabu@ifenvir
+\def\tabu@modulo #1#2{\numexpr\ifnum\numexpr#1=\z@ 0\else #1-(#1-(#2-1)/2)/(#2)*(#2)\fi}
+{\catcode`\&=3
+\gdef\tabu@strtrim #1{% #1 = control sequence to trim
+ \ifodd 1\ifx #1\@empty \else \ifx #1\space \else 0\fi \fi
+ \let\tabu@c@l@r \@empty \let#1\@empty
+ \else \expandafter \tabu@trimspaces #1&#1\@nnil
+ \fi
+}% \tabu@strtrim
+\gdef\tabu@trimspaces #1&#2\@nnil{\let\tabu@c@l@r=#2\tabu@firstspace .#1& &#2}%
+\gdef\tabu@firstspace #1#2#3 &{\tabu@lastspace #2#3&}
+\gdef\tabu@lastspace #1&#2&#3{\def #3{#1}%
+ \ifx #3\tabu@c@l@r \def\tabu@c@l@r{\protect\color{#1}}\expandafter\remove@to@nnil \fi
+ \tabu@trimspaces #1&#3\@nnil}
+}% \catcode
+\def\tabu@sanitizearg #1#2{{%
+ \csname \ifcsname if@safe@actives\endcsname % <babel>
+ @safe@activestrue\else
+ relax\fi \endcsname
+ \edef#2{#1}\tabu@strtrim#2\@onelevel@sanitize#2%
+ \expandafter}\expandafter\def\expandafter#2\expandafter{#2}%
+}% \tabu@sanitizearg
+\def\tabu@textbar #1{\begingroup \endlinechar\m@ne \scantokens{\def\:{|}}%
+ \expandafter\endgroup \expandafter#1\:% !!! semi simple group !!!
+}% \tabu@textbar
+\def\tabu@everyrow@bgroup{\iftabu@everyrow \begingroup \else \noalign{\ifnum0=`}\fi \fi}
+\def\tabu@everyrow@egroup{%
+ \iftabu@everyrow \expandafter \endgroup \the\toks@
+ \else \ifnum0=`{\fi}%
+ \fi
+}% \tabu@everyrow@egroup
+\def\tabu@arstrut {\global\setbox\@arstrutbox \hbox{\vrule
+ height \arraystretch \dimexpr\ht\strutbox+\extrarowheight
+ depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth
+ width \z@}%
+}% \tabu@arstrut
+\def\tabu@rearstrut {%
+ \@tempdima \arraystretch\dimexpr\ht\strutbox+\extrarowheight \relax
+ \@tempdimb \arraystretch\dimexpr\dp\strutbox+\extrarowdepth \relax
+ \ifodd 1\ifdim \ht\@arstrutbox=\@tempdima
+ \ifdim \dp\@arstrutbox=\@tempdimb 0 \fi\fi
+ \tabu@mkarstrut
+ \fi
+}% \tabu@rearstrut
+\def\tabu@@DBG #1{\ifdim\tabustrutrule>\z@ \color{#1}\fi}
+\def\tabu@DBG@arstrut {\global\setbox\@arstrutbox
+ \hbox to\z@{\hbox to\z@{\hss
+ {\tabu@DBG{cyan}\vrule
+ height \arraystretch \dimexpr\ht\strutbox+\extrarowheight
+ depth \z@
+ width \tabustrutrule}\kern-\tabustrutrule
+ {\tabu@DBG{pink}\vrule
+ height \z@
+ depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth
+ width \tabustrutrule}}}%
+}% \tabu@DBG@arstrut
+\def\tabu@save@decl{\toks\count@ \expandafter{\the\toks\expandafter\count@
+ \@nextchar}}%
+\def\tabu@savedecl{\ifcat$\d@llarend\else
+ \let\save@decl \tabu@save@decl \fi % no inversion of tokens in text mode
+}% \tabu@savedecl
+\def\tabu@finalstrut #1{\unskip\ifhmode\nobreak\fi\vrule height\z@ depth\z@ width\z@}
+\newcommand*\tabuDisableCommands {\g@addto@macro\tabu@trialh@@k }
+\let\tabu@trialh@@k \@empty
+\def\tabu@nowrite #1#{{\afterassignment}\toks@}
+\let\tabu@write\write
+\let\tabu@immediate\immediate
+\def\tabu@WRITE{\begingroup
+ \def\immediate\write{\aftergroup\endgroup
+ \tabu@immediate\tabu@write}%
+}% \tabu@WRITE
+\expandafter\def\expandafter\tabu@GenericError\expandafter{%
+ \expandafter\tabu@WRITE\GenericError}
+\def\tabu@warn{\tabu@WRITE\PackageWarning{tabu}}
+\def\tabu@noxfootnote [#1]{\@gobble}
+\def\tabu@nocolor #1#{\@gobble}
+\newcommand*\tabu@norowcolor[2][]{}
+\def\tabu@maybesiunitx #1{\def\tabu@temp{#1}%
+ \futurelet\@let@token \tabu@m@ybesiunitx}
+\def\tabu@m@ybesiunitx #1{\def\tabu@m@ybesiunitx {%
+ \ifx #1\@let@token \let\tabu@cellleft \@empty \let\tabu@cellright \@empty \fi
+ \tabu@temp}% \tabu@m@ybesiunitx
+}\expandafter\tabu@m@ybesiunitx \csname siunitx_table_collect_begin:Nn\endcsname
+\def\tabu@celllalign@def #1{\def\tabu@celllalign{\tabu@maybesiunitx{#1}}}%
+%% Fixed vertical spacing adjustment: \extrarowsep ------------------
+\newcommand*\extrarowsep{\edef\tabu@C@extra{\the\numexpr\tabu@C@extra+1}%
+ \iftabu@everyrow \aftergroup\tabu@Gextra
+ \else \aftergroup\tabu@n@Gextra
+ \fi
+ \@ifnextchar={\tabu@gobbletoken\tabu@extra} \tabu@extra
+}% \extrarowsep
+\def\tabu@extra {\@ifnextchar_%
+ {\tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}}
+ {\ifx ^\@let@token \def\tabu@temp{%
+ \tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}}%
+ \else \let\tabu@temp \@empty
+ \afterassignment \tabu@setextrasep \extrarowdepth
+ \fi \tabu@temp}%
+}% \tabu@extra
+\def\tabu@setextra #1#2{\def\tabu@temp{\tabu@extr@#1#2}\afterassignment\tabu@temp#2}
+\def\tabu@extr@ #1#2{\@ifnextchar^%
+ {\tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}}
+ {\ifx _\@let@token \def\tabu@temp{%
+ \tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}}%
+ \else \let\tabu@temp \@empty
+ \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth
+ \fi \tabu@temp}%
+}% \tabu@extr@
+\def\tabu@setextrasep {\extrarowheight=\extrarowdepth
+ \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth
+}% \tabu@setextrasep
+\def\tabu@Gextra{\ifx \tabu@G@extra\@empty \else {\tabu@Rextra}\fi}
+\def\tabu@n@Gextra{\ifx \tabu@G@extra\@empty \else \noalign{\tabu@Rextra}\fi}
+\def\tabu@Rextra{\tabu@Grestore \tabu@G@extra \tabu@C@extra}
+\let\tabu@C@extra \z@
+\let\tabu@G@extra \@empty
+%% Dynamic vertical spacing adjustment: \tabulinesep ----------------
+\newcommand*\tabulinesep{\edef\tabu@C@linesep{\the\numexpr\tabu@C@linesep+1}%
+ \iftabu@everyrow \aftergroup\tabu@Glinesep
+ \else \aftergroup\tabu@n@Glinesep
+ \fi
+ \@ifnextchar={\tabu@gobbletoken\tabu@linesep} \tabu@linesep
+}% \tabulinesep
+\def\tabu@linesep {\@ifnextchar_%
+ {\tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}}
+ {\ifx ^\@let@token \def\tabu@temp{%
+ \tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}}%
+ \else \let\tabu@temp \@empty
+ \afterassignment \tabu@setlinesep \abovetabulinesep
+ \fi \tabu@temp}%
+}% \tabu@linesep
+\def\tabu@setsep #1#2{\def\tabu@temp{\tabu@sets@p#1#2}\afterassignment\tabu@temp#2}
+\def\tabu@sets@p #1#2{\@ifnextchar^%
+ {\tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}}
+ {\ifx _\@let@token \def\tabu@temp{%
+ \tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}}%
+ \else \let\tabu@temp \@empty
+ \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep
+ \fi \tabu@temp}%
+}% \tabu@sets@p
+\def\tabu@setlinesep {\belowtabulinesep=\abovetabulinesep
+ \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep
+}% \tabu@setlinesep
+\def\tabu@Glinesep{\ifx \tabu@G@linesep\@empty \else {\tabu@Rlinesep}\fi}
+\def\tabu@n@Glinesep{\ifx \tabu@G@linesep\@empty \else \noalign{\tabu@Rlinesep}\fi}
+\def\tabu@Rlinesep{\tabu@Grestore \tabu@G@linesep \tabu@C@linesep}
+\let\tabu@C@linesep \z@
+\let\tabu@G@linesep \@empty
+%% \global\extrarowsep and \global\tabulinesep -------------------
+\def\tabu@Gsave #1#2#3#4{\xdef#1{#1%
+ \toks#2{\toks\the\currentgrouplevel{\global#3\the#3\global#4\the#4}}}%
+}% \tabu@Gsave
+\def\tabu@Grestore#1#2{%
+ \toks#2{}#1\toks\currentgrouplevel\expandafter{\expandafter}\the\toks#2\relax
+ \ifcat$\the\toks\currentgrouplevel$\else
+ \global\let#1\@empty \global\let#2\z@
+ \the\toks\currentgrouplevel
+ \fi
+}% \tabu@Grestore
+%% Setting code for every row ---------------------------------------
+\newcommand*\everyrow{\tabu@everyrow@bgroup
+ \tabu@start \z@ \tabu@stop \z@ \tabu@evrstartstop
+}% \everyrow
+\def\tabu@evrstartstop {\@ifnextchar^%
+ {\afterassignment \tabu@evrstartstop \tabu@stop=}%
+ {\ifx ^\@let@token
+ \afterassignment\tabu@evrstartstop \tabu@start=%
+ \else \afterassignment\tabu@everyr@w \toks@
+ \fi}%
+}% \tabu@evrstartstop
+\def\tabu@everyr@w {%
+ \xdef\tabu@everyrow{%
+ \noexpand\tabu@everyrowfalse
+ \let\noalign \relax
+ \noexpand\tabu@rowfontreset
+ \iftabu@colortbl \noexpand\tabu@rc@ \fi % \taburowcolors
+ \let\noexpand\tabu@docline \noexpand\tabu@docline@evr
+ \the\toks@
+ \noexpand\tabu@evrh@@k
+ \noexpand\tabu@rearstrut
+ \global\advance\c@taburow \@ne}%
+ \iftabu@everyrow \toks@\expandafter
+ {\expandafter\def\expandafter\tabu@evr@L\expandafter{\the\toks@}\ignorespaces}%
+ \else \xdef\tabu@evr@G{\the\toks@}%
+ \fi
+ \tabu@everyrow@egroup
+}% \tabu@everyr@w
+\def\tabu@evr {\def\tabu@evrh@@k} % for internal use only
+\tabu@evr{}
+%% line style and leaders -------------------------------------------
+\newcommand*\newtabulinestyle [1]{%
+ {\@for \@tempa :=#1\do{\expandafter\tabu@newlinestyle \@tempa==\@nil}}%
+}% \newtabulinestyle
+\def\tabu@newlinestyle #1=#2=#3\@nil{\tabu@getline {#2}%
+ \tabu@sanitizearg {#1}\@tempa
+ \ifodd 1\ifx \@tempa\@empty \ifdefined\tabu@linestyle@ 0 \fi\fi
+ \global\expandafter\let
+ \csname tabu@linestyle@\@tempa \endcsname =\tabu@thestyle \fi
+}% \tabu@newlinestyle
+\newcommand*\tabulinestyle [1]{\tabu@everyrow@bgroup \tabu@getline{#1}%
+ \iftabu@everyrow
+ \toks@\expandafter{\expandafter \def \expandafter
+ \tabu@ls@L\expandafter{\tabu@thestyle}\ignorespaces}%
+ \gdef\tabu@ls@{\tabu@ls@L}%
+ \else
+ \global\let\tabu@ls@G \tabu@thestyle
+ \gdef\tabu@ls@{\tabu@ls@G}%
+ \fi
+ \tabu@everyrow@egroup
+}% \tabulinestyle
+\newcommand*\taburulecolor{\tabu@everyrow@bgroup \tabu@textbar \tabu@rulecolor}
+\def\tabu@rulecolor #1{\toks@{}%
+ \def\tabu@temp #1##1#1{\tabu@ruledrsc{##1}}\@ifnextchar #1%
+ \tabu@temp
+ \tabu@rulearc
+}% \tabu@rulecolor
+\def\tabu@ruledrsc #1{\edef\tabu@temp{#1}\tabu@strtrim\tabu@temp
+ \ifx \tabu@temp\@empty \def\tabu@temp{\tabu@rule@drsc@ {}{}}%
+ \else \edef\tabu@temp{\noexpand\tabu@rule@drsc@ {}{\tabu@temp}}%
+ \fi
+ \tabu@temp
+}% \tabu@ruledrsc@
+\def\tabu@ruledrsc@ #1#{\tabu@rule@drsc@ {#1}}
+\def\tabu@rule@drsc@ #1#2{%
+ \iftabu@everyrow
+ \ifx \\#1#2\\\toks@{\let\CT@drsc@ \relax}%
+ \else \toks@{\def\CT@drsc@{\color #1{#2}}}%
+ \fi
+ \else
+ \ifx \\#1#2\\\global\let\CT@drsc@ \relax
+ \else \gdef\CT@drsc@{\color #1{#2}}%
+ \fi
+ \fi
+ \tabu@rulearc
+}% \tabu@rule@drsc@
+\def\tabu@rulearc #1#{\tabu@rule@arc@ {#1}}
+\def\tabu@rule@arc@ #1#2{%
+ \iftabu@everyrow
+ \ifx \\#1#2\\\toks@\expandafter{\the\toks@ \def\CT@arc@{}}%
+ \else \toks@\expandafter{\the\toks@ \def\CT@arc@{\color #1{#2}}}%
+ \fi
+ \toks@\expandafter{\the\toks@
+ \let\tabu@arc@L \CT@arc@
+ \let\tabu@drsc@L \CT@drsc@
+ \ignorespaces}%
+ \else
+ \ifx \\#1#2\\\gdef\CT@arc@{}%
+ \else \gdef\CT@arc@{\color #1{#2}}%
+ \fi
+ \global\let\tabu@arc@G \CT@arc@
+ \global\let\tabu@drsc@G \CT@drsc@
+ \fi
+ \tabu@everyrow@egroup
+}% \tabu@rule@arc@
+\def\taburowcolors {\tabu@everyrow@bgroup \@testopt \tabu@rowcolors 1}
+\def\tabu@rowcolors [#1]#2#{\tabu@rowc@lors{#1}{#2}}
+\def\tabu@rowc@lors #1#2#3{%
+ \toks@{}\@defaultunits \count@ =\number0#2\relax \@nnil
+ \@defaultunits \tabu@start =\number0#1\relax \@nnil
+ \ifnum \count@<\tw@ \count@=\tw@ \fi
+ \advance\tabu@start \m@ne
+ \ifnum \tabu@start<\z@ \tabu@start \z@ \fi
+ \tabu@rowcolorseries #3\in@..\in@ \@nnil
+}% \tabu@rowcolors
+\def\tabu@rowcolorseries #1..#2\in@ #3\@nnil {%
+ \ifx \in@#1\relax
+ \iftabu@everyrow \toks@{\def\tabu@rc@{}\let\tabu@rc@L \tabu@rc@}%
+ \else \gdef\tabu@rc@{}\global\let\tabu@rc@G \tabu@rc@
+ \fi
+ \else
+ \ifx \\#2\\\tabu@rowcolorserieserror \fi
+ \tabu@sanitizearg{#1}\tabu@temp
+ \tabu@sanitizearg{#2}\@tempa
+ \advance\count@ \m@ne
+ \iftabu@everyrow
+ \def\tabu@rc@ ##1##2##3##4{\def\tabu@rc@{%
+ \ifnum ##2=\c@taburow
+ \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{##3}{##4}\fi
+ \ifnum \c@taburow<##2 \else
+ \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\z@
+ \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi
+ \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}%
+ \rowcolor{tabu@rc@\the\tabu@nested}\fi}%
+ }\edef\x{\noexpand\tabu@rc@ {\the\count@}
+ {\the\tabu@start}
+ {\tabu@temp}
+ {\@tempa}%
+ }\x
+ \toks@\expandafter{\expandafter\def\expandafter\tabu@rc@\expandafter{\tabu@rc@}}%
+ \toks@\expandafter{\the\toks@ \let\tabu@rc@L \tabu@rc@ \ignorespaces}%
+ \else % inside \noalign
+ \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{\tabu@temp}{\@tempa}%
+ \expandafter\resetcolorseries\expandafter[\the\count@]{tabu@rcseries@\the\tabu@nested}%
+ \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}%
+ \let\noalign \relax \rowcolor{tabu@rc@\the\tabu@nested}%
+ \def\tabu@rc@ ##1##2{\gdef\tabu@rc@{%
+ \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\@ne
+ \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi
+ \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}%
+ \rowcolor{tabu@rc@\the\tabu@nested}}%
+ }\edef\x{\noexpand\tabu@rc@{\the\count@}{\the\c@taburow}}\x
+ \global\let\tabu@rc@G \tabu@rc@
+ \fi
+ \fi
+ \tabu@everyrow@egroup
+}% \tabu@rowcolorseries
+\tabuDisableCommands {\let\tabu@rc@ \@empty }
+\def\tabu@rowcolorserieserror {\PackageError{tabu}
+ {Invalid syntax for \string\taburowcolors
+ \MessageBreak Please look at the documentation!}\@ehd
+}% \tabu@rowcolorserieserror
+\newcommand*\tabureset {%
+ \tabulinesep=\z@ \extrarowsep=\z@ \extratabsurround=\z@
+ \tabulinestyle{}\everyrow{}\taburulecolor||{}\taburowcolors{}%
+}% \tabureset
+%% Parsing the line styles ------------------------------------------
+\def\tabu@getline #1{\begingroup
+ \csname \ifcsname if@safe@actives\endcsname % <babel>
+ @safe@activestrue\else
+ relax\fi \endcsname
+ \edef\tabu@temp{#1}\tabu@sanitizearg{#1}\@tempa
+ \let\tabu@thestyle \relax
+ \ifcsname tabu@linestyle@\@tempa \endcsname
+ \edef\tabu@thestyle{\endgroup
+ \def\tabu@thestyle{\expandafter\noexpand
+ \csname tabu@linestyle@\@tempa\endcsname}%
+ }\tabu@thestyle
+ \else \expandafter\tabu@definestyle \tabu@temp \@nil
+ \fi
+}% \tabu@getline
+\def\tabu@definestyle #1#2\@nil {\endlinechar \m@ne \makeatletter
+ \tabu@thick \maxdimen \tabu@on \maxdimen \tabu@off \maxdimen
+ \let\tabu@c@lon \@undefined \let\tabu@c@loff \@undefined
+ \ifodd 1\ifcat .#1\else\ifcat\relax #1\else 0\fi\fi % catcode 12 or non expandable cs
+ \def\tabu@temp{\tabu@getparam{thick}}%
+ \else \def\tabu@temp{\tabu@getparam{thick}\maxdimen}%
+ \fi
+ {%
+ \let\tabu@ \relax
+ \def\:{\obeyspaces \tabu@oXIII \tabu@commaXIII \edef\:}% (space active \: happy ;-))
+ \scantokens{\:{\tabu@temp #1#2 \tabu@\tabu@}}%
+ \expandafter}\expandafter
+ \def\expandafter\:\expandafter{\:}% line spec rewritten now ;-)
+ \def\;{\def\:}%
+ \scantokens\expandafter{\expandafter\;\expandafter{\:}}% space is now inactive (catcode 10)
+ \let\tabu@ \tabu@getcolor \:% all arguments are ready now ;-)
+ \ifdefined\tabu@c@lon \else \let\tabu@c@lon\@empty \fi
+ \ifx \tabu@c@lon\@empty \def\tabu@c@lon{\CT@arc@}\fi
+ \ifdefined\tabu@c@loff \else \let\tabu@c@loff \@empty \fi
+ \ifdim \tabu@on=\maxdimen \ifdim \tabu@off<\maxdimen
+ \tabu@on \tabulineon \fi\fi
+ \ifdim \tabu@off=\maxdimen \ifdim \tabu@on<\maxdimen
+ \tabu@off \tabulineoff \fi\fi
+ \ifodd 1\ifdim \tabu@off=\maxdimen \ifdim \tabu@on=\maxdimen 0 \fi\fi
+ \in@true % <leaders>
+ \else \in@false % <rule>
+ \fi
+ \ifdim\tabu@thick=\maxdimen \def\tabu@thick{\arrayrulewidth}%
+ \else \edef\tabu@thick{\the\tabu@thick}%
+ \fi
+ \edef \tabu@thestyle ##1##2{\endgroup
+ \def\tabu@thestyle{%
+ \ifin@ \noexpand\tabu@leadersstyle {\tabu@thick}
+ {\the\tabu@on}{##1}
+ {\the\tabu@off}{##2}%
+ \else \noexpand\tabu@rulesstyle
+ {##1\vrule width \tabu@thick}%
+ {##1\leaders \hrule height \tabu@thick \hfil}%
+ \fi}%
+ }\expandafter \expandafter
+ \expandafter \tabu@thestyle \expandafter
+ \expandafter \expandafter
+ {\expandafter\tabu@c@lon\expandafter}\expandafter{\tabu@c@loff}%
+}% \tabu@definestyle
+{\catcode`\O=\active \lccode`\O=`\o \catcode`\,=\active
+ \lowercase{\gdef\tabu@oXIII {\catcode`\o=\active \let O=\tabu@oxiii}}
+ \gdef\tabu@commaXIII {\catcode`\,=\active \let ,=\space}
+}% \catcode
+\def\tabu@oxiii #1{%
+ \ifcase \ifx n#1\z@ \else
+ \ifx f#1\@ne\else
+ \tw@ \fi\fi
+ \expandafter\tabu@onxiii
+ \or \expandafter\tabu@ofxiii
+ \else o%
+ \fi#1}%
+\def\tabu@onxiii #1#2{%
+ \ifcase \ifx !#2\tw@ \else
+ \ifcat.\noexpand#2\z@ \else
+ \ifx \tabu@spxiii#2\@ne\else
+ \tw@ \fi\fi\fi
+ \tabu@getparam{on}#2\expandafter\@gobble
+ \or \expandafter\tabu@onxiii % (space is active)
+ \else o\expandafter\@firstofone
+ \fi{#1#2}}%
+\def\tabu@ofxiii #1#2{%
+ \ifx #2f\expandafter\tabu@offxiii
+ \else o\expandafter\@firstofone
+ \fi{#1#2}}
+\def\tabu@offxiii #1#2{%
+ \ifcase \ifx !#2\tw@ \else
+ \ifcat.\noexpand#2\z@ \else
+ \ifx\tabu@spxiii#2\@ne \else
+ \tw@ \fi\fi\fi
+ \tabu@getparam{off}#2\expandafter\@gobble
+ \or \expandafter\tabu@offxiii % (space is active)
+ \else o\expandafter\@firstofone
+ \fi{#1#2}}
+\def\tabu@getparam #1{\tabu@ \csname tabu@#1\endcsname=}
+\def\tabu@getcolor #1{% \tabu@ <- \tabu@getcolor after \edef
+ \ifx \tabu@#1\else % no more spec
+ \let\tabu@theparam=#1\afterassignment \tabu@getc@l@r #1\fi
+}% \tabu@getcolor
+\def\tabu@getc@l@r #1\tabu@ {%
+ \def\tabu@temp{#1}\tabu@strtrim \tabu@temp
+ \ifx \tabu@temp\@empty
+ \else%\ifcsname \string\color@\tabu@temp \endcsname % if the color exists
+ \ifx \tabu@theparam \tabu@off \let\tabu@c@loff \tabu@c@l@r
+ \else \let\tabu@c@lon \tabu@c@l@r
+ \fi
+ %\else \tabu@warncolour{\tabu@temp}%
+ \fi%\fi
+ \tabu@ % next spec
+}% \tabu@getc@l@r
+\def\tabu@warncolour #1{\PackageWarning{tabu}
+ {Color #1 is not defined. Default color used}%
+}% \tabu@warncolour
+\def\tabu@leadersstyle #1#2#3#4#5{\def\tabu@leaders{{#1}{#2}{#3}{#4}{#5}}%
+ \ifx \tabu@leaders\tabu@leaders@G \else
+ \tabu@LEADERS{#1}{#2}{#3}{#4}{#5}\fi
+}% \tabu@leadersstyle
+\def\tabu@rulesstyle #1#2{\let\tabu@leaders \@undefined
+ \gdef\tabu@thevrule{#1}\gdef\tabu@thehrule{#2}%
+}% \tabu@rulesstyle
+%% The leaders boxes ------------------------------------------------
+\def\tabu@LEADERS #1#2#3#4#5{%% width, dash, dash color, gap, gap color
+ {\let\color \tabu@color % => during trials -> \color = \tabu@nocolor
+ {% % but the leaders boxes should have colors !
+ \def\@therule{\vrule}\def\@thick{height}\def\@length{width}%
+ \def\@box{\hbox}\def\@unbox{\unhbox}\def\@elt{\wd}%
+ \def\@skip{\hskip}\def\@ss{\hss}\def\tabu@leads{\tabu@hleads}%
+ \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}%
+ \global\let\tabu@thehleaders \tabu@theleaders
+ }%
+ {%
+ \def\@therule{\hrule}\def\@thick{width}\def\@length{height}%
+ \def\@box{\vbox}\def\@unbox{\unvbox}\def\@elt{\ht}%
+ \def\@skip{\vskip}\def\@ss{\vss}\def\tabu@leads{\tabu@vleads}%
+ \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}%
+ \global\let\tabu@thevleaders \tabu@theleaders
+ }%
+ \gdef\tabu@leaders@G{{#1}{#2}{#3}{#4}{#5}}%
+ }%
+}% \tabu@LEADERS
+\def\tabu@therule #1#2{\@therule \@thick#1\@length\dimexpr#2/2 \@depth\z@}
+\def\tabu@l@@d@rs #1#2#3#4#5{%% width, dash, dash color, gap, gap color
+ \global\setbox \tabu@leads=\@box{%
+ {#3\tabu@therule{#1}{#2}}%
+ \ifx\\#5\\\@skip#4\else{#5\tabu@therule{#1}{#4*2}}\fi
+ {#3\tabu@therule{#1}{#2}}}%
+ \global\setbox\tabu@leads=\@box to\@elt\tabu@leads{\@ss
+ {#3\tabu@therule{#1}{#2}}\@unbox\tabu@leads}%
+ \edef\tabu@theleaders ##1{\def\noexpand\tabu@theleaders {%
+ {##1\tabu@therule{#1}{#2}}%
+ \xleaders \copy\tabu@leads \@ss
+ \tabu@therule{0pt}{-#2}{##1\tabu@therule{#1}{#2}}}%
+ }\tabu@theleaders{#3}%
+}% \tabu@l@@d@rs
+%% \tabu \endtabu \tabu* \longtabu \endlongtabu \longtabu* ----------
+\newcommand*\tabu {\tabu@longfalse
+ \ifmmode \def\tabu@ {\array}\def\endtabu {\endarray}%
+ \else \def\tabu@ {\tabu@tabular}\def\endtabu {\endtabular}\fi
+ \expandafter\let\csname tabu*\endcsname \tabu
+ \expandafter\def\csname endtabu*\endcsname{\endtabu}%
+ \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget
+}% {tabu}
+\let\tabu@tabular \tabular % <For LyX: some users redefine \tabular...>
+\expandafter\def\csname tabu*\endcsname{\tabuscantokenstrue \tabu}
+\newcommand*\longtabu {\tabu@longtrue
+ \ifmmode\PackageError{tabu}{longtabu not allowed in math mode}\fi
+ \def\tabu@{\longtable}\def\endlongtabu{\endlongtable}%
+ \LTchunksize=\@M
+ \expandafter\let\csname tabu*\endcsname \tabu
+ \expandafter\def\csname endlongtabu*\endcsname{\endlongtabu}%
+ \let\LT@startpbox \tabu@LT@startpbox % \everypar{ array struts }
+ \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget
+}% {longtabu}
+\expandafter\def\csname longtabu*\endcsname{\tabuscantokenstrue \longtabu}
+\def\tabu@nolongtabu{\PackageError{tabu}
+ {longtabu requires the longtable package}\@ehd}
+%% Read the target and then : \tabular or \@array ------------------
+\def\tabu@settarget {\futurelet\@let@token \tabu@sett@rget }
+\def\tabu@sett@rget {\tabu@target \z@
+ \ifcase \ifx \bgroup\@let@token \z@ \else
+ \ifx \@sptoken\@let@token \@ne \else
+ \if t\@let@token \tw@ \else
+ \if s\@let@token \thr@@\else
+ \z@\fi\fi\fi\fi
+ \expandafter\tabu@begin
+ \or \expandafter\tabu@gobblespace\expandafter\tabu@settarget
+ \or \expandafter\tabu@to
+ \or \expandafter\tabu@spread
+ \fi
+}% \tabu@sett@rget
+\def\tabu@to to{\def\tabu@halignto{to}\tabu@gettarget}
+\def\tabu@spread spread{\tabu@spreadtrue\def\tabu@halignto{spread}\tabu@gettarget}
+\def\tabu@gettarget {\afterassignment\tabu@linegoaltarget \tabu@target }
+\def\tabu@linegoaltarget {\futurelet\tabu@temp \tabu@linegoalt@rget }
+\def\tabu@linegoalt@rget {%
+ \ifx \tabu@temp\LNGL@setlinegoal
+ \LNGL@setlinegoal \expandafter \@firstoftwo \fi % @gobbles \LNGL@setlinegoal
+ \tabu@begin
+}% \tabu@linegoalt@rget
+\def\tabu@begin #1#{%
+ \iftabu@measuring \expandafter\tabu@nestedmeasure \fi
+ \ifdim \tabu@target=\z@ \let\tabu@halignto \@empty
+ \else \edef\tabu@halignto{\tabu@halignto\the\tabu@target}%
+ \fi
+ \@testopt \tabu@tabu@ \tabu@aligndefault #1\@nil
+}% \tabu@begin
+\long\def\tabu@tabu@ [#1]#2\@nil #3{\tabu@setup
+ \def\tabu@align {#1}\def\tabu@savedpream{\NC@find #3}%
+ \tabu@ [\tabu@align ]#2{#3\tabu@rewritefirst }%
+}% \tabu@tabu@
+\def\tabu@nestedmeasure {%
+ \ifodd 1\iftabu@spread \else \ifdim\tabu@target=\z@ \else 0 \fi\fi\relax
+ \tabu@spreadtrue
+ \else \begingroup \iffalse{\fi \ifnum0=`}\fi
+ \toks@{}\def\tabu@stack{b}%
+ \expandafter\tabu@collectbody\expandafter\tabu@quickrule
+ \expandafter\endgroup
+ \fi
+}% \tabu@nestedmeasure
+\def\tabu@quickrule {\indent\vrule height\z@ depth\z@ width\tabu@target}
+%% \tabu@setup \tabu@init \tabu@indent
+\def\tabu@setup{\tabu@alloc@
+ \ifcase \tabu@nested
+ \ifmmode \else \iftabu@spread\else \ifdim\tabu@target=\z@
+ \let\tabu@afterendpar \par
+ \fi\fi\fi
+ \def\tabu@aligndefault{c}\tabu@init \tabu@indent
+ \else % <nested tabu>
+ \def\tabu@aligndefault{t}\let\tabudefaulttarget \linewidth
+ \fi
+ \let\tabu@thetarget \tabudefaulttarget \let\tabu@restored \@undefined
+ \edef\tabu@NC@list{\the\NC@list}\NC@list{\NC@do \tabu@rewritefirst}%
+ \everycr{}\let\@startpbox \tabu@startpbox % for nested tabu inside longtabu...
+ \let\@endpbox \tabu@endpbox % idem " " " " " "
+ \let\@tabarray \tabu@tabarray % idem " " " " " "
+ \tabu@setcleanup \tabu@setreset
+}% \tabu@setup
+\def\tabu@init{\tabu@starttimer \tabu@measuringfalse
+ \edef\tabu@hfuzz {\the\dimexpr\hfuzz+1sp}\global\tabu@footnotes{}%
+ \let\firsthline \tabu@firsthline \let\lasthline \tabu@lasthline
+ \let\firstline \tabu@firstline \let\lastline \tabu@lastline
+ \let\hline \tabu@hline \let\@xhline \tabu@xhline
+ \let\color \tabu@color \let\@arstrutbox \tabu@arstrutbox
+ \iftabu@colortbl\else\let\LT@@hline \tabu@LT@@hline \fi
+ \tabu@trivlist %<restore \\=\@normalcr inside lists>
+ \let\@footnotetext \tabu@footnotetext \let\@xfootnotetext \tabu@xfootnotetext
+ \let\@xfootnote \tabu@xfootnote \let\centering \tabu@centering
+ \let\raggedright \tabu@raggedright \let\raggedleft \tabu@raggedleft
+ \let\tabudecimal \tabu@tabudecimal \let\Centering \tabu@Centering
+ \let\RaggedRight \tabu@RaggedRight \let\RaggedLeft \tabu@RaggedLeft
+ \let\justifying \tabu@justifying \let\rowfont \tabu@rowfont
+ \let\fbox \tabu@fbox \let\color@b@x \tabu@color@b@x
+ \let\tabu@@everycr \everycr \let\tabu@@everypar \everypar
+ \let\tabu@prepnext@tokORI \prepnext@tok\let\prepnext@tok \tabu@prepnext@tok
+ \let\tabu@multicolumnORI\multicolumn \let\multicolumn \tabu@multicolumn
+ \let\tabu@startpbox \@startpbox % for nested tabu inside longtabu pfff !!!
+ \let\tabu@endpbox \@endpbox % idem " " " " " " "
+ \let\tabu@tabarray \@tabarray % idem " " " " " " "
+ \tabu@adl@fix \let\endarray \tabu@endarray % <fix> colortbl & arydshln (delarray)
+ \iftabu@colortbl\CT@everycr\expandafter{\expandafter\iftabu@everyrow \the\CT@everycr \fi}\fi
+}% \tabu@init
+\def\tabu@indent{% correction for indentation
+ \ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget
+ \everypar\expandafter{%
+ \the\everypar\everypar\expandafter{\the\everypar}%
+ \setbox\z@=\lastbox
+ \ifdim\wd\z@>\z@ \edef\tabu@thetarget
+ {\the\dimexpr -\wd\z@+\tabudefaulttarget}\fi
+ \box\z@}%
+ \fi\fi
+}% \tabu@indent
+\def\tabu@setcleanup {% saves last global assignments
+ \ifodd 1\ifmmode \else \iftabu@long \else 0\fi\fi\relax
+ \def\tabu@aftergroupcleanup{%
+ \def\tabu@aftergroupcleanup{\aftergroup\tabu@cleanup}}%
+ \else
+ \def\tabu@aftergroupcleanup{%
+ \aftergroup\aftergroup\aftergroup\tabu@cleanup
+ \let\tabu@aftergroupcleanup \relax}%
+ \fi
+ \let\tabu@arc@Gsave \tabu@arc@G
+ \let\tabu@arc@G \tabu@arc@L % <init>
+ \let\tabu@drsc@Gsave \tabu@drsc@G
+ \let\tabu@drsc@G \tabu@drsc@L % <init>
+ \let\tabu@ls@Gsave \tabu@ls@G
+ \let\tabu@ls@G \tabu@ls@L % <init>
+ \let\tabu@rc@Gsave \tabu@rc@G
+ \let\tabu@rc@G \tabu@rc@L % <init>
+ \let\tabu@evr@Gsave \tabu@evr@G
+ \let\tabu@evr@G \tabu@evr@L % <init>
+ \let\tabu@celllalign@save \tabu@celllalign
+ \let\tabu@cellralign@save \tabu@cellralign
+ \let\tabu@cellleft@save \tabu@cellleft
+ \let\tabu@cellright@save \tabu@cellright
+ \let\tabu@@celllalign@save \tabu@@celllalign
+ \let\tabu@@cellralign@save \tabu@@cellralign
+ \let\tabu@@cellleft@save \tabu@@cellleft
+ \let\tabu@@cellright@save \tabu@@cellright
+ \let\tabu@rowfontreset@save \tabu@rowfontreset
+ \let\tabu@@rowfontreset@save\tabu@@rowfontreset
+ \let\tabu@rowfontreset \@empty
+ \edef\tabu@alloc@save {\the\tabu@alloc}% restore at \tabu@reset
+ \edef\c@taburow@save {\the\c@taburow}%
+ \edef\tabu@naturalX@save {\the\tabu@naturalX}%
+ \let\tabu@naturalXmin@save \tabu@naturalXmin
+ \let\tabu@naturalXmax@save \tabu@naturalXmax
+ \let\tabu@mkarstrut@save \tabu@mkarstrut
+ \edef\tabu@clarstrut{%
+ \extrarowheight \the\dimexpr \ht\@arstrutbox-\ht\strutbox \relax
+ \extrarowdepth \the\dimexpr \dp\@arstrutbox-\dp\strutbox \relax
+ \let\noexpand\@arraystretch \@ne \noexpand\tabu@rearstrut}%
+}% \tabu@setcleanup
+\def\tabu@cleanup {\begingroup
+ \globaldefs\@ne \tabu@everyrowtrue
+ \let\tabu@arc@G \tabu@arc@Gsave
+ \let\CT@arc@ \tabu@arc@G
+ \let\tabu@drsc@G \tabu@drsc@Gsave
+ \let\CT@drsc@ \tabu@drsc@G
+ \let\tabu@ls@G \tabu@ls@Gsave
+ \let\tabu@ls@ \tabu@ls@G
+ \let\tabu@rc@G \tabu@rc@Gsave
+ \let\tabu@rc@ \tabu@rc@G
+ \let\CT@do@color \relax
+ \let\tabu@evr@G \tabu@evr@Gsave
+ \let\tabu@celllalign \tabu@celllalign@save
+ \let\tabu@cellralign \tabu@cellralign@save
+ \let\tabu@cellleft \tabu@cellleft@save
+ \let\tabu@cellright \tabu@cellright@save
+ \let\tabu@@celllalign \tabu@@celllalign@save
+ \let\tabu@@cellralign \tabu@@cellralign@save
+ \let\tabu@@cellleft \tabu@@cellleft@save
+ \let\tabu@@cellright \tabu@@cellright@save
+ \let\tabu@rowfontreset \tabu@rowfontreset@save
+ \let\tabu@@rowfontreset \tabu@@rowfontreset@save
+ \tabu@naturalX =\tabu@naturalX@save
+ \let\tabu@naturalXmax \tabu@naturalXmax@save
+ \let\tabu@naturalXmin \tabu@naturalXmin@save
+ \let\tabu@mkarstrut \tabu@mkarstrut@save
+ \c@taburow =\c@taburow@save
+ \ifcase \tabu@nested \tabu@alloc \m@ne\fi
+ \endgroup % <end of \globaldefs>
+ \ifcase \tabu@nested
+ \the\tabu@footnotes \global\tabu@footnotes{}%
+ \tabu@afterendpar \tabu@elapsedtime
+ \fi
+ \tabu@clarstrut
+ \everyrow\expandafter {\tabu@evr@G}%
+}% \tabu@cleanup
+\let\tabu@afterendpar \relax
+\def\tabu@setreset {%
+ \edef\tabu@savedparams {% \relax for \tabu@message@save
+ \ifmmode \col@sep \the\arraycolsep
+ \else \col@sep \the\tabcolsep \fi \relax
+ \arrayrulewidth \the\arrayrulewidth \relax
+ \doublerulesep \the\doublerulesep \relax
+ \extratabsurround \the\extratabsurround \relax
+ \extrarowheight \the\extrarowheight \relax
+ \extrarowdepth \the\extrarowdepth \relax
+ \abovetabulinesep \the\abovetabulinesep \relax
+ \belowtabulinesep \the\belowtabulinesep \relax
+ \def\noexpand\arraystretch{\arraystretch}%
+ \ifdefined\minrowclearance \minrowclearance\the\minrowclearance\relax\fi}%
+ \begingroup
+ \@temptokena\expandafter{\tabu@savedparams}% => only for \savetabu / \usetabu
+ \ifx \tabu@arc@L\relax \else \tabu@setsave \tabu@arc@L \fi
+ \ifx \tabu@drsc@L\relax \else \tabu@setsave \tabu@drsc@L \fi
+ \tabu@setsave \tabu@ls@L \tabu@setsave \tabu@evr@L
+ \expandafter \endgroup \expandafter
+ \def\expandafter\tabu@saved@ \expandafter{\the\@temptokena
+ \let\tabu@arc@G \tabu@arc@L
+ \let\tabu@drsc@G \tabu@drsc@L
+ \let\tabu@ls@G \tabu@ls@L
+ \let\tabu@rc@G \tabu@rc@L
+ \let\tabu@evr@G \tabu@evr@L}%
+ \def\tabu@reset{\tabu@savedparams
+ \tabu@everyrowtrue \c@taburow \z@
+ \let\CT@arc@ \tabu@arc@L
+ \let\CT@drsc@ \tabu@drsc@L
+ \let\tabu@ls@ \tabu@ls@L
+ \let\tabu@rc@ \tabu@rc@L
+ \global\tabu@alloc \tabu@alloc@save
+ \everyrow\expandafter{\tabu@evr@L}}%
+}% \tabu@reset
+\def\tabu@setsave #1{\expandafter\tabu@sets@ve #1\@nil{#1}}
+\long\def\tabu@sets@ve #1\@nil #2{\@temptokena\expandafter{\the\@temptokena \def#2{#1}}}
+%% The Rewriting Process -------------------------------------------
+\def\tabu@newcolumntype #1{%
+ \expandafter\tabu@new@columntype
+ \csname NC@find@\string#1\expandafter\endcsname
+ \csname NC@rewrite@\string#1\endcsname
+ {#1}%
+}% \tabu@newcolumntype
+\def\tabu@new@columntype #1#2#3{%
+ \def#1##1#3{\NC@{##1}}%
+ \let#2\relax \newcommand*#2%
+}% \tabu@new@columntype
+\def\tabu@privatecolumntype #1{%
+ \expandafter\tabu@private@columntype
+ \csname NC@find@\string#1\expandafter\endcsname
+ \csname NC@rewrite@\string#1\expandafter\endcsname
+ \csname tabu@NC@find@\string#1\expandafter\endcsname
+ \csname tabu@NC@rewrite@\string#1\endcsname
+ {#1}%
+}% \tabu@privatecolumntype
+\def\tabu@private@columntype#1#2#3#4{%
+ \g@addto@macro\tabu@privatecolumns{\let#1#3\let#2#4}%
+ \tabu@new@columntype#3#4%
+}% \tabu@private@columntype
+\let\tabu@privatecolumns \@empty
+\newcommand*\tabucolumn [1]{\expandafter \def \expandafter
+ \tabu@highprioritycolumns\expandafter{\tabu@highprioritycolumns
+ \NC@do #1}}%
+\let\tabu@highprioritycolumns \@empty
+%% The | ``column'' : rewriting process --------------------------
+\tabu@privatecolumntype |{\tabu@rewritevline}
+\newcommand*\tabu@rewritevline[1][]{\tabu@vlinearg{#1}%
+ \expandafter \NC@find \tabu@rewritten}
+\def\tabu@lines #1{%
+ \ifx|#1\else \tabu@privatecolumntype #1{\tabu@rewritevline}\fi
+ \NC@list\expandafter{\the\NC@list \NC@do #1}%
+}% \tabu@lines@
+\def\tabu@vlinearg #1{%
+ \ifx\\#1\\\def\tabu@thestyle {\tabu@ls@}%
+ \else\tabu@getline {#1}%
+ \fi
+ \def\tabu@rewritten ##1{\def\tabu@rewritten{!{##1\tabu@thevline}}%
+ }\expandafter\tabu@rewritten\expandafter{\tabu@thestyle}%
+ \expandafter \tabu@keepls \tabu@thestyle \@nil
+}% \tabu@vlinearg
+\def\tabu@keepls #1\@nil{%
+ \ifcat $\@cdr #1\@nil $%
+ \ifx \relax#1\else
+ \ifx \tabu@ls@#1\else
+ \let#1\relax
+ \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer
+ \tabu@savels\noexpand#1}\fi\fi\fi
+}% \tabu@keepls
+\def\tabu@thevline {\begingroup
+ \ifdefined\tabu@leaders
+ \setbox\@tempboxa=\vtop to\dimexpr
+ \ht\@arstrutbox+\dp\@arstrutbox{{\tabu@thevleaders}}%
+ \ht\@tempboxa=\ht\@arstrutbox \dp\@tempboxa=\dp\@arstrutbox
+ \box\@tempboxa
+ \else
+ \tabu@thevrule
+ \fi \endgroup
+}% \tabu@thevline
+\def\tabu@savels #1{%
+ \expandafter\let\csname\string#1\endcsname #1%
+ \expandafter\def\expandafter\tabu@reset\expandafter{\tabu@reset
+ \tabu@resetls#1}}%
+\def\tabu@resetls #1{\expandafter\let\expandafter#1\csname\string#1\endcsname}%
+%% \multicolumn inside tabu environment -----------------------------
+\tabu@newcolumntype \tabu@rewritemulticolumn{%
+ \aftergroup \tabu@endrewritemulticolumn % after \@mkpream group
+ \NC@list{\NC@do *}\tabu@textbar \tabu@lines
+ \tabu@savedecl
+ \tabu@privatecolumns
+ \NC@list\expandafter{\the\expandafter\NC@list \tabu@NC@list}%
+ \let\tabu@savels \relax
+ \NC@find
+}% \tabu@rewritemulticolumn
+\def\tabu@endrewritemulticolumn{\gdef\tabu@mkpreambuffer{}\endgroup}
+\def\tabu@multicolumn{\tabu@ifenvir \tabu@multic@lumn \tabu@multicolumnORI}
+\long\def\tabu@multic@lumn #1#2#3{\multispan{#1}\begingroup
+ \tabu@everyrowtrue
+ \NC@list{\NC@do \tabu@rewritemulticolumn}%
+ \expandafter\@gobbletwo % gobbles \multispan{#1}
+ \tabu@multicolumnORI{#1}{\tabu@rewritemulticolumn #2}%
+ {\iftabuscantokens \tabu@rescan \else \expandafter\@firstofone \fi
+ {#3}}%
+}% \tabu@multic@lumn
+%% The X column(s): rewriting process -----------------------------
+\tabu@privatecolumntype X[1][]{\begingroup \tabu@siunitx{\endgroup \tabu@rewriteX {#1}}}
+\def\tabu@nosiunitx #1{#1{}{}\expandafter \NC@find \tabu@rewritten }
+\def\tabu@siunitx #1{\@ifnextchar \bgroup
+ {\tabu@rewriteX@Ss{#1}}
+ {\tabu@nosiunitx{#1}}}
+\def\tabu@rewriteX@Ss #1#2{\@temptokena{}%
+ \@defaultunits \let\tabu@temp =#2\relax\@nnil
+ \ifodd 1\ifx S\tabu@temp \else \ifx s\tabu@temp \else 0 \fi\fi
+ \def\NC@find{\def\NC@find >####1####2<####3\relax{#1 {####1}{####3}%
+ }\expandafter\NC@find \the\@temptokena \relax
+ }\expandafter\NC@rewrite@S \@gobble #2\relax
+ \else \tabu@siunitxerror
+ \fi
+ \expandafter \NC@find \tabu@rewritten
+}% \tabu@rewriteX@Ss
+\def\tabu@siunitxerror {\PackageError{tabu}{Not a S nor s column !
+ \MessageBreak X column can only embed siunitx S or s columns}\@ehd
+}% \tabu@siunitxerror
+\def\tabu@rewriteX #1#2#3{\tabu@Xarg {#1}{#2}{#3}%
+ \iftabu@measuring
+ \else \tabu@measuringtrue % first X column found in the preamble
+ \let\@halignto \relax \let\tabu@halignto \relax
+ \iftabu@spread \tabu@spreadtarget \tabu@target \tabu@target \z@
+ \else \tabu@spreadtarget \z@ \fi
+ \ifdim \tabu@target=\z@
+ \setlength\tabu@target \tabu@thetarget
+ \tabu@message{\tabu@message@defaulttarget}%
+ \else \tabu@message{\tabu@message@target}\fi
+ \fi
+}% \tabu@rewriteX
+\def\tabu@rewriteXrestore #1#2#3{\let\@halignto \relax
+ \def\tabu@rewritten{l}}
+\def\tabu@Xarg #1#2#3{%
+ \advance\tabu@Xcol \@ne \let\tabu@Xlcr \@empty
+ \let\tabu@Xdisp \@empty \let\tabu@Xmath \@empty
+ \ifx\\#1\\% <shortcut when no option>
+ \def\tabu@rewritten{p}\tabucolX \p@ % <default coef = 1>
+ \else
+ \let\tabu@rewritten \@empty \let\tabu@temp \@empty \tabucolX \z@
+ \tabu@Xparse {}#1\relax
+ \fi
+ \tabu@Xrewritten{#2}{#3}%
+}% \tabu@Xarg
+\def\tabu@Xparse #1{\futurelet\@let@token \tabu@Xtest}
+\expandafter\def\expandafter\tabu@Xparsespace\space{\tabu@Xparse{}}
+\def\tabu@Xtest{%
+ \ifcase \ifx \relax\@let@token \z@ \else
+ \if ,\@let@token \m@ne\else
+ \if p\@let@token 1\else
+ \if m\@let@token 2\else
+ \if b\@let@token 3\else
+ \if l\@let@token 4\else
+ \if c\@let@token 5\else
+ \if r\@let@token 6\else
+ \if j\@let@token 7\else
+ \if L\@let@token 8\else
+ \if C\@let@token 9\else
+ \if R\@let@token 10\else
+ \if J\@let@token 11\else
+ \ifx \@sptoken\@let@token 12\else
+ \if .\@let@token 13\else
+ \if -\@let@token 13\else
+ \ifcat $\@let@token 14\else
+ 15\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax
+ \or \tabu@Xtype {p}%
+ \or \tabu@Xtype {m}%
+ \or \tabu@Xtype {b}%
+ \or \tabu@Xalign \raggedright\relax
+ \or \tabu@Xalign \centering\relax
+ \or \tabu@Xalign \raggedleft\relax
+ \or \tabu@Xalign \tabu@justify\relax
+ \or \tabu@Xalign \RaggedRight\raggedright
+ \or \tabu@Xalign \Centering\centering
+ \or \tabu@Xalign \RaggedLeft\raggedleft
+ \or \tabu@Xalign \justifying\tabu@justify
+ \or \expandafter \tabu@Xparsespace
+ \or \expandafter \tabu@Xcoef
+ \or \expandafter \tabu@Xm@th
+ \or \tabu@Xcoef{}%
+ \else\expandafter \tabu@Xparse
+ \fi
+}% \tabu@Xtest
+\def\tabu@Xalign #1#2{%
+ \ifx \tabu@Xlcr\@empty \else \PackageWarning{tabu}
+ {Duplicate horizontal alignment specification}\fi
+ \ifdefined#1\def\tabu@Xlcr{#1}\let#1\relax
+ \else \def\tabu@Xlcr{#2}\let#2\relax\fi
+ \expandafter\tabu@Xparse
+}% \tabu@Xalign
+\def\tabu@Xtype #1{%
+ \ifx \tabu@rewritten\@empty \else \PackageWarning{tabu}
+ {Duplicate vertical alignment specification}\fi
+ \def\tabu@rewritten{#1}\expandafter\tabu@Xparse
+}% \tabu@Xtype
+\def\tabu@Xcoef#1{\edef\tabu@temp{\tabu@temp#1}%
+ \afterassignment\tabu@Xc@ef \tabu@cnt\number\if-#10\fi
+}% \tabu@Xcoef
+\def\tabu@Xc@ef{\advance\tabucolX \tabu@temp\the\tabu@cnt\p@
+ \tabu@Xparse{}%
+}% \tabu@Xc@ef
+\def\tabu@Xm@th #1{\futurelet \@let@token \tabu@Xd@sp}
+\def\tabu@Xd@sp{\let\tabu@Xmath=$%
+ \ifx $\@let@token \def\tabu@Xdisp{\displaystyle}%
+ \expandafter\tabu@Xparse
+ \else \expandafter\tabu@Xparse\expandafter{\expandafter}%
+ \fi
+}% \tabu@Xd@sp
+\def\tabu@Xrewritten {%
+ \ifx \tabu@rewritten\@empty \def\tabu@rewritten{p}\fi
+ \ifdim \tabucolX<\z@ \tabu@negcoeftrue
+ \else\ifdim \tabucolX=\z@ \tabucolX \p@
+ \fi\fi
+ \edef\tabu@temp{{\the\tabu@Xcol}{\tabu@strippt\tabucolX}}%
+ \edef\tabu@Xcoefs{\tabu@Xcoefs \tabu@ \tabu@temp}%
+ \edef\tabu@rewritten ##1##2{\def\noexpand\tabu@rewritten{%
+ >{\tabu@Xlcr \ifx$\tabu@Xmath$\tabu@Xdisp\fi ##1}%
+ \tabu@rewritten {\tabu@hsize \tabu@temp}%
+ <{##2\ifx$\tabu@Xmath$\fi}}%
+ }\tabu@rewritten
+}% \tabu@Xrewritten
+\def\tabu@hsize #1#2{%
+ \ifdim #2\p@<\z@
+ \ifdim \tabucolX=\maxdimen \tabu@wd{#1}\else
+ \ifdim \tabu@wd{#1}<-#2\tabucolX \tabu@wd{#1}\else -#2\tabucolX\fi
+ \fi
+ \else #2\tabucolX
+ \fi
+}% \tabu@hsize
+%% \usetabu and \preamble: rewriting process ---------------------
+\tabu@privatecolumntype \usetabu [1]{%
+ \ifx\\#1\\\tabu@saveerr{}\else
+ \@ifundefined{tabu@saved@\string#1}
+ {\tabu@saveerr{#1}}
+ {\let\tabu@rewriteX \tabu@rewriteXrestore
+ \csname tabu@saved@\string#1\expandafter\endcsname\expandafter\@ne}%
+ \fi
+}% \NC@rewrite@\usetabu
+\tabu@privatecolumntype \preamble [1]{%
+ \ifx\\#1\\\tabu@saveerr{}\else
+ \@ifundefined{tabu@saved@\string#1}
+ {\tabu@saveerr{#1}}
+ {\csname tabu@saved@\string#1\expandafter\endcsname\expandafter\z@}%
+ \fi
+}% \NC@rewrite@\preamble
+%% Controlling the rewriting process -------------------------------
+\tabu@newcolumntype \tabu@rewritefirst{%
+ \iftabu@long \aftergroup \tabu@longpream % <the whole implementation is here !>
+ \else \aftergroup \tabu@pream
+ \fi
+ \let\tabu@ \relax \let\tabu@hsize \relax
+ \let\tabu@Xcoefs \@empty \let\tabu@savels \relax
+ \tabu@Xcol \z@ \tabu@cnt \tw@
+ \gdef\tabu@mkpreambuffer{\tabu@{}}\tabu@measuringfalse
+ \global\setbox\@arstrutbox \box\@arstrutbox
+ \NC@list{\NC@do *}\tabu@textbar \tabu@lines
+ \NC@list\expandafter{\the\NC@list \NC@do X}%
+ \iftabu@siunitx % <siunitx S and s columns>
+ \NC@list\expandafter{\the\NC@list \NC@do S\NC@do s}\fi
+ \NC@list\expandafter{\the\expandafter\NC@list \tabu@highprioritycolumns}%
+ \expandafter\def\expandafter\tabu@NC@list\expandafter{%
+ \the\expandafter\NC@list \tabu@NC@list}% % * | X S <original>
+ \NC@list\expandafter{\expandafter \NC@do \expandafter\usetabu
+ \expandafter \NC@do \expandafter\preamble
+ \the\NC@list \NC@do \tabu@rewritemiddle
+ \NC@do \tabu@rewritelast}%
+ \tabu@savedecl
+ \tabu@privatecolumns
+ \edef\tabu@prev{\the\@temptokena}\NC@find \tabu@rewritemiddle
+}% NC@rewrite@\tabu@rewritefirst
+\tabu@newcolumntype \tabu@rewritemiddle{%
+ \edef\tabu@temp{\the\@temptokena}\NC@find \tabu@rewritelast
+}% \NC@rewrite@\tabu@rewritemiddle
+\tabu@newcolumntype \tabu@rewritelast{%
+ \ifx \tabu@temp\tabu@prev \advance\tabu@cnt \m@ne
+ \NC@list\expandafter{\tabu@NC@list \NC@do \tabu@rewritemiddle
+ \NC@do \tabu@rewritelast}%
+ \else \let\tabu@prev\tabu@temp
+ \fi
+ \ifcase \tabu@cnt \expandafter\tabu@endrewrite
+ \else \expandafter\NC@find \expandafter\tabu@rewritemiddle
+ \fi
+}% \NC@rewrite@\tabu@rewritelast
+%% Choosing the strategy --------------------------------------------
+\def\tabu@endrewrite {%
+ \let\tabu@temp \NC@find
+ \ifx \@arrayright\relax \let\@arrayright \@empty \fi
+ \count@=%
+ \ifx \@finalstrut\tabu@finalstrut \z@ % outer in mode 0 print
+ \iftabu@measuring
+ \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer
+ \tabu@target \csname tabu@\the\tabu@nested.T\endcsname
+ \tabucolX \csname tabu@\the\tabu@nested.X\endcsname
+ \edef\@halignto {\ifx\@arrayright\@empty to\tabu@target\fi}}%
+ \fi
+ \else\iftabu@measuring 4 % X columns
+ \xdef\tabu@mkpreambuffer{\tabu@{\tabu@mkpreambuffer
+ \tabu@target \the\tabu@target
+ \tabu@spreadtarget \the\tabu@spreadtarget}%
+ \def\noexpand\tabu@Xcoefs{\tabu@Xcoefs}%
+ \edef\tabu@halignto{\ifx \@arrayright\@empty to\tabu@target\fi}}%
+ \let\tabu@Xcoefs \relax
+ \else\ifcase\tabu@nested \thr@@ % outer, no X
+ \global\let\tabu@afterendpar \relax
+ \else \@ne % inner, no X, outer in mode 1 or 2
+ \fi
+ \ifdefined\tabu@usetabu
+ \else \ifdim\tabu@target=\z@
+ \else \let\tabu@temp \tabu@extracolsep
+ \fi\fi
+ \fi
+ \fi
+ \xdef\tabu@mkpreambuffer{\count@ \the\count@ \tabu@mkpreambuffer}%
+ \tabu@temp
+}% \tabu@endrewrite
+\def\tabu@extracolsep{\@defaultunits \expandafter\let
+ \expandafter\tabu@temp \expandafter=\the\@temptokena \relax\@nnil
+ \ifx \tabu@temp\@sptoken
+ \expandafter\tabu@gobblespace \expandafter\tabu@extracolsep
+ \else
+ \edef\tabu@temp{\noexpand\NC@find
+ \if |\noexpand\tabu@temp @%
+ \else\if !\noexpand\tabu@temp @%
+ \else !%
+ \fi\fi
+ {\noexpand\extracolsep\noexpand\@flushglue}}%
+ \fi
+ \tabu@temp
+}% \tabu@extrac@lsep
+%% Implementing the strategy ----------------------------------------
+\long\def\tabu@pream #1\@preamble {%
+ \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup
+ \NC@list\expandafter {\tabu@NC@list}% in case of nesting...
+ \ifdefined\tabu@usetabu \tabu@usetabu \tabu@target \z@ \fi
+ \let\tabu@savedpreamble \@preamble
+ \global\let\tabu@elapsedtime \relax
+ \tabu@thebody ={#1\tabu@aftergroupcleanup}%
+ \tabu@thebody =\expandafter{\the\expandafter\tabu@thebody
+ \@preamble}%
+ \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens )
+ \tabu@select
+}% \tabu@pream
+\long\def\tabu@longpream #1\LT@bchunk #2\LT@bchunk{%
+ \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup
+ \NC@list\expandafter {\tabu@NC@list}% in case of nesting...
+ \let\tabu@savedpreamble \@preamble
+ \global\let\tabu@elapsedtime \relax
+ \tabu@thebody ={#1\LT@bchunk #2\tabu@aftergroupcleanup \LT@bchunk}%
+ \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens )
+ \tabu@select
+}% \tabu@longpream
+\def\tabu@select {%
+ \ifnum\tabu@nested>\z@ \tabuscantokensfalse \fi
+ \ifnum \count@=\@ne \iftabu@measuring \count@=\tw@ \fi\fi
+ \ifcase \count@
+ \global\let\tabu@elapsedtime \relax
+ \tabu@seteverycr
+ \expandafter \tabuthepreamble % vertical adjustment (inherited from outer)
+ \or % exit in vertical measure + struts per cell because no X and outer in mode 3
+ \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}%
+ \def\tabu@cellralign{\tabu@verticalspacing}%
+ \tabu@seteverycr
+ \expandafter \tabuthepreamble
+ \or % exit without measure because no X and outer in mode 4
+ \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty
+ \tabu@seteverycr
+ \expandafter \tabuthepreamble
+ \else % needs trials
+ \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty
+ \tabu@savecounters
+ \expandafter \tabu@setstrategy
+ \fi
+}% \tabu@select
+\def\tabu@@ {\gdef\tabu@mkpreambuffer}
+%% Protections to set up before trials ------------------------------
+\def\tabu@setstrategy {\begingroup % <trials group>
+ \tabu@trialh@@k \tabu@cnt \z@ % number of trials
+ \hbadness \@M \let\hbadness \@tempcnta
+ \hfuzz \maxdimen \let\hfuzz \@tempdima
+ \let\write \tabu@nowrite\let\GenericError \tabu@GenericError
+ \let\savetabu \@gobble \let\tabudefaulttarget \linewidth
+ \let\@footnotetext \@gobble \let\@xfootnote \tabu@xfootnote
+ \let\color \tabu@nocolor\let\rowcolor \tabu@norowcolor
+ \let\tabu@aftergroupcleanup \relax % only after the last trial
+ \tabu@mkpreambuffer
+ \ifnum \count@>\thr@@ \let\@halignto \@empty \tabucolX@init
+ \def\tabu@lasttry{\m@ne\p@}\fi
+ \begingroup \iffalse{\fi \ifnum0=`}\fi
+ \toks@{}\def\tabu@stack{b}\iftabuscantokens \endlinechar=10 \obeyspaces \fi %
+ \tabu@collectbody \tabu@strategy %
+}% \tabu@setstrategy
+\def\tabu@savecounters{%
+ \def\@elt ##1{\csname c@##1\endcsname\the\csname c@##1\endcsname}%
+ \edef\tabu@clckpt {\begingroup \globaldefs=\@ne \cl@@ckpt \endgroup}\let\@elt \relax
+}% \tabu@savecounters
+\def\tabucolX@init {% \tabucolX <= \tabu@target / (sum coefs > 0)
+ \dimen@ \z@ \tabu@Xsum \z@ \tabucolX \z@ \let\tabu@ \tabu@Xinit \tabu@Xcoefs
+ \ifdim \dimen@>\z@
+ \@tempdima \dimexpr \tabu@target *\p@/\dimen@ + \tabu@hfuzz\relax
+ \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi
+ \fi
+}% \tabucolX@init
+\def\tabu@Xinit #1#2{\tabu@Xcol #1 \advance \tabu@Xsum
+ \ifdim #2\p@>\z@ #2\p@ \advance\dimen@ #2\p@
+ \else -#2\p@ \tabu@negcoeftrue
+ \@tempdima \dimexpr \tabu@target*\p@/\dimexpr-#2\p@\relax \relax
+ \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi
+ \tabu@wddef{#1}{0pt}%
+ \fi
+}% \tabu@Xinit
+%% Collecting the environment body ----------------------------------
+\long\def\tabu@collectbody #1#2\end #3{%
+ \edef\tabu@stack{\tabu@pushbegins #2\begin\end\expandafter\@gobble\tabu@stack}%
+ \ifx \tabu@stack\@empty
+ \toks@\expandafter{\expandafter\tabu@thebody\expandafter{\the\toks@ #2}%
+ \def\tabu@end@envir{\end{#3}}%
+ \iftabuscantokens
+ \iftabu@long \def\tabu@endenvir {\end{#3}\tabu@gobbleX}%
+ \else \def\tabu@endenvir {\let\endarray \@empty
+ \end{#3}\tabu@gobbleX}%
+ \fi
+ \else \def\tabu@endenvir {\end{#3}}\fi}%
+ \let\tabu@collectbody \tabu@endofcollect
+ \else\def\tabu@temp{#3}%
+ \ifx \tabu@temp\@empty \toks@\expandafter{\the\toks@ #2\end }%
+ \else \ifx\tabu@temp\tabu@@spxiii \toks@\expandafter{\the\toks@ #2\end #3}%
+ \else \ifx\tabu@temp\tabu@X \toks@\expandafter{\the\toks@ #2\end #3}%
+ \else \toks@\expandafter{\the\toks@ #2\end{#3}}%
+ \fi\fi\fi
+ \fi
+ \tabu@collectbody{#1}%
+}% \tabu@collectbody
+\long\def\tabu@pushbegins#1\begin#2{\ifx\end#2\else b\expandafter\tabu@pushbegins\fi}%
+\def\tabu@endofcollect #1{\ifnum0=`{}\fi
+ \expandafter\endgroup \the\toks@ #1%
+}% \tabu@endofcollect
+%% The trials: switching between strategies -------------------------
+\def\tabu@strategy {\relax % stops \count@ assignment !
+ \ifcase\count@ % case 0 = print with vertical adjustment (outer is finished)
+ \expandafter \tabu@endoftrials
+ \or % case 1 = exit in vertical measure (outer in mode 3)
+ \expandafter\xdef\csname tabu@\the\tabu@nested.T\endcsname{\the\tabu@target}%
+ \expandafter\xdef\csname tabu@\the\tabu@nested.X\endcsname{\the\tabucolX}%
+ \expandafter \tabu@endoftrials
+ \or % case 2 = exit with a rule replacing the table (outer in mode 4)
+ \expandafter \tabu@quickend
+ \or % case 3 = outer is in mode 3 because of no X
+ \begingroup
+ \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}%
+ \def\tabu@cellralign{\tabu@verticalspacing}%
+ \expandafter \tabu@measuring
+ \else % case 4 = horizontal measure
+ \begingroup
+ \global\let\tabu@elapsedtime \tabu@message@etime
+ \long\def\multicolumn##1##2##3{\multispan{##1}}%
+ \let\tabu@startpboxORI \@startpbox
+ \iftabu@spread
+ \def\tabu@naturalXmax {\z@}%
+ \let\tabu@naturalXmin \tabu@naturalXmax
+ \tabu@evr{\global\tabu@naturalX \z@}%
+ \let\@startpbox \tabu@startpboxmeasure
+ \else\iftabu@negcoef
+ \let\@startpbox \tabu@startpboxmeasure
+ \else \let\@startpbox \tabu@startpboxquick
+ \fi\fi
+ \expandafter \tabu@measuring
+ \fi
+}% \tabu@strategy
+\def\tabu@measuring{\expandafter \tabu@trial \expandafter
+ \count@ \the\count@ \tabu@endtrial
+}% \tabu@measuring
+\def\tabu@trial{\iftabu@long \tabu@longtrial \else \tabu@shorttrial \fi}
+\def\tabu@shorttrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr
+ \ifx \tabu@savecounters\relax \else
+ \let\tabu@savecounters \relax \tabu@clckpt \fi
+ $\iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi
+ \expandafter{\expandafter \tabuthepreamble
+ \the\tabu@thebody
+ \csname tabu@adl@endtrial\endcsname
+ \endarray}$\egroup % got \tabu@box
+}% \tabu@shorttrial
+\def\tabu@longtrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr
+ \ifx \tabu@savecounters\relax \else
+ \let\tabu@savecounters \relax \tabu@clckpt \fi
+ \iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi
+ \expandafter{\expandafter \tabuthepreamble
+ \the\tabu@thebody
+ \tabuendlongtrial}\egroup % got \tabu@box
+}% \tabu@longtrial
+\def\tabuendlongtrial{% no @ allowed for \scantokens
+ \LT@echunk \global\setbox\@ne \hbox{\unhbox\@ne}\kern\wd\@ne
+ \LT@get@widths
+}% \tabuendlongtrial
+\def\tabu@adl@endtrial{% <arydshln in nested trials - problem for global column counters!>
+ \crcr \noalign{\global\adl@ncol \tabu@nbcols}}% anything global is crap, junky and fails !
+\def\tabu@seteverycr {\tabu@reset
+ \everycr \expandafter{\the\everycr \tabu@everycr}%
+ \let\everycr \tabu@noeverycr % <for ialign>
+}% \tabu@seteverycr
+\def\tabu@noeverycr{{\aftergroup\tabu@restoreeverycr \afterassignment}\toks@}
+\def\tabu@restoreeverycr {\let\everycr \tabu@@everycr}
+\def\tabu@everycr {\iftabu@everyrow \noalign{\tabu@everyrow}\fi}
+\def\tabu@endoftrials {%
+ \iftabuscantokens \expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
+ \fi
+ {\expandafter \tabu@closetrialsgroup \expandafter
+ \tabu@rescan \expandafter{%
+ \expandafter\tabuthepreamble
+ \the\expandafter\tabu@thebody
+ \iftabu@long \else \endarray \fi}}
+ {\expandafter\tabu@closetrialsgroup \expandafter
+ \tabuthepreamble
+ \the\tabu@thebody}%
+ \tabu@endenvir % Finish !
+}% \tabu@endoftrials
+\def\tabu@closetrialsgroup {%
+ \toks@\expandafter{\tabu@endenvir}%
+ \edef\tabu@bufferX{\endgroup
+ \tabucolX \the\tabucolX
+ \tabu@target \the\tabu@target
+ \tabu@cnt \the\tabu@cnt
+ \def\noexpand\tabu@endenvir{\the\toks@}%
+ %Quid de \@halignto = \tabu@halignto ??
+ }% \tabu@bufferX
+ \tabu@bufferX
+ \ifcase\tabu@nested % print out (outer in mode 0)
+ \global\tabu@cnt \tabu@cnt
+ \tabu@evr{\tabu@verticaldynamicadjustment}%
+ \tabu@celllalign@def{\everypar{}}\let\tabu@cellralign \@empty
+ \let\@finalstrut \tabu@finalstrut
+ \else % vertical measure of nested tabu
+ \tabu@evr{\tabu@verticalinit}%
+ \tabu@celllalign@def{\tabu@verticalmeasure}%
+ \def\tabu@cellralign{\tabu@verticalspacing}%
+ \fi
+ \tabu@clckpt \let\@halignto \tabu@halignto
+ \let\@halignto \@empty
+ \tabu@seteverycr
+ \ifdim \tabustrutrule>\z@ \ifnum\tabu@nested=\z@
+ \setbox\@arstrutbox \box\voidb@x % force \@arstrutbox to be rebuilt (visible struts)
+ \fi\fi
+}% \tabu@closetrialsgroup
+\def\tabu@quickend {\expandafter \endgroup \expandafter
+ \tabu@target \the\tabu@target \tabu@quickrule
+ \let\endarray \relax \tabu@endenvir
+}% \tabu@quickend
+\def\tabu@endtrial {\relax % stops \count@ assignment !
+ \ifcase \count@ \tabu@err % case 0 = impossible here
+ \or \tabu@err % case 1 = impossible here
+ \or \tabu@err % case 2 = impossible here
+ \or % case 3 = outer goes into mode 0
+ \def\tabu@bufferX{\endgroup}\count@ \z@
+ \else % case 4 = outer goes into mode 3
+ \iftabu@spread \tabu@spreadarith % inner into mode 1 (outer in mode 3)
+ \else \tabu@arith % or 2 (outer in mode 4)
+ \fi
+ \count@=%
+ \ifcase\tabu@nested \thr@@ % outer goes into mode 3
+ \else\iftabu@measuring \tw@ % outer is in mode 4
+ \else \@ne % outer is in mode 3
+ \fi\fi
+ \edef\tabu@bufferX{\endgroup
+ \tabucolX \the\tabucolX
+ \tabu@target \the\tabu@target}%
+ \fi
+ \expandafter \tabu@bufferX \expandafter
+ \count@ \the\count@ \tabu@strategy
+}% \tabu@endtrial
+\def\tabu@err{\errmessage{(tabu) Internal impossible error! (\count@=\the\count@)}}
+%% The algorithms: compute the widths / stop or go on ---------------
+\def\tabu@arithnegcoef {%
+ \@tempdima \z@ \dimen@ \z@ \let\tabu@ \tabu@arith@negcoef \tabu@Xcoefs
+}% \tabu@arithnegcoef
+\def\tabu@arith@negcoef #1#2{%
+ \ifdim #2\p@>\z@ \advance\dimen@ #2\p@ % saturated by definition
+ \advance\@tempdima #2\tabucolX
+ \else
+ \ifdim -#2\tabucolX <\tabu@wd{#1}% c_i X < natural width <= \tabu@target-> saturated
+ \advance\dimen@ -#2\p@
+ \advance\@tempdima -#2\tabucolX
+ \else
+ \advance\@tempdima \tabu@wd{#1}% natural width <= c_i X => neutralised
+ \ifdim \tabu@wd{#1}<\tabu@target \else % neutralised
+ \advance\dimen@ -#2\p@ % saturated (natural width = tabu@target)
+ \fi
+ \fi
+ \fi
+}% \tabu@arith@negcoef
+\def\tabu@givespace #1#2{% here \tabu@DELTA < \z@
+ \ifdim \@tempdima=\z@
+ \tabu@wddef{#1}{\the\dimexpr -\tabu@DELTA*\p@/\tabu@Xsum}%
+ \else
+ \tabu@wddef{#1}{\the\dimexpr \tabu@hsize{#1}{#2}
+ *(\p@ -\tabu@DELTA*\p@/\@tempdima)/\p@\relax}%
+ \fi
+}% \tabu@givespace
+\def\tabu@arith {\advance\tabu@cnt \@ne
+ \ifnum \tabu@cnt=\@ne \tabu@message{\tabu@titles}\fi
+ \tabu@arithnegcoef
+ \@tempdimb \dimexpr \wd\tabu@box -\@tempdima \relax % <incompressible material>
+ \tabu@DELTA = \dimexpr \wd\tabu@box - \tabu@target \relax
+ \tabu@message{\tabu@message@arith}%
+ \ifdim \tabu@DELTA <\tabu@hfuzz
+ \ifdim \tabu@DELTA<\z@ % wd (tabu)<\tabu@target ?
+ \let\tabu@ \tabu@givespace \tabu@Xcoefs
+ \advance\@tempdima \@tempdimb \advance\@tempdima -\tabu@DELTA % for message
+ \else % already converged: nothing to do but nearly impossible...
+ \fi
+ \tabucolX \maxdimen
+ \tabu@measuringfalse
+ \else % need for narrower X columns
+ \tabucolX =\dimexpr (\@tempdima -\tabu@DELTA) *\p@/\tabu@Xsum \relax
+ \tabu@measuringtrue
+ \@whilesw \iftabu@measuring\fi {%
+ \advance\tabu@cnt \@ne
+ \tabu@arithnegcoef
+ \tabu@DELTA =\dimexpr \@tempdima+\@tempdimb -\tabu@target \relax % always < 0 here
+ \tabu@message{\tabu@header
+ \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@
+ \tabu@msgalign \@tempdima+\@tempdimb { }{ }{ }{ }{ }\@@
+ \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@
+ \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@
+ \ifdim -\tabu@DELTA<\tabu@hfuzz \tabu@spaces target ok\else
+ \tabu@msgalign \dimexpr -\tabu@DELTA *\p@/\dimen@ {}{}{}{}{}\@@
+ \fi}%
+ \ifdim -\tabu@DELTA<\tabu@hfuzz
+ \advance\@tempdima \@tempdimb % for message
+ \tabu@measuringfalse
+ \else
+ \advance\tabucolX \dimexpr -\tabu@DELTA *\p@/\dimen@ \relax
+ \fi
+ }%
+ \fi
+ \tabu@message{\tabu@message@reached}%
+ \edef\tabu@bufferX{\endgroup \tabu@cnt \the\tabu@cnt
+ \tabucolX \the\tabucolX
+ \tabu@target \the\tabu@target}%
+}% \tabu@arith
+\def\tabu@spreadarith {%
+ \dimen@ \z@ \@tempdima \tabu@naturalXmax \let\tabu@ \tabu@spread@arith \tabu@Xcoefs
+ \edef\tabu@naturalXmin {\the\dimexpr\tabu@naturalXmin*\dimen@/\p@}%
+ \@tempdimc =\dimexpr \wd\tabu@box -\tabu@naturalXmax+\tabu@naturalXmin \relax
+ \iftabu@measuring
+ \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax
+ \edef\tabu@bufferX{\endgroup \tabucolX \the\tabucolX \tabu@target\the\tabu@target}%
+ \else
+ \tabu@message{\tabu@message@spreadarith}%
+ \ifdim \dimexpr \@tempdimc+\tabu@spreadtarget >\tabu@target
+ \tabu@message{(tabu) spread
+ \ifdim \@tempdimc>\tabu@target useless here: default target used%
+ \else too large: reduced to fit default target\fi.}%
+ \else
+ \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax
+ \tabu@message{(tabu) spread: New target set to \the\tabu@target^^J}%
+ \fi
+ \begingroup \let\tabu@wddef \@gobbletwo
+ \@tempdimb \@tempdima
+ \tabucolX@init
+ \tabu@arithnegcoef
+ \wd\tabu@box =\dimexpr \wd\tabu@box +\@tempdima-\@tempdimb \relax
+ \expandafter\endgroup \expandafter\tabucolX \the\tabucolX
+ \tabu@arith
+ \fi
+}% \tabu@spreadarith
+\def\tabu@spread@arith #1#2{%
+ \ifdim #2\p@>\z@ \advance\dimen@ #2\p@
+ \else \advance\@tempdima \tabu@wd{#1}\relax
+ \fi
+}% \tabu@spread@arith
+%% Reporting in the .log file ---------------------------------------
+\def\tabu@message@defaulttarget{%
+ \ifnum\tabu@nested=\z@^^J(tabu) Default target:
+ \ifx\tabudefaulttarget\linewidth \string\linewidth
+ \ifdim \tabu@thetarget=\linewidth \else
+ -\the\dimexpr\linewidth-\tabu@thetarget\fi =
+ \else\ifx\tabudefaulttarget\linegoal\string\linegoal=
+ \fi\fi
+ \else (tabu) Default target (nested): \fi
+ \the\tabu@target \on@line
+ \ifnum\tabu@nested=\z@ , page \the\c@page\fi}
+\def\tabu@message@target {^^J(tabu) Target specified:
+ \the\tabu@target \on@line, page \the\c@page}
+\def\tabu@message@arith {\tabu@header
+ \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@
+ \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{ }\@@
+ \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@
+ \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@
+ \ifdim \tabu@DELTA<\tabu@hfuzz giving space\else
+ \tabu@msgalign \dimexpr (\@tempdima-\tabu@DELTA) *\p@/\tabu@Xsum -\tabucolX {}{}{}{}{}\@@
+ \fi
+}% \tabu@message@arith
+\def\tabu@message@spreadarith {\tabu@spreadheader
+ \tabu@msgalign \tabu@spreadtarget { }{ }{ }{ }{}\@@
+ \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{}\@@
+ \tabu@msgalign -\tabu@naturalXmax { }{}{}{}{}\@@
+ \tabu@msgalign \tabu@naturalXmin { }{ }{ }{ }{}\@@
+ \tabu@msgalign \ifdim \dimexpr\@tempdimc>\tabu@target \tabu@target
+ \else \@tempdimc+\tabu@spreadtarget \fi
+ {}{}{}{}{}\@@}
+\def\tabu@message@negcoef #1#2{
+ \tabu@spaces\tabu@spaces\space * #1. X[\rem@pt#2]:
+ \space width = \tabu@wd {#1}
+ \expandafter\string\csname tabu@\the\tabu@nested.W\number#1\endcsname
+ \ifdim -\tabu@pt#2\tabucolX<\tabu@target
+ < \number-\rem@pt#2 X
+ = \the\dimexpr -\tabu@pt#2\tabucolX \relax
+ \else
+ <= \the\tabu@target\space < \number-\rem@pt#2 X\fi}
+\def\tabu@message@reached{\tabu@header
+ ******* Reached Target:
+ hfuzz = \tabu@hfuzz\on@line\space *******}
+\def\tabu@message@etime{\edef\tabu@stoptime{\the\pdfelapsedtime}%
+ \tabu@message{(tabu)\tabu@spaces Time elapsed during measure:
+ \the\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax sec
+ \the\numexpr\numexpr(\tabu@stoptime-\tabu@starttime)
+ -\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax*65536\relax
+ *1000/65536\relax ms \tabu@spaces(\the\tabu@cnt\space
+ cycle\ifnum\tabu@cnt>\@ne s\fi)^^J^^J}}
+\def\tabu@message@verticalsp {%
+ \ifdim \@tempdima>\tabu@ht
+ \ifdim \@tempdimb>\tabu@dp
+ \expandafter\expandafter\expandafter\string\tabu@ht =
+ \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@
+ \expandafter\expandafter\expandafter\string\tabu@dp =
+ \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J%
+ \else
+ \expandafter\expandafter\expandafter\string\tabu@ht =
+ \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@^^J%
+ \fi
+ \else\ifdim \@tempdimb>\tabu@dp
+ \tabu@spaces\tabu@spaces\tabu@spaces
+ \expandafter\expandafter\expandafter\string\tabu@dp =
+ \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J\fi
+ \fi
+}% \tabu@message@verticalsp
+\edef\tabu@spaces{\@spaces}
+\def\tabu@strippt{\expandafter\tabu@pt\the}
+{\@makeother\P \@makeother\T\lowercase{\gdef\tabu@pt #1PT{#1}}}
+\def\tabu@msgalign{\expandafter\tabu@msg@align\the\dimexpr}
+\def\tabu@msgalign@PT{\expandafter\tabu@msg@align\romannumeral-`\0\tabu@strippt}
+\def\do #1{%
+ \def\tabu@msg@align##1.##2##3##4##5##6##7##8##9\@@{%
+ \ifnum##1<10 #1 #1\else
+ \ifnum##1<100 #1 \else
+ \ifnum##1<\@m #1\fi\fi\fi
+ ##1.##2##3##4##5##6##7##8#1}%
+ \def\tabu@header{(tabu) \ifnum\tabu@cnt<10 #1\fi\the\tabu@cnt) }%
+ \def\tabu@titles{\ifnum \tabu@nested=\z@
+ (tabu) Try#1 #1 tabu X #1 #1 #1tabu Width #1 #1 Target
+ #1 #1 #1 Coefs #1 #1 #1 Update^^J\fi}%
+ \def\tabu@spreadheader{%
+ (tabu) Try#1 #1 Spread #1 #1 tabu Width #1 #1 #1 Nat. X #1 #1 #1 #1Nat. Min.
+ #1 New Target^^J%
+ (tabu) sprd}
+ \def\tabu@message@save {\begingroup
+ \def\x ####1{\tabu@msg@align ####1{ }{ }{ }{ }{}\@@}
+ \def\z ####1{\expandafter\x\expandafter{\romannumeral-`\0\tabu@strippt
+ \dimexpr####1\p@{ }{ }}}%
+ \let\color \relax \def\tabu@rulesstyle ####1####2{\detokenize{####1}}%
+ \let\CT@arc@ \relax \let\@preamble \@gobble
+ \let\tabu@savedpream \@firstofone
+ \let\tabu@savedparams \@firstofone
+ \def\tabu@target ####1\relax {(tabu) target #1 #1 #1 #1 #1 = \x{####1}^^J}%
+ \def\tabucolX ####1\relax {(tabu) X columns width#1 = \x{####1}^^J}%
+ \def\tabu@nbcols ####1\relax {(tabu) Number of columns: \z{####1}^^J}%
+ \def\tabu@aligndefault ####1{(tabu) Default alignment: #1 #1 ####1^^J}%
+ \def\col@sep ####1\relax {(tabu) column sep #1 #1 #1 = \x{####1}^^J}%
+ \def\arrayrulewidth ####1\relax{(tabu) arrayrulewidth #1 = \x{####1}}%
+ \def\doublerulesep ####1\relax { doublerulesep = \x{####1}^^J}%
+ \def\extratabsurround####1\relax{(tabu) extratabsurround = \x{####1}^^J}%
+ \def\extrarowheight ####1\relax{(tabu) extrarowheight #1 = \x{####1}}%
+ \def\extrarowdepth ####1\relax {extrarowdepth = \x{####1}^^J}%
+ \def\abovetabulinesep####1\relax{(tabu) abovetabulinesep=\x{####1} }%
+ \def\belowtabulinesep####1\relax{ belowtabulinesep=\x{####1}^^J}%
+ \def\arraystretch ####1{(tabu) arraystretch #1 #1 = \z{####1}^^J}%
+ \def\minrowclearance####1\relax{(tabu) minrowclearance #1 = \x{####1}^^J}%
+ \def\tabu@arc@L ####1{(tabu) taburulecolor #1 #1 = ####1^^J}%
+ \def\tabu@drsc@L ####1{(tabu) tabudoublerulecolor= ####1^^J}%
+ \def\tabu@evr@L ####1{(tabu) everyrow #1 #1 #1 #1 = \detokenize{####1}^^J}%
+ \def\tabu@ls@L ####1{(tabu) line style = \detokenize{####1}^^J}%
+ \def\NC@find ####1\@nil{(tabu) tabu preamble#1 #1 = \detokenize{####1}^^J}%
+ \def\tabu@wddef####1####2{(tabu) Natural width ####1 = \x{####2}^^J}%
+ \let\edef \@gobbletwo \let\def \@empty \let\let \@gobbletwo
+ \tabu@message{%
+ (tabu) \string\savetabu{\tabu@temp}: \on@line^^J%
+ \tabu@usetabu \@nil^^J}%
+ \endgroup}
+}\do{ }
+%% Measuring the natural width (varwidth) - store the results -------
+\def\tabu@startpboxmeasure #1{\bgroup % entering \vtop
+ \edef\tabu@temp{\expandafter\@secondoftwo \ifx\tabu@hsize #1\else\relax\fi}%
+ \ifodd 1\ifx \tabu@temp\@empty 0 \else % starts with \tabu@hsize ?
+ \iftabu@spread \else % if spread -> measure
+ \ifdim \tabu@temp\p@>\z@ 0 \fi\fi\fi% if coef>0 -> do not measure
+ \let\@startpbox \tabu@startpboxORI % restore immediately (nesting)
+ \tabu@measuringtrue % for the quick option...
+ \tabu@Xcol =\expandafter\@firstoftwo\ifx\tabu@hsize #1\fi
+ \ifdim \tabu@temp\p@>\z@ \ifdim \tabu@temp\tabucolX<\tabu@target
+ \tabu@target=\tabu@temp\tabucolX \fi\fi
+ \setbox\tabu@box \hbox \bgroup
+ \begin{varwidth}\tabu@target
+ \let\FV@ListProcessLine \tabu@FV@ListProcessLine % \hbox to natural width...
+ \narrowragged \arraybackslash \parfillskip \@flushglue
+ \ifdefined\pdfadjustspacing \pdfadjustspacing\z@ \fi
+ \bgroup \aftergroup\tabu@endpboxmeasure
+ \ifdefined \cellspacetoplimit \tabu@cellspacepatch \fi
+ \else \expandafter\@gobble
+ \tabu@startpboxquick{#1}% \@gobble \bgroup
+ \fi
+}% \tabu@startpboxmeasure
+\def\tabu@cellspacepatch{\def\bcolumn##1\@nil{}\let\ecolumn\@empty
+ \bgroup\color@begingroup}
+\def\tabu@endpboxmeasure {%
+ \@finalstrut \@arstrutbox
+ \end{varwidth}\egroup % <got my \tabu@box>
+ \ifdim \tabu@temp\p@ <\z@ % neg coef
+ \ifdim \tabu@wd\tabu@Xcol <\wd\tabu@box
+ \tabu@wddef\tabu@Xcol {\the\wd\tabu@box}%
+ \tabu@debug{\tabu@message@endpboxmeasure}%
+ \fi
+ \else % spread coef>0
+ \global\advance \tabu@naturalX \wd\tabu@box
+ \@tempdima =\dimexpr \wd\tabu@box *\p@/\dimexpr \tabu@temp\p@\relax \relax
+ \ifdim \tabu@naturalXmax <\tabu@naturalX
+ \xdef\tabu@naturalXmax {\the\tabu@naturalX}\fi
+ \ifdim \tabu@naturalXmin <\@tempdima
+ \xdef\tabu@naturalXmin {\the\@tempdima}\fi
+ \fi
+ \box\tabu@box \egroup % end of \vtop (measure) restore \tabu@target
+}% \tabu@endpboxmeasure
+\def\tabu@wddef #1{\expandafter\xdef
+ \csname tabu@\the\tabu@nested.W\number#1\endcsname}
+\def\tabu@wd #1{\csname tabu@\the\tabu@nested.W\number#1\endcsname}
+\def\tabu@message@endpboxmeasure{\tabu@spaces\tabu@spaces<-> % <-> save natural wd
+ \the\tabu@Xcol. X[\tabu@temp]:
+ target = \the\tabucolX \space
+ \expandafter\expandafter\expandafter\string\tabu@wd\tabu@Xcol
+ =\tabu@wd\tabu@Xcol
+}% \tabu@message@endpboxmeasure
+\def\tabu@startpboxquick {\bgroup
+ \let\@startpbox \tabu@startpboxORI % restore immediately
+ \let\tabu \tabu@quick % \begin is expanded before...
+ \expandafter\@gobble \@startpbox % gobbles \bgroup
+}% \tabu@startpboxquick
+\def\tabu@quick {\begingroup \iffalse{\fi \ifnum0=`}\fi
+ \toks@{}\def\tabu@stack{b}\tabu@collectbody \tabu@endquick
+}% \tabu@quick
+\def\tabu@endquick {%
+ \ifodd 1\ifx\tabu@end@envir\tabu@endtabu \else
+ \ifx\tabu@end@envir\tabu@endtabus \else 0\fi\fi\relax
+ \endgroup
+ \else \let\endtabu \relax
+ \tabu@end@envir
+ \fi
+}% \tabu@quick
+\def\tabu@endtabu {\end{tabu}}
+\def\tabu@endtabus {\end{tabu*}}
+%% Measuring the heights and depths - store the results -------------
+\def\tabu@verticalmeasure{\everypar{}%
+ \ifnum \currentgrouptype>12 % 14=semi-simple, 15=math shift group
+ \setbox\tabu@box =\hbox\bgroup
+ \let\tabu@verticalspacing \tabu@verticalsp@lcr
+ \d@llarbegin % after \hbox ...
+ \else
+ \edef\tabu@temp{\ifnum\currentgrouptype=5\vtop
+ \else\ifnum\currentgrouptype=12\vcenter
+ \else\vbox\fi\fi}%
+ \setbox\tabu@box \hbox\bgroup$\tabu@temp \bgroup
+ \let\tabu@verticalspacing \tabu@verticalsp@pmb
+ \fi
+}% \tabu@verticalmeasure
+\def\tabu@verticalsp@lcr{%
+ \d@llarend \egroup % <got my \tabu@box>
+ \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep
+ \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax
+ \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi
+ \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi
+ \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi
+ \noindent\vrule height\@tempdima depth\@tempdimb
+}% \tabu@verticalsp@lcr
+\def\tabu@verticalsp@pmb{% inserts struts as needed
+ \par \expandafter\egroup
+ \expandafter$\expandafter
+ \egroup \expandafter
+ \@tempdimc \the\prevdepth
+ \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep
+ \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax
+ \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi
+ \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi
+ \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi
+ \let\@finalstrut \@gobble
+ \hrule height\@tempdima depth\@tempdimb width\hsize
+%% \box\tabu@box
+}% \tabu@verticalsp@pmb
+
+\def\tabu@verticalinit{%
+ \ifnum \c@taburow=\z@ \tabu@rearstrut \fi % after \tabu@reset !
+ \advance\c@taburow \@ne
+ \tabu@htdef{\the\ht\@arstrutbox}\tabu@dpdef{\the\dp\@arstrutbox}%
+ \advance\c@taburow \m@ne
+}% \tabu@verticalinit
+\def\tabu@htdef {\expandafter\xdef \csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname}
+\def\tabu@ht {\csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname}
+\def\tabu@dpdef {\expandafter\xdef \csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname}
+\def\tabu@dp {\csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname}
+\def\tabu@verticaldynamicadjustment {%
+ \advance\c@taburow \@ne
+ \extrarowheight \dimexpr\tabu@ht - \ht\strutbox
+ \extrarowdepth \dimexpr\tabu@dp - \dp\strutbox
+ \let\arraystretch \@empty
+ \advance\c@taburow \m@ne
+}% \tabu@verticaldynamicadjustment
+\def\tabuphantomline{\crcr \noalign{%
+ {\globaldefs \@ne
+ \setbox\@arstrutbox \box\voidb@x
+ \let\tabu@@celllalign \tabu@celllalign
+ \let\tabu@@cellralign \tabu@cellralign
+ \let\tabu@@cellleft \tabu@cellleft
+ \let\tabu@@cellright \tabu@cellright
+ \let\tabu@@thevline \tabu@thevline
+ \let\tabu@celllalign \@empty
+ \let\tabu@cellralign \@empty
+ \let\tabu@cellright \@empty
+ \let\tabu@cellleft \@empty
+ \let\tabu@thevline \relax}%
+ \edef\tabu@temp{\tabu@multispan \tabu@nbcols{\noindent &}}%
+ \toks@\expandafter{\tabu@temp \noindent\tabu@everyrowfalse \cr
+ \noalign{\tabu@rearstrut
+ {\globaldefs\@ne
+ \let\tabu@celllalign \tabu@@celllalign
+ \let\tabu@cellralign \tabu@@cellralign
+ \let\tabu@cellleft \tabu@@cellleft
+ \let\tabu@cellright \tabu@@cellright
+ \let\tabu@thevline \tabu@@thevline}}}%
+ \expandafter}\the\toks@
+}% \tabuphantomline
+%% \firsthline and \lasthline corrections ---------------------------
+\def\tabu@firstline {\tabu@hlineAZ \tabu@firsthlinecorrection {}}
+\def\tabu@firsthline{\tabu@hlineAZ \tabu@firsthlinecorrection \hline}
+\def\tabu@lastline {\tabu@hlineAZ \tabu@lasthlinecorrection {}}
+\def\tabu@lasthline {\tabu@hlineAZ \tabu@lasthlinecorrection \hline}
+\def\tabu@hline {% replaces \hline if no colortbl (see \AtBeginDocument)
+ \noalign{\ifnum0=`}\fi
+ {\CT@arc@\hrule height\arrayrulewidth}%
+ \futurelet \tabu@temp \tabu@xhline
+}% \tabu@hline
+\def\tabu@xhline{%
+ \ifx \tabu@temp \hline
+ {\ifx \CT@drsc@\relax \vskip
+ \else\ifx \CT@drsc@\@empty \vskip
+ \else \CT@drsc@\hrule height
+ \fi\fi
+ \doublerulesep}%
+ \fi
+ \ifnum0=`{\fi}%
+}% \tabu@xhline
+\def\tabu@hlineAZ #1#2{\noalign{\ifnum0=`}\fi \dimen@ \z@ \count@ \z@
+ \toks@{}\def\tabu@hlinecorrection{#1}\def\tabu@temp{#2}%
+ \tabu@hlineAZsurround
+}% \tabu@hlineAZ
+\newcommand*\tabu@hlineAZsurround[1][\extratabsurround]{%
+ \extratabsurround #1\let\tabucline \tabucline@scan
+ \let\hline \tabu@hlinescan \let\firsthline \hline
+ \let\cline \tabu@clinescan \let\lasthline \hline
+ \expandafter \futurelet \expandafter \tabu@temp
+ \expandafter \tabu@nexthlineAZ \tabu@temp
+}% \tabu@hlineAZsurround
+\def\tabu@hlinescan {\tabu@thick \arrayrulewidth \tabu@xhlineAZ \hline}
+\def\tabu@clinescan #1{\tabu@thick \arrayrulewidth \tabu@xhlineAZ {\cline{#1}}}
+\def\tabucline@scan{\@testopt \tabucline@sc@n {}}
+\def\tabucline@sc@n #1[#2]{\tabu@xhlineAZ {\tabucline[{#1}]{#2}}}
+\def\tabu@nexthlineAZ{%
+ \ifx \tabu@temp\hline \else
+ \ifx \tabu@temp\cline \else
+ \ifx \tabu@temp\tabucline \else
+ \tabu@hlinecorrection
+ \fi\fi\fi
+}% \tabu@nexthlineAZ
+\def\tabu@xhlineAZ #1{%
+ \toks@\expandafter{\the\toks@ #1}%
+ \@tempdimc \tabu@thick % The last line width
+ \ifcase\count@ \@tempdimb \tabu@thick % The first line width
+ \else \advance\dimen@ \dimexpr \tabu@thick+\doublerulesep \relax
+ \fi
+ \advance\count@ \@ne \futurelet \tabu@temp \tabu@nexthlineAZ
+}% \tabu@xhlineAZ
+\def\tabu@firsthlinecorrection{% \count@ = number of \hline -1
+ \@tempdima \dimexpr \ht\@arstrutbox+\dimen@
+ \edef\firsthline{% <local in \noalign>
+ \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule
+ height \the\dimexpr\@tempdima+\extratabsurround
+ depth \dp\@arstrutbox
+ width \tabustrutrule}\hss}\cr
+ \noalign{\vskip -\the\dimexpr \@tempdima+\@tempdimb
+ +\dp\@arstrutbox \relax}%
+ \the\toks@
+ }\ifnum0=`{\fi
+ \expandafter}\firsthline % we are then !
+}% \tabu@firsthlinecorrection
+\def\tabu@lasthlinecorrection{%
+ \@tempdima \dimexpr \dp\@arstrutbox+\dimen@+\@tempdimb+\@tempdimc
+ \edef\lasthline{% <local in \noalign>
+ \the\toks@
+ \noalign{\vskip -\the\dimexpr\dimen@+\@tempdimb+\dp\@arstrutbox}%
+ \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule
+ depth \the\dimexpr \dp\@arstrutbox+\@tempdimb+\dimen@
+ +\extratabsurround-\@tempdimc
+ height \z@
+ width \tabustrutrule}\hss}\cr
+ }\ifnum0=`{\fi
+ \expandafter}\lasthline % we are then !
+}% \tabu@lasthlinecorrection
+\def\tabu@LT@@hline{%
+ \ifx\LT@next\hline
+ \global\let\LT@next \@gobble
+ \ifx \CT@drsc@\relax
+ \gdef\CT@LT@sep{%
+ \noalign{\penalty-\@medpenalty\vskip\doublerulesep}}%
+ \else
+ \gdef\CT@LT@sep{%
+ \multispan\LT@cols{%
+ \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill}\cr}%
+ \fi
+ \else
+ \global\let\LT@next\empty
+ \gdef\CT@LT@sep{%
+ \noalign{\penalty-\@lowpenalty\vskip-\arrayrulewidth}}%
+ \fi
+ \ifnum0=`{\fi}%
+ \multispan\LT@cols
+ {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
+ \CT@LT@sep
+ \multispan\LT@cols
+ {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
+ \noalign{\penalty\@M}%
+ \LT@next
+}% \tabu@LT@@hline
+%% Horizontal lines : \tabucline ------------------------------------
+\let\tabu@start \@tempcnta
+\let\tabu@stop \@tempcntb
+\newcommand*\tabucline{\noalign{\ifnum0=`}\fi \tabu@cline}
+\newcommand*\tabu@cline[2][]{\tabu@startstop{#2}%
+ \ifnum \tabu@stop<\z@ \toks@{}%
+ \else \tabu@clinearg{#1}\tabu@thestyle
+ \edef\tabucline{\toks@{%
+ \ifnum \tabu@start>\z@ \omit
+ \tabu@multispan\tabu@start {\span\omit}&\fi
+ \omit \tabu@multispan\tabu@stop {\span\omit}%
+ \tabu@thehline\cr
+ }}\tabucline
+ \tabu@tracinglines{(tabu:tabucline) Style: #1^^J\the\toks@^^J^^J}%
+ \fi
+ \futurelet \tabu@temp \tabu@xcline
+}% \tabu@cline
+\def\tabu@clinearg #1{%
+ \ifx\\#1\\\let\tabu@thestyle \tabu@ls@
+ \else \@defaultunits \expandafter\let\expandafter\@tempa
+ \romannumeral-`\0#1\relax \@nnil
+ \ifx \hbox\@tempa \tabu@clinebox{#1}%
+ \else\ifx \box\@tempa \tabu@clinebox{#1}%
+ \else\ifx \vbox\@tempa \tabu@clinebox{#1}%
+ \else\ifx \vtop\@tempa \tabu@clinebox{#1}%
+ \else\ifx \copy\@tempa \tabu@clinebox{#1}%
+ \else\ifx \leaders\@tempa \tabu@clineleads{#1}%
+ \else\ifx \cleaders\@tempa \tabu@clineleads{#1}%
+ \else\ifx \xleaders\@tempa \tabu@clineleads{#1}%
+ \else\tabu@getline {#1}%
+ \fi\fi\fi\fi\fi\fi\fi\fi
+ \fi
+}% \tabu@clinearg
+\def\tabu@clinebox #1{\tabu@clineleads{\xleaders#1\hss}}
+\def\tabu@clineleads #1{%
+ \let\tabu@thestyle \relax \let\tabu@leaders \@undefined
+ \gdef\tabu@thehrule{#1}}
+\def\tabu@thehline{\begingroup
+ \ifdefined\tabu@leaders
+ \noexpand\tabu@thehleaders
+ \else \noexpand\tabu@thehrule
+ \fi \endgroup
+}% \tabu@thehline
+\def\tabu@xcline{%
+ \ifx \tabu@temp\tabucline
+ \toks@\expandafter{\the\toks@ \noalign
+ {\ifx\CT@drsc@\relax \vskip
+ \else \CT@drsc@\hrule height
+ \fi
+ \doublerulesep}}%
+ \fi
+ \tabu@docline
+}% \tabu@xcline
+\def\tabu@docline {\ifnum0=`{\fi \expandafter}\the\toks@}
+\def\tabu@docline@evr {\xdef\tabu@doclineafter{\the\toks@}%
+ \ifnum0=`{\fi}\aftergroup\tabu@doclineafter}
+\def\tabu@multispan #1#2{%
+ \ifnum\numexpr#1>\@ne #2\expandafter\tabu@multispan
+ \else \expandafter\@gobbletwo
+ \fi {#1-1}{#2}%
+}% \tabu@multispan
+\def\tabu@startstop #1{\tabu@start@stop #1\relax 1-\tabu@nbcols \@nnil}
+\def\tabu@start@stop #1-#2\@nnil{%
+ \@defaultunits \tabu@start\number 0#1\relax \@nnil
+ \@defaultunits \tabu@stop \number 0#2\relax \@nnil
+ \tabu@stop \ifnum \tabu@start>\tabu@nbcols \m@ne
+ \else\ifnum \tabu@stop=\z@ \tabu@nbcols
+ \else\ifnum \tabu@stop>\tabu@nbcols \tabu@nbcols
+ \else \tabu@stop
+ \fi\fi\fi
+ \advance\tabu@start \m@ne
+ \ifnum \tabu@start>\z@ \advance\tabu@stop -\tabu@start \fi
+}% \tabu@start@stop
+%% Numbers: siunitx S columns (and \tabudecimal) -------------------
+\def\tabu@tabudecimal #1{%
+ \def\tabu@decimal{#1}\@temptokena{}%
+ \let\tabu@getdecimal@ \tabu@getdecimal@ignorespaces
+ \tabu@scandecimal
+}% \tabu@tabudecimal
+\def\tabu@scandecimal{\futurelet \tabu@temp \tabu@getdecimal@}
+\def\tabu@skipdecimal#1{#1\tabu@scandecimal}
+\def\tabu@getdecimal@ignorespaces{%
+ \ifcase 0\ifx\tabu@temp\ignorespaces\else
+ \ifx\tabu@temp\@sptoken1\else
+ 2\fi\fi\relax
+ \let\tabu@getdecimal@ \tabu@getdecimal
+ \expandafter\tabu@skipdecimal
+ \or \expandafter\tabu@gobblespace\expandafter\tabu@scandecimal
+ \else \expandafter\tabu@skipdecimal
+ \fi
+}% \tabu@getdecimal@ignorespaces
+\def\tabu@get@decimal#1{\@temptokena\expandafter{\the\@temptokena #1}%
+ \tabu@scandecimal}
+\def\do#1{%
+ \def\tabu@get@decimalspace#1{%
+ \@temptokena\expandafter{\the\@temptokena #1}\tabu@scandecimal}%
+}\do{ }
+\let\tabu@@tabudecimal \tabu@tabudecimal
+\def\tabu@getdecimal{%
+ \ifcase 0\ifx 0\tabu@temp\else
+ \ifx 1\tabu@temp\else
+ \ifx 2\tabu@temp\else
+ \ifx 3\tabu@temp\else
+ \ifx 4\tabu@temp\else
+ \ifx 5\tabu@temp\else
+ \ifx 6\tabu@temp\else
+ \ifx 7\tabu@temp\else
+ \ifx 8\tabu@temp\else
+ \ifx 9\tabu@temp\else
+ \ifx .\tabu@temp\else
+ \ifx ,\tabu@temp\else
+ \ifx -\tabu@temp\else
+ \ifx +\tabu@temp\else
+ \ifx e\tabu@temp\else
+ \ifx E\tabu@temp\else
+ \ifx\tabu@cellleft\tabu@temp1\else
+ \ifx\ignorespaces\tabu@temp1\else
+ \ifx\@sptoken\tabu@temp2\else
+ 3\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax
+ \expandafter\tabu@get@decimal
+ \or \expandafter\tabu@skipdecimal
+ \or \expandafter\tabu@get@decimalspace
+ \else\expandafter\tabu@printdecimal
+ \fi
+}% \tabu@getdecimal
+\def\tabu@printdecimal{%
+ \edef\tabu@temp{\the\@temptokena}%
+ \ifx\tabu@temp\@empty\else
+ \ifx\tabu@temp\space\else
+ \expandafter\tabu@decimal\expandafter{\the\@temptokena}%
+ \fi\fi
+}% \tabu@printdecimal
+%% Verbatim inside X columns ----------------------------------------
+\def\tabu@verbatim{%
+ \let\verb \tabu@verb
+ \let\FV@DefineCheckEnd \tabu@FV@DefineCheckEnd
+}% \tabu@verbatim
+\let\tabu@ltx@verb \verb
+\def\tabu@verb{\@ifstar {\tabu@ltx@verb*} \tabu@ltx@verb}
+\def\tabu@fancyvrb {%
+ \def\tabu@FV@DefineCheckEnd ##1{%
+ \def\tabu@FV@DefineCheckEnd{%
+ ##1% <original definition (if fancyvrb is loaded)>
+ \let\FV@CheckEnd \tabu@FV@CheckEnd
+ \let\FV@@CheckEnd \tabu@FV@@CheckEnd
+ \let\FV@@@CheckEnd \tabu@FV@@@CheckEnd
+ \edef\FV@EndScanning{%
+ \def\noexpand\next{\noexpand\end{\FV@EnvironName}}%
+ \global\let\noexpand\FV@EnvironName\relax
+ \noexpand\next}%
+ \xdef\FV@EnvironName{\detokenize\expandafter{\FV@EnvironName}}}%
+ }\expandafter\tabu@FV@DefineCheckEnd\expandafter{\FV@DefineCheckEnd}
+}% \tabu@fancyvrb
+\def\tabu@FV@CheckEnd #1{\expandafter\FV@@CheckEnd \detokenize{#1\end{}}\@nil}
+\edef\tabu@FV@@@CheckEnd {\detokenize{\end{}}}
+\begingroup
+\catcode`\[1 \catcode`\]2
+\@makeother\{ \@makeother\}
+ \edef\x[\endgroup
+ \def\noexpand\tabu@FV@@CheckEnd ##1\detokenize[\end{]##2\detokenize[}]##3%
+ ]\x \@nil{\def\@tempa{#2}\def\@tempb{#3}}
+\def\tabu@FV@ListProcessLine #1{%
+ \hbox {%to \hsize{%
+ \kern\leftmargin
+ \hbox {%to \linewidth{%
+ \FV@LeftListNumber
+ \FV@LeftListFrame
+ \FancyVerbFormatLine{#1}\hss
+%% DG/SR modification begin - Jan. 28, 1998 (for numbers=right add-on)
+%% \FV@RightListFrame}%
+ \FV@RightListFrame
+ \FV@RightListNumber}%
+%% DG/SR modification end
+ \hss}}
+%% \savetabu --------------------------------------------------------
+\newcommand*\savetabu[1]{\noalign{%
+ \tabu@sanitizearg{#1}\tabu@temp
+ \ifx \tabu@temp\@empty \tabu@savewarn{}{The tabu will not be saved}\else
+ \@ifundefined{tabu@saved@\tabu@temp}{}{\tabu@savewarn{#1}{Overwriting}}%
+ \ifdefined\tabu@restored \expandafter\let
+ \csname tabu@saved@\tabu@temp \endcsname \tabu@restored
+ \else {\tabu@save}%
+ \fi
+ \fi}%
+}% \savetabu
+\def\tabu@save {%
+ \toks0\expandafter{\tabu@saved@}%
+ \iftabu@negcoef
+ \let\tabu@wddef \relax \let\tabu@ \tabu@savewd \edef\tabu@savewd{\tabu@Xcoefs}%
+ \toks0\expandafter{\the\toks\expandafter0\tabu@savewd}\fi
+ \toks1\expandafter{\tabu@savedpream}%
+ \toks2\expandafter{\tabu@savedpreamble}%
+ \let\@preamble \relax
+ \let\tabu@savedpream \relax \let\tabu@savedparams \relax
+ \edef\tabu@preamble{%
+ \def\noexpand\tabu@aligndefault{\tabu@align}%
+ \def\tabu@savedparams {\noexpand\the\toks0}%
+ \def\tabu@savedpream {\noexpand\the\toks1}}%
+ \edef\tabu@usetabu{%
+ \def\@preamble {\noexpand\the\toks2}%
+ \tabu@target \the\tabu@target \relax
+ \tabucolX \the\tabucolX \relax
+ \tabu@nbcols \the\tabu@nbcols \relax
+ \def\noexpand\tabu@aligndefault{\tabu@align}%
+ \def\tabu@savedparams {\noexpand\the\toks0}%
+ \def\tabu@savedpream {\noexpand\the\toks1}}%
+ \let\tabu@aligndefault \relax \let\@sharp \relax
+ \edef\@tempa{\noexpand\tabu@s@ved
+ {\tabu@usetabu}
+ {\tabu@preamble}
+ {\the\toks1}}\@tempa
+ \tabu@message@save
+}% \tabu@save
+\long\def\tabu@s@ved #1#2#3{%
+ \def\tabu@usetabu{#1}% <for \tabu@message@save>
+ \expandafter\gdef\csname tabu@saved@\tabu@temp\endcsname ##1{%
+ \ifodd ##1% \usetabu
+ \tabu@measuringfalse \tabu@spreadfalse % Just in case...
+ \gdef\tabu@usetabu {%
+ \ifdim \tabu@target>\z@ \tabu@warn@usetabu \fi
+ \global\let\tabu@usetabu \@undefined
+ \def\@halignto {to\tabu@target}%
+ #1%
+ \ifx \tabu@align\tabu@aligndefault@text
+ \ifnum \tabu@nested=\z@
+ \let\tabu@align \tabu@aligndefault \fi\fi}%
+ \else % \preamble
+ \gdef\tabu@preamble {%
+ \global\let\tabu@preamble \@undefined
+ #2%
+ \ifx \tabu@align\tabu@aligndefault@text
+ \ifnum \tabu@nested=\z@
+ \let\tabu@align \tabu@aligndefault \fi\fi}%
+ \fi
+ #3}%
+}% \tabu@s@ved
+\def\tabu@aligndefault@text {\tabu@aligndefault}%
+\def\tabu@warn@usetabu {\PackageWarning{tabu}
+ {Specifying a target with \string\usetabu\space is useless
+ \MessageBreak The target cannot be changed!}}
+\def\tabu@savewd #1#2{\ifdim #2\p@<\z@ \tabu@wddef{#1}{\tabu@wd{#1}}\fi}
+\def\tabu@savewarn#1#2{\PackageInfo{tabu}
+ {User-name `#1' already used for \string\savetabu
+ \MessageBreak #2}}%
+\def\tabu@saveerr#1{\PackageError{tabu}
+ {User-name `#1' is unknown for \string\usetabu
+ \MessageBreak I cannot restore an unknown preamble!}\@ehd}
+%% \rowfont ---------------------------------------------------------
+\newskip \tabu@cellskip
+\def\tabu@rowfont{\ifdim \baselineskip=\z@\noalign\fi
+ {\ifnum0=`}\fi \tabu@row@font}
+\newcommand*\tabu@row@font[2][]{%
+ \ifnum7=\currentgrouptype
+ \global\let\tabu@@cellleft \tabu@cellleft
+ \global\let\tabu@@cellright \tabu@cellright
+ \global\let\tabu@@celllalign \tabu@celllalign
+ \global\let\tabu@@cellralign \tabu@cellralign
+ \global\let\tabu@@rowfontreset\tabu@rowfontreset
+ \fi
+ \global\let\tabu@rowfontreset \tabu@rowfont@reset
+ \expandafter\gdef\expandafter\tabu@cellleft\expandafter{\tabu@cellleft #2}%
+ \ifcsname tabu@cell@#1\endcsname % row alignment
+ \csname tabu@cell@#1\endcsname \fi
+ \ifnum0=`{\fi}% end of group / noalign group
+}% \rowfont
+\def\tabu@ifcolorleavevmode #1{\let\color \tabu@leavevmodecolor #1\let\color\tabu@color}%
+\def\tabu@rowfont@reset{%
+ \global\let\tabu@rowfontreset \tabu@@rowfontreset
+ \global\let\tabu@cellleft \tabu@@cellleft
+ \global\let\tabu@cellright \tabu@@cellright
+ \global\let\tabu@cellfont \@empty
+ \global\let\tabu@celllalign \tabu@@celllalign
+ \global\let\tabu@cellralign \tabu@@cellralign
+}% \tabu@@rowfontreset
+\let\tabu@rowfontreset \@empty % overwritten \AtBeginDocument if colortbl
+%% \tabu@prepnext@tok -----------------------------------------------
+\newif \iftabu@cellright
+\def\tabu@prepnext@tok{%
+ \ifnum \count@<\z@ % <first initialisation>
+ \@tempcnta \@M % <not initialized by array.sty>
+ \tabu@nbcols\z@
+ \let\tabu@fornoopORI \@fornoop
+ \tabu@cellrightfalse
+ \else
+ \ifcase \numexpr \count@-\@tempcnta \relax % (case 0): prev. token is left
+ \advance \tabu@nbcols \@ne
+ \iftabu@cellright % before-previous token is right and is finished
+ \tabu@cellrightfalse % <only once>
+ \tabu@righttok
+ \fi
+ \tabu@lefttok
+ \or % (case 1) previous token is right
+ \tabu@cellrighttrue \let\@fornoop \tabu@lastnoop
+ \else % special column: do not change the token
+ \iftabu@cellright % before-previous token is right
+ \tabu@cellrightfalse
+ \tabu@righttok
+ \fi
+ \fi % \ifcase
+ \fi
+ \tabu@prepnext@tokORI
+}% \tabu@prepnext@tok
+\long\def\tabu@lastnoop#1\@@#2#3{\tabu@lastn@@p #2\@nextchar \in@\in@@}
+\def\tabu@lastn@@p #1\@nextchar #2#3\in@@{%
+ \ifx \in@#2\else
+ \let\@fornoop \tabu@fornoopORI
+ \xdef\tabu@mkpreambuffer{\tabu@nbcols\the\tabu@nbcols \tabu@mkpreambuffer}%
+ \toks0\expandafter{\expandafter\tabu@everyrowtrue \the\toks0}%
+ \expandafter\prepnext@tok
+ \fi
+}% \tabu@lastnoop
+\def\tabu@righttok{%
+ \advance \count@ \m@ne
+ \toks\count@\expandafter {\the\toks\count@ \tabu@cellright \tabu@cellralign}%
+ \advance \count@ \@ne
+}% \tabu@righttok
+\def\tabu@lefttok{\toks\count@\expandafter{\expandafter\tabu@celllalign
+ \the\toks\count@ \tabu@cellleft}% after because of $
+}% \tabu@lefttok
+%% Neutralisation of glues ------------------------------------------
+\let\tabu@cellleft \@empty
+\let\tabu@cellright \@empty
+\tabu@celllalign@def{\tabu@cellleft}%
+\let\tabu@cellralign \@empty
+\def\tabu@cell@align #1#2#3{%
+ \let\tabu@maybesiunitx \toks@ \tabu@celllalign
+ \global \expandafter \tabu@celllalign@def \expandafter {\the\toks@ #1}%
+ \toks@\expandafter{\tabu@cellralign #2}%
+ \xdef\tabu@cellralign{\the\toks@}%
+ \toks@\expandafter{\tabu@cellleft #3}%
+ \xdef\tabu@cellleft{\the\toks@}%
+}% \tabu@cell@align
+\def\tabu@cell@l{% force alignment to left
+ \tabu@cell@align
+ {\tabu@removehfil \raggedright \tabu@cellleft}% left
+ {\tabu@flush1\tabu@ignorehfil}% right
+ \raggedright
+}% \tabu@cell@l
+\def\tabu@cell@c{% force alignment to center
+ \tabu@cell@align
+ {\tabu@removehfil \centering \tabu@flush{.5}\tabu@cellleft}
+ {\tabu@flush{.5}\tabu@ignorehfil}
+ \centering
+}% \tabu@cell@c
+\def\tabu@cell@r{% force alignment to right
+ \tabu@cell@align
+ {\tabu@removehfil \raggedleft \tabu@flush1\tabu@cellleft}
+ \tabu@ignorehfil
+ \raggedleft
+}% \tabu@cell@r
+\def\tabu@cell@j{% force justification (for p, m, b columns)
+ \tabu@cell@align
+ {\tabu@justify\tabu@cellleft}
+ {}
+ \tabu@justify
+}% \tabu@cell@j
+\def\tabu@justify{%
+ \leftskip\z@skip \@rightskip\leftskip \rightskip\@rightskip
+ \parfillskip\@flushglue
+}% \tabu@justify
+%% ragged2e settings
+\def\tabu@cell@L{% force alignment to left (ragged2e)
+ \tabu@cell@align
+ {\tabu@removehfil \RaggedRight \tabu@cellleft}
+ {\tabu@flush 1\tabu@ignorehfil}
+ \RaggedRight
+}% \tabu@cell@L
+\def\tabu@cell@C{% force alignment to center (ragged2e)
+ \tabu@cell@align
+ {\tabu@removehfil \Centering \tabu@flush{.5}\tabu@cellleft}
+ {\tabu@flush{.5}\tabu@ignorehfil}
+ \Centering
+}% \tabu@cell@C
+\def\tabu@cell@R{% force alignment to right (ragged2e)
+ \tabu@cell@align
+ {\tabu@removehfil \RaggedLeft \tabu@flush 1\tabu@cellleft}
+ \tabu@ignorehfil
+ \RaggedLeft
+}% \tabu@cell@R
+\def\tabu@cell@J{% force justification (ragged2e)
+ \tabu@cell@align
+ {\justifying \tabu@cellleft}
+ {}
+ \justifying
+}% \tabu@cell@J
+\def\tabu@flush#1{%
+ \iftabu@colortbl % colortbl uses \hfill rather than \hfil
+ \hskip \ifnum13<\currentgrouptype \stretch{#1}%
+ \else \ifdim#1pt<\p@ \tabu@cellskip
+ \else \stretch{#1}
+ \fi\fi \relax
+ \else % array.sty
+ \ifnum 13<\currentgrouptype
+ \hfil \hskip1sp \relax \fi
+ \fi
+}% \tabu@flush
+\let\tabu@hfil \hfil
+\let\tabu@hfill \hfill
+\let\tabu@hskip \hskip
+\def\tabu@removehfil{%
+ \iftabu@colortbl
+ \unkern \tabu@cellskip =\lastskip
+ \ifnum\gluestretchorder\tabu@cellskip =\tw@ \hskip-\tabu@cellskip
+ \else \tabu@cellskip \z@skip
+ \fi
+ \else
+ \ifdim\lastskip=1sp\unskip\fi
+ \ifnum\gluestretchorder\lastskip =\@ne
+ \hfilneg % \hfilneg for array.sty but not for colortbl...
+ \fi
+ \fi
+}% \tabu@removehfil
+\def\tabu@ignorehfil{\aftergroup \tabu@nohfil}
+\def\tabu@nohfil{% \hfil -> do nothing + restore original \hfil
+ \def\hfil{\let\hfil \tabu@hfil}% local to (alignment template) group
+}% \tabu@nohfil
+\def\tabu@colortblalignments {% if colortbl
+ \def\tabu@nohfil{%
+ \def\hfil {\let\hfil \tabu@hfil}% local to (alignment template) group
+ \def\hfill {\let\hfill \tabu@hfill}% (colortbl uses \hfill) pfff...
+ \def\hskip ####1\relax{\let\hskip \tabu@hskip}}% local
+}% \tabu@colortblalignments
+%% Taking care of footnotes and hyperfootnotes ----------------------
+\long\def\tabu@footnotetext #1{%
+ \edef\@tempa{\the\tabu@footnotes
+ \noexpand\footnotetext [\the\csname c@\@mpfn\endcsname]}%
+ \global\tabu@footnotes\expandafter{\@tempa {#1}}}%
+\long\def\tabu@xfootnotetext [#1]#2{%
+ \global\tabu@footnotes\expandafter{\the\tabu@footnotes
+ \footnotetext [{#1}]{#2}}}
+\let\tabu@xfootnote \@xfootnote
+\long\def\tabu@Hy@ftntext{\tabu@Hy@ftntxt {\the \c@footnote }}
+\long\def\tabu@Hy@xfootnote [#1]{%
+ \begingroup
+ \value\@mpfn #1\relax
+ \protected@xdef \@thefnmark {\thempfn}%
+ \endgroup
+ \@footnotemark \tabu@Hy@ftntxt {#1}%
+}% \tabu@Hy@xfootnote
+\long\def\tabu@Hy@ftntxt #1#2{%
+ \edef\@tempa{%
+ \the\tabu@footnotes
+ \begingroup
+ \value\@mpfn #1\relax
+ \noexpand\protected@xdef\noexpand\@thefnmark {\noexpand\thempfn}%
+ \expandafter \noexpand \expandafter
+ \tabu@Hy@footnotetext \expandafter{\Hy@footnote@currentHref}%
+ }%
+ \global\tabu@footnotes\expandafter{\@tempa {#2}%
+ \endgroup}%
+}% \tabu@Hy@ftntxt
+\long\def\tabu@Hy@footnotetext #1#2{%
+ \H@@footnotetext{%
+ \ifHy@nesting
+ \hyper@@anchor {#1}{#2}%
+ \else
+ \Hy@raisedlink{%
+ \hyper@@anchor {#1}{\relax}%
+ }%
+ \def\@currentHref {#1}%
+ \let\@currentlabelname \@empty
+ #2%
+ \fi
+ }%
+}% \tabu@Hy@footnotetext
+%% No need for \arraybackslash ! ------------------------------------
+\def\tabu@latextwoe {%
+\def\tabu@temp##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}}
+\tabu@temp \tabu@centering \centering \arraybackslash
+\tabu@temp \tabu@raggedleft \raggedleft \arraybackslash
+\tabu@temp \tabu@raggedright \raggedright \arraybackslash
+}% \tabu@latextwoe
+\def\tabu@raggedtwoe {%
+\def\tabu@temp ##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}}
+\tabu@temp \tabu@Centering \Centering \arraybackslash
+\tabu@temp \tabu@RaggedLeft \RaggedLeft \arraybackslash
+\tabu@temp \tabu@RaggedRight \RaggedRight \arraybackslash
+\tabu@temp \tabu@justifying \justifying \arraybackslash
+}% \tabu@raggedtwoe
+\def\tabu@normalcrbackslash{\let\\\@normalcr}
+\def\tabu@trivlist{\expandafter\def\expandafter\@trivlist\expandafter{%
+ \expandafter\tabu@normalcrbackslash \@trivlist}}
+%% Utilities: \fbox \fcolorbox and \tabudecimal -------------------
+\def\tabu@fbox {\leavevmode\afterassignment\tabu@beginfbox \setbox\@tempboxa\hbox}
+\def\tabu@beginfbox {\bgroup \kern\fboxsep
+ \bgroup\aftergroup\tabu@endfbox}
+\def\tabu@endfbox {\kern\fboxsep\egroup\egroup
+ \@frameb@x\relax}
+\def\tabu@color@b@x #1#2{\leavevmode \bgroup
+ \def\tabu@docolor@b@x{#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}\box\z@}}%
+ \afterassignment\tabu@begincolor@b@x \setbox\z@ \hbox
+}% \tabu@color@b@x
+\def\tabu@begincolor@b@x {\kern\fboxsep \bgroup
+ \aftergroup\tabu@endcolor@b@x \set@color}
+\def\tabu@endcolor@b@x {\kern\fboxsep \egroup
+ \dimen@\ht\z@ \advance\dimen@ \fboxsep \ht\z@ \dimen@
+ \dimen@\dp\z@ \advance\dimen@ \fboxsep \dp\z@ \dimen@
+ \tabu@docolor@b@x \egroup
+}% \tabu@endcolor@b@x
+%% Corrections (arydshln, delarray, colortbl) -----------------------
+\def\tabu@fix@arrayright {%% \@arrayright is missing from \endarray
+ \iftabu@colortbl
+ \ifdefined\adl@array % <colortbl + arydshln>
+ \def\tabu@endarray{%
+ \adl@endarray \egroup \adl@arrayrestore \CT@end \egroup %<original>
+ \@arrayright % <FC>
+ \gdef\@preamble{}}% <FC>
+ \else % <colortbl / no arydshln>
+ \def\tabu@endarray{%
+ \crcr \egroup \egroup %<original>
+ \@arrayright % <FC>
+ \gdef\@preamble{}\CT@end}%
+ \fi
+ \else
+ \ifdefined\adl@array % <arydshln / no colortbl>
+ \def\tabu@endarray{%
+ \adl@endarray \egroup \adl@arrayrestore \egroup %<original>
+ \@arrayright % <FC>
+ \gdef\@preamble{}}% <FC>
+ \else % <no arydshln / no colotbl + \@arrayright missing>
+ \PackageWarning{tabu}
+ {\string\@arrayright\space is missing from the
+ \MessageBreak definition of \string\endarray.
+ \MessageBreak Compatibility with delarray.sty is broken.}%
+ \fi\fi
+}% \tabu@fix@arrayright
+\def\tabu@adl@xarraydashrule #1#2#3{%
+ \ifnum\@lastchclass=\adl@class@start\else
+ \ifnum\@lastchclass=\@ne\else
+ \ifnum\@lastchclass=5 \else % <FC> @-arg (class 5) and !-arg (class 1)
+ \adl@leftrulefalse \fi\fi % must be treated the same
+ \fi
+ \ifadl@zwvrule\else \ifadl@inactive\else
+ \@addtopreamble{\vrule\@width\arrayrulewidth
+ \@height\z@ \@depth\z@}\fi \fi
+ \ifadl@leftrule
+ \@addtopreamble{\adl@vlineL{\CT@arc@}{\adl@dashgapcolor}%
+ {\number#1}#3}%
+ \else \@addtopreamble{\adl@vlineR{\CT@arc@}{\adl@dashgapcolor}%
+ {\number#2}#3}
+ \fi
+}% \tabu@adl@xarraydashrule
+\def\tabu@adl@act@endpbox {%
+ \unskip \ifhmode \nobreak \fi \@finalstrut \@arstrutbox
+ \egroup \egroup
+ \adl@colhtdp \box\adl@box \hfil
+}% \tabu@adl@act@endpbox
+\def\tabu@adl@fix {%
+ \let\adl@xarraydashrule \tabu@adl@xarraydashrule % <fix> arydshln
+ \let\adl@act@endpbox \tabu@adl@act@endpbox % <fix> arydshln
+ \let\adl@act@@endpbox \tabu@adl@act@endpbox % <fix> arydshln
+ \let\@preamerror \@preamerr % <fix> arydshln
+}% \tabu@adl@fix
+%% Correction for longtable' \@startbox definition ------------------
+%% => \everypar is ``missing'' : TeX should be in vertical mode
+\def\tabu@LT@startpbox #1{%
+ \bgroup
+ \let\@footnotetext\LT@p@ftntext
+ \setlength\hsize{#1}%
+ \@arrayparboxrestore
+ \everypar{%
+ \vrule \@height \ht\@arstrutbox \@width \z@
+ \everypar{}}%
+}% \tabu@LT@startpbox
+%% \tracingtabu and the package options ------------------
+\DeclareOption{delarray}{\AtEndOfPackage{\RequirePackage{delarray}}}
+\DeclareOption{linegoal}{%
+ \AtEndOfPackage{%
+ \RequirePackage{linegoal}[2010/12/07]%
+ \let\tabudefaulttarget \linegoal% \linegoal is \linewidth if not pdfTeX
+}}
+\DeclareOption{scantokens}{\tabuscantokenstrue}
+\DeclareOption{debugshow}{\AtEndOfPackage{\tracingtabu=\tw@}}
+\def\tracingtabu {\begingroup\@ifnextchar=%
+ {\afterassignment\tabu@tracing\count@}
+ {\afterassignment\tabu@tracing\count@1\relax}}
+\def\tabu@tracing{\expandafter\endgroup
+ \expandafter\tabu@tr@cing \the\count@ \relax
+}% \tabu@tracing
+\def\tabu@tr@cing #1\relax {%
+ \ifnum#1>\thr@@ \let\tabu@tracinglines\message
+ \else \let\tabu@tracinglines\@gobble
+ \fi
+ \ifnum#1>\tw@ \let\tabu@DBG \tabu@@DBG
+ \def\tabu@mkarstrut {\tabu@DBG@arstrut}%
+ \tabustrutrule 1.5\p@
+ \else \let\tabu@DBG \@gobble
+ \def\tabu@mkarstrut {\tabu@arstrut}%
+ \tabustrutrule \z@
+ \fi
+ \ifnum#1>\@ne \let\tabu@debug \message
+ \else \let\tabu@debug \@gobble
+ \fi
+ \ifnum#1>\z@
+ \let\tabu@message \message
+ \let\tabu@tracing@save \tabu@message@save
+ \let\tabu@starttimer \tabu@pdftimer
+ \else
+ \let\tabu@message \@gobble
+ \let\tabu@tracing@save \@gobble
+ \let\tabu@starttimer \relax
+ \fi
+}% \tabu@tr@cing
+%% Setup \AtBeginDocument
+\AtBeginDocument{\tabu@AtBeginDocument}
+\def\tabu@AtBeginDocument{\let\tabu@AtBeginDocument \@undefined
+ \ifdefined\arrayrulecolor \tabu@colortbltrue % <colortbl>
+ \tabu@colortblalignments % different glues are used
+ \else \tabu@colortblfalse \fi
+ \ifdefined\CT@arc@ \else \let\CT@arc@ \relax \fi
+ \ifdefined\CT@drsc@\else \let\CT@drsc@ \relax \fi
+ \let\tabu@arc@L \CT@arc@ \let\tabu@drsc@L \CT@drsc@
+ \ifodd 1\ifcsname siunitx_table_collect_begin:Nn\endcsname % <siunitx: ok>
+ \expandafter\ifx
+ \csname siunitx_table_collect_begin:Nn\endcsname\relax 0\fi\fi\relax
+ \tabu@siunitxtrue
+ \else \let\tabu@maybesiunitx \@firstofone % <not siunitx: setup>
+ \let\tabu@siunitx \tabu@nosiunitx
+ \tabu@siunitxfalse
+ \fi
+ \ifdefined\adl@array % <arydshln>
+ \else \let\tabu@adl@fix \relax
+ \let\tabu@adl@endtrial \@empty \fi
+ \ifdefined\longtable % <longtable>
+ \else \let\longtabu \tabu@nolongtabu \fi
+ \ifdefined\cellspacetoplimit \tabu@warn@cellspace\fi
+ \csname\ifcsname ifHy@hyperfootnotes\endcsname % <hyperfootnotes>
+ ifHy@hyperfootnotes\else iffalse\fi\endcsname
+ \let\tabu@footnotetext \tabu@Hy@ftntext
+ \let\tabu@xfootnote \tabu@Hy@xfootnote \fi
+ \ifdefined\FV@DefineCheckEnd% <fancyvrb>
+ \tabu@fancyvrb \fi
+ \ifdefined\color % <color / xcolor>
+ \let\tabu@color \color
+ \def\tabu@leavevmodecolor ##1{%
+ \def\tabu@leavevmodecolor {\leavevmode ##1}%
+ }\expandafter\tabu@leavevmodecolor\expandafter{\color}%
+ \else
+ \let\tabu@color \tabu@nocolor
+ \let\tabu@leavevmodecolor \@firstofone \fi
+ \tabu@latextwoe
+ \ifdefined\@raggedtwoe@everyselectfont % <ragged2e>
+ \tabu@raggedtwoe
+ \else
+ \let\tabu@cell@L \tabu@cell@l
+ \let\tabu@cell@R \tabu@cell@r
+ \let\tabu@cell@C \tabu@cell@c
+ \let\tabu@cell@J \tabu@cell@j \fi
+ \expandafter\in@ \expandafter\@arrayright \expandafter{\endarray}%
+ \ifin@ \let\tabu@endarray \endarray
+ \else \tabu@fix@arrayright \fi% <fix for colortbl & arydshln (delarray)>
+ \everyrow{}%
+}% \tabu@AtBeginDocument
+\def\tabu@warn@cellspace{%
+ \PackageWarning{tabu}{%
+ Package cellspace has some limitations
+ \MessageBreak And redefines some macros of array.sty.
+ \MessageBreak Please use \string\tabulinesep\space to control
+ \MessageBreak vertical spacing of lines inside tabu environment}%
+}% \tabu@warn@cellspace
+%% tabu Package initialisation
+\tabuscantokensfalse
+\let\tabu@arc@G \relax
+\let\tabu@drsc@G \relax
+\let\tabu@evr@G \@empty
+\let\tabu@rc@G \@empty
+\def\tabu@ls@G {\tabu@linestyle@}%
+\let\tabu@@rowfontreset \@empty % <init>
+\let\tabu@@celllalign \@empty
+\let\tabu@@cellralign \@empty
+\let\tabu@@cellleft \@empty
+\let\tabu@@cellright \@empty
+\def\tabu@naturalXmin {\z@}
+\def\tabu@naturalXmax {\z@}
+\let\tabu@rowfontreset \@empty
+\def\tabulineon {4pt}\let\tabulineoff \tabulineon
+\tabu@everyrowtrue
+\ifdefined\pdfelapsedtime % <pdfTeX>
+ \def\tabu@pdftimer {\xdef\tabu@starttime{\the\pdfelapsedtime}}%
+\else \let\tabu@pdftimer \relax \let\tabu@message@etime \relax
+\fi
+\tracingtabu=\z@
+\newtabulinestyle {=\maxdimen}% creates the 'factory' settings \tabu@linestyle@
+\tabulinestyle{}
+\taburowcolors{}
+\let\tabudefaulttarget \linewidth
+\ProcessOptions* % \ProcessOptions* is quicker !
+\endinput
+%%
+%% End of file `tabu.sty'.
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/tstfuncs_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/tstfuncs_8cpp.tex
new file mode 100644
index 0000000..86ee7de
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/tstfuncs_8cpp.tex
@@ -0,0 +1,118 @@
+\hypertarget{tstfuncs_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/tstfuncs.cpp File Reference}
+\label{tstfuncs_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/tstfuncs.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/tstfuncs.cpp}}
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+xb\+Double \mbox{\hyperlink{tstfuncs_8cpp_af990eed1e43605771a5810196b4043f7}{Chron\+Time}} ()
+\item
+void \mbox{\hyperlink{tstfuncs_8cpp_ab1f17da15e67a8b2460d5a88b7a3db6e}{Init\+Time}} ()
+\item
+xb\+Bool \mbox{\hyperlink{tstfuncs_8cpp_a8b8e417213c57f2ea0bcb61a7fb28860}{dbl\+Equals}} (xb\+Double a, xb\+Double b, xb\+Double epsilon)
+\item
+xb\+Int16 \mbox{\hyperlink{tstfuncs_8cpp_a265547b80a3aef5836952bede5288e2c}{Test\+Method}} (xb\+Int16 Print\+Option, const char $\ast$title, const xb\+String \&result, const char $\ast$expected\+Result, size\+\_\+t expected\+Len)
+\item
+xb\+Int16 \mbox{\hyperlink{tstfuncs_8cpp_a9c27703ef863c9d29680844fc5124953}{Test\+Method}} (xb\+Int16 Print\+Option, const char $\ast$title, char result, char expected\+Result)
+\item
+xb\+Int16 \mbox{\hyperlink{tstfuncs_8cpp_ae6536e920580382389126d5f66655f90}{Test\+Method}} (xb\+Int16 Print\+Option, const char $\ast$title, xb\+Int32 result, xb\+Int32 expected\+Result)
+\item
+xb\+Int16 \mbox{\hyperlink{tstfuncs_8cpp_a000fca67bc0fffea3d3da7a5317a06e4}{Test\+Method}} (xb\+Int16 Print\+Option, const char $\ast$title, xb\+UInt64 result, xb\+UInt64 expected\+Result)
+\item
+xb\+Int16 \mbox{\hyperlink{tstfuncs_8cpp_a663f3dd7bd8574a35c1b1b9a22081c6d}{Test\+Method}} (xb\+Int16 Print\+Option, const char $\ast$title, xb\+Float result, xb\+Float expected\+Result)
+\item
+xb\+Int16 \mbox{\hyperlink{tstfuncs_8cpp_af1c78fb72bcd39eb86f11aa2887fe62c}{Test\+Method}} (xb\+Int16 Print\+Option, const char $\ast$title, xb\+Double result, xb\+Double expected\+Result)
+\item
+xb\+Int16 \mbox{\hyperlink{tstfuncs_8cpp_ac64a0bed74ba10b638456709f128f893}{Test\+Method}} (xb\+Int16 Print\+Option, const char $\ast$title, xb\+Double result, xb\+Double expected\+Result, xb\+Double d\+Epsilon)
+\item
+xb\+Double \mbox{\hyperlink{tstfuncs_8cpp_a69a6e718e066af7f8392e5f1fea40d1b}{dbl\+Max}} (xb\+Double a, xb\+Double b)
+\item
+xb\+Double \mbox{\hyperlink{tstfuncs_8cpp_a4d7b8f3f1ce52c6c0a281f25419f4c93}{dbl\+Min}} (xb\+Double a, xb\+Double b)
+\end{DoxyCompactItemize}
+\doxysubsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+time\+\_\+t \mbox{\hyperlink{tstfuncs_8cpp_ae2281da6157495d69406c35f69a61f9f}{timer}}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{tstfuncs_8cpp_af990eed1e43605771a5810196b4043f7}\label{tstfuncs_8cpp_af990eed1e43605771a5810196b4043f7}}
+\index{tstfuncs.cpp@{tstfuncs.cpp}!ChronTime@{ChronTime}}
+\index{ChronTime@{ChronTime}!tstfuncs.cpp@{tstfuncs.cpp}}
+\doxysubsubsection{\texorpdfstring{ChronTime()}{ChronTime()}}
+{\footnotesize\ttfamily xb\+Double Chron\+Time (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{tstfuncs_8cpp_a8b8e417213c57f2ea0bcb61a7fb28860}\label{tstfuncs_8cpp_a8b8e417213c57f2ea0bcb61a7fb28860}}
+\index{tstfuncs.cpp@{tstfuncs.cpp}!dblEquals@{dblEquals}}
+\index{dblEquals@{dblEquals}!tstfuncs.cpp@{tstfuncs.cpp}}
+\doxysubsubsection{\texorpdfstring{dblEquals()}{dblEquals()}}
+{\footnotesize\ttfamily xb\+Bool dbl\+Equals (\begin{DoxyParamCaption}\item[{xb\+Double}]{a, }\item[{xb\+Double}]{b, }\item[{xb\+Double}]{epsilon = {\ttfamily 0.0001} }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{tstfuncs_8cpp_a69a6e718e066af7f8392e5f1fea40d1b}\label{tstfuncs_8cpp_a69a6e718e066af7f8392e5f1fea40d1b}}
+\index{tstfuncs.cpp@{tstfuncs.cpp}!dblMax@{dblMax}}
+\index{dblMax@{dblMax}!tstfuncs.cpp@{tstfuncs.cpp}}
+\doxysubsubsection{\texorpdfstring{dblMax()}{dblMax()}}
+{\footnotesize\ttfamily xb\+Double dbl\+Max (\begin{DoxyParamCaption}\item[{xb\+Double}]{a, }\item[{xb\+Double}]{b }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{tstfuncs_8cpp_a4d7b8f3f1ce52c6c0a281f25419f4c93}\label{tstfuncs_8cpp_a4d7b8f3f1ce52c6c0a281f25419f4c93}}
+\index{tstfuncs.cpp@{tstfuncs.cpp}!dblMin@{dblMin}}
+\index{dblMin@{dblMin}!tstfuncs.cpp@{tstfuncs.cpp}}
+\doxysubsubsection{\texorpdfstring{dblMin()}{dblMin()}}
+{\footnotesize\ttfamily xb\+Double dbl\+Min (\begin{DoxyParamCaption}\item[{xb\+Double}]{a, }\item[{xb\+Double}]{b }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{tstfuncs_8cpp_ab1f17da15e67a8b2460d5a88b7a3db6e}\label{tstfuncs_8cpp_ab1f17da15e67a8b2460d5a88b7a3db6e}}
+\index{tstfuncs.cpp@{tstfuncs.cpp}!InitTime@{InitTime}}
+\index{InitTime@{InitTime}!tstfuncs.cpp@{tstfuncs.cpp}}
+\doxysubsubsection{\texorpdfstring{InitTime()}{InitTime()}}
+{\footnotesize\ttfamily void Init\+Time (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{tstfuncs_8cpp_a9c27703ef863c9d29680844fc5124953}\label{tstfuncs_8cpp_a9c27703ef863c9d29680844fc5124953}}
+\index{tstfuncs.cpp@{tstfuncs.cpp}!TestMethod@{TestMethod}}
+\index{TestMethod@{TestMethod}!tstfuncs.cpp@{tstfuncs.cpp}}
+\doxysubsubsection{\texorpdfstring{TestMethod()}{TestMethod()}\hspace{0.1cm}{\footnotesize\ttfamily [1/7]}}
+{\footnotesize\ttfamily xb\+Int16 Test\+Method (\begin{DoxyParamCaption}\item[{xb\+Int16}]{Print\+Option, }\item[{const char $\ast$}]{title, }\item[{char}]{result, }\item[{char}]{expected\+Result }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{tstfuncs_8cpp_a265547b80a3aef5836952bede5288e2c}\label{tstfuncs_8cpp_a265547b80a3aef5836952bede5288e2c}}
+\index{tstfuncs.cpp@{tstfuncs.cpp}!TestMethod@{TestMethod}}
+\index{TestMethod@{TestMethod}!tstfuncs.cpp@{tstfuncs.cpp}}
+\doxysubsubsection{\texorpdfstring{TestMethod()}{TestMethod()}\hspace{0.1cm}{\footnotesize\ttfamily [2/7]}}
+{\footnotesize\ttfamily xb\+Int16 Test\+Method (\begin{DoxyParamCaption}\item[{xb\+Int16}]{Print\+Option, }\item[{const char $\ast$}]{title, }\item[{const xb\+String \&}]{result, }\item[{const char $\ast$}]{expected\+Result, }\item[{size\+\_\+t}]{expected\+Len }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{tstfuncs_8cpp_af1c78fb72bcd39eb86f11aa2887fe62c}\label{tstfuncs_8cpp_af1c78fb72bcd39eb86f11aa2887fe62c}}
+\index{tstfuncs.cpp@{tstfuncs.cpp}!TestMethod@{TestMethod}}
+\index{TestMethod@{TestMethod}!tstfuncs.cpp@{tstfuncs.cpp}}
+\doxysubsubsection{\texorpdfstring{TestMethod()}{TestMethod()}\hspace{0.1cm}{\footnotesize\ttfamily [3/7]}}
+{\footnotesize\ttfamily xb\+Int16 Test\+Method (\begin{DoxyParamCaption}\item[{xb\+Int16}]{Print\+Option, }\item[{const char $\ast$}]{title, }\item[{xb\+Double}]{result, }\item[{xb\+Double}]{expected\+Result }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{tstfuncs_8cpp_ac64a0bed74ba10b638456709f128f893}\label{tstfuncs_8cpp_ac64a0bed74ba10b638456709f128f893}}
+\index{tstfuncs.cpp@{tstfuncs.cpp}!TestMethod@{TestMethod}}
+\index{TestMethod@{TestMethod}!tstfuncs.cpp@{tstfuncs.cpp}}
+\doxysubsubsection{\texorpdfstring{TestMethod()}{TestMethod()}\hspace{0.1cm}{\footnotesize\ttfamily [4/7]}}
+{\footnotesize\ttfamily xb\+Int16 Test\+Method (\begin{DoxyParamCaption}\item[{xb\+Int16}]{Print\+Option, }\item[{const char $\ast$}]{title, }\item[{xb\+Double}]{result, }\item[{xb\+Double}]{expected\+Result, }\item[{xb\+Double}]{d\+Epsilon }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{tstfuncs_8cpp_a663f3dd7bd8574a35c1b1b9a22081c6d}\label{tstfuncs_8cpp_a663f3dd7bd8574a35c1b1b9a22081c6d}}
+\index{tstfuncs.cpp@{tstfuncs.cpp}!TestMethod@{TestMethod}}
+\index{TestMethod@{TestMethod}!tstfuncs.cpp@{tstfuncs.cpp}}
+\doxysubsubsection{\texorpdfstring{TestMethod()}{TestMethod()}\hspace{0.1cm}{\footnotesize\ttfamily [5/7]}}
+{\footnotesize\ttfamily xb\+Int16 Test\+Method (\begin{DoxyParamCaption}\item[{xb\+Int16}]{Print\+Option, }\item[{const char $\ast$}]{title, }\item[{xb\+Float}]{result, }\item[{xb\+Float}]{expected\+Result }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{tstfuncs_8cpp_ae6536e920580382389126d5f66655f90}\label{tstfuncs_8cpp_ae6536e920580382389126d5f66655f90}}
+\index{tstfuncs.cpp@{tstfuncs.cpp}!TestMethod@{TestMethod}}
+\index{TestMethod@{TestMethod}!tstfuncs.cpp@{tstfuncs.cpp}}
+\doxysubsubsection{\texorpdfstring{TestMethod()}{TestMethod()}\hspace{0.1cm}{\footnotesize\ttfamily [6/7]}}
+{\footnotesize\ttfamily xb\+Int16 Test\+Method (\begin{DoxyParamCaption}\item[{xb\+Int16}]{Print\+Option, }\item[{const char $\ast$}]{title, }\item[{xb\+Int32}]{result, }\item[{xb\+Int32}]{expected\+Result }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{tstfuncs_8cpp_a000fca67bc0fffea3d3da7a5317a06e4}\label{tstfuncs_8cpp_a000fca67bc0fffea3d3da7a5317a06e4}}
+\index{tstfuncs.cpp@{tstfuncs.cpp}!TestMethod@{TestMethod}}
+\index{TestMethod@{TestMethod}!tstfuncs.cpp@{tstfuncs.cpp}}
+\doxysubsubsection{\texorpdfstring{TestMethod()}{TestMethod()}\hspace{0.1cm}{\footnotesize\ttfamily [7/7]}}
+{\footnotesize\ttfamily xb\+Int16 Test\+Method (\begin{DoxyParamCaption}\item[{xb\+Int16}]{Print\+Option, }\item[{const char $\ast$}]{title, }\item[{xb\+UInt64}]{result, }\item[{xb\+UInt64}]{expected\+Result }\end{DoxyParamCaption})}
+
+
+
+\doxysubsection{Variable Documentation}
+\mbox{\Hypertarget{tstfuncs_8cpp_ae2281da6157495d69406c35f69a61f9f}\label{tstfuncs_8cpp_ae2281da6157495d69406c35f69a61f9f}}
+\index{tstfuncs.cpp@{tstfuncs.cpp}!timer@{timer}}
+\index{timer@{timer}!tstfuncs.cpp@{tstfuncs.cpp}}
+\doxysubsubsection{\texorpdfstring{timer}{timer}}
+{\footnotesize\ttfamily time\+\_\+t timer}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__cfg__check_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__cfg__check_8cpp.tex
new file mode 100644
index 0000000..89a9502
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__cfg__check_8cpp.tex
@@ -0,0 +1,19 @@
+\hypertarget{xb__cfg__check_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\+\_\+cfg\+\_\+check.cpp File Reference}
+\label{xb__cfg__check_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_cfg\_check.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_cfg\_check.cpp}}
+{\ttfamily \#include $<$stdio.\+h$>$}\newline
+{\ttfamily \#include $<$stdlib.\+h$>$}\newline
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__cfg__check_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main}} ()
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__cfg__check_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}\label{xb__cfg__check_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}}
+\index{xb\_cfg\_check.cpp@{xb\_cfg\_check.cpp}!main@{main}}
+\index{main@{main}!xb\_cfg\_check.cpp@{xb\_cfg\_check.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__copydbf_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__copydbf_8cpp.tex
new file mode 100644
index 0000000..f16df05
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__copydbf_8cpp.tex
@@ -0,0 +1,33 @@
+\hypertarget{xb__copydbf_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\+\_\+copydbf.cpp File Reference}
+\label{xb__copydbf_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_copydbf.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_copydbf.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{xb__copydbf_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}{Print\+Help}} ()
+\item
+void \mbox{\hyperlink{xb__copydbf_8cpp_a1fae5968f70747445d63f63065fb7ef3}{Print\+Version}} ()
+\item
+int \mbox{\hyperlink{xb__copydbf_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{main}} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__copydbf_8cpp_a0ddf1224851353fc92bfbff6f499fa97}\label{xb__copydbf_8cpp_a0ddf1224851353fc92bfbff6f499fa97}}
+\index{xb\_copydbf.cpp@{xb\_copydbf.cpp}!main@{main}}
+\index{main@{main}!xb\_copydbf.cpp@{xb\_copydbf.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc, }\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__copydbf_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}\label{xb__copydbf_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}}
+\index{xb\_copydbf.cpp@{xb\_copydbf.cpp}!PrintHelp@{PrintHelp}}
+\index{PrintHelp@{PrintHelp}!xb\_copydbf.cpp@{xb\_copydbf.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintHelp()}{PrintHelp()}}
+{\footnotesize\ttfamily void Print\+Help (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__copydbf_8cpp_a1fae5968f70747445d63f63065fb7ef3}\label{xb__copydbf_8cpp_a1fae5968f70747445d63f63065fb7ef3}}
+\index{xb\_copydbf.cpp@{xb\_copydbf.cpp}!PrintVersion@{PrintVersion}}
+\index{PrintVersion@{PrintVersion}!xb\_copydbf.cpp@{xb\_copydbf.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintVersion()}{PrintVersion()}}
+{\footnotesize\ttfamily void Print\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dbfutil_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dbfutil_8cpp.tex
new file mode 100644
index 0000000..1d05027
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dbfutil_8cpp.tex
@@ -0,0 +1,33 @@
+\hypertarget{xb__dbfutil_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\+\_\+dbfutil.cpp File Reference}
+\label{xb__dbfutil_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_dbfutil.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_dbfutil.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+DOXYOFF void \mbox{\hyperlink{xb__dbfutil_8cpp_a9c55a055e1cd4249c7f47e19dc7ac564}{Print\+Help}} ()
+\item
+void \mbox{\hyperlink{xb__dbfutil_8cpp_a1fae5968f70747445d63f63065fb7ef3}{Print\+Version}} ()
+\item
+int \mbox{\hyperlink{xb__dbfutil_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{main}} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__dbfutil_8cpp_a0ddf1224851353fc92bfbff6f499fa97}\label{xb__dbfutil_8cpp_a0ddf1224851353fc92bfbff6f499fa97}}
+\index{xb\_dbfutil.cpp@{xb\_dbfutil.cpp}!main@{main}}
+\index{main@{main}!xb\_dbfutil.cpp@{xb\_dbfutil.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc, }\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__dbfutil_8cpp_a9c55a055e1cd4249c7f47e19dc7ac564}\label{xb__dbfutil_8cpp_a9c55a055e1cd4249c7f47e19dc7ac564}}
+\index{xb\_dbfutil.cpp@{xb\_dbfutil.cpp}!PrintHelp@{PrintHelp}}
+\index{PrintHelp@{PrintHelp}!xb\_dbfutil.cpp@{xb\_dbfutil.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintHelp()}{PrintHelp()}}
+{\footnotesize\ttfamily DOXYOFF void Print\+Help (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__dbfutil_8cpp_a1fae5968f70747445d63f63065fb7ef3}\label{xb__dbfutil_8cpp_a1fae5968f70747445d63f63065fb7ef3}}
+\index{xb\_dbfutil.cpp@{xb\_dbfutil.cpp}!PrintVersion@{PrintVersion}}
+\index{PrintVersion@{PrintVersion}!xb\_dbfutil.cpp@{xb\_dbfutil.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintVersion()}{PrintVersion()}}
+{\footnotesize\ttfamily void Print\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__deletall_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__deletall_8cpp.tex
new file mode 100644
index 0000000..4cdfbc0
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__deletall_8cpp.tex
@@ -0,0 +1,33 @@
+\hypertarget{xb__deletall_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\+\_\+deletall.cpp File Reference}
+\label{xb__deletall_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_deletall.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_deletall.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{xb__deletall_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}{Print\+Help}} ()
+\item
+void \mbox{\hyperlink{xb__deletall_8cpp_a1fae5968f70747445d63f63065fb7ef3}{Print\+Version}} ()
+\item
+int \mbox{\hyperlink{xb__deletall_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{main}} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__deletall_8cpp_a0ddf1224851353fc92bfbff6f499fa97}\label{xb__deletall_8cpp_a0ddf1224851353fc92bfbff6f499fa97}}
+\index{xb\_deletall.cpp@{xb\_deletall.cpp}!main@{main}}
+\index{main@{main}!xb\_deletall.cpp@{xb\_deletall.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc, }\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__deletall_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}\label{xb__deletall_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}}
+\index{xb\_deletall.cpp@{xb\_deletall.cpp}!PrintHelp@{PrintHelp}}
+\index{PrintHelp@{PrintHelp}!xb\_deletall.cpp@{xb\_deletall.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintHelp()}{PrintHelp()}}
+{\footnotesize\ttfamily void Print\+Help (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__deletall_8cpp_a1fae5968f70747445d63f63065fb7ef3}\label{xb__deletall_8cpp_a1fae5968f70747445d63f63065fb7ef3}}
+\index{xb\_deletall.cpp@{xb\_deletall.cpp}!PrintVersion@{PrintVersion}}
+\index{PrintVersion@{PrintVersion}!xb\_deletall.cpp@{xb\_deletall.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintVersion()}{PrintVersion()}}
+{\footnotesize\ttfamily void Print\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumpdbt_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumpdbt_8cpp.tex
new file mode 100644
index 0000000..391ee23
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumpdbt_8cpp.tex
@@ -0,0 +1,33 @@
+\hypertarget{xb__dumpdbt_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\+\_\+dumpdbt.cpp File Reference}
+\label{xb__dumpdbt_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_dumpdbt.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_dumpdbt.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{xb__dumpdbt_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}{Print\+Help}} ()
+\item
+void \mbox{\hyperlink{xb__dumpdbt_8cpp_a1fae5968f70747445d63f63065fb7ef3}{Print\+Version}} ()
+\item
+int \mbox{\hyperlink{xb__dumpdbt_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{main}} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__dumpdbt_8cpp_a0ddf1224851353fc92bfbff6f499fa97}\label{xb__dumpdbt_8cpp_a0ddf1224851353fc92bfbff6f499fa97}}
+\index{xb\_dumpdbt.cpp@{xb\_dumpdbt.cpp}!main@{main}}
+\index{main@{main}!xb\_dumpdbt.cpp@{xb\_dumpdbt.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc, }\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__dumpdbt_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}\label{xb__dumpdbt_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}}
+\index{xb\_dumpdbt.cpp@{xb\_dumpdbt.cpp}!PrintHelp@{PrintHelp}}
+\index{PrintHelp@{PrintHelp}!xb\_dumpdbt.cpp@{xb\_dumpdbt.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintHelp()}{PrintHelp()}}
+{\footnotesize\ttfamily void Print\+Help (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__dumpdbt_8cpp_a1fae5968f70747445d63f63065fb7ef3}\label{xb__dumpdbt_8cpp_a1fae5968f70747445d63f63065fb7ef3}}
+\index{xb\_dumpdbt.cpp@{xb\_dumpdbt.cpp}!PrintVersion@{PrintVersion}}
+\index{PrintVersion@{PrintVersion}!xb\_dumpdbt.cpp@{xb\_dumpdbt.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintVersion()}{PrintVersion()}}
+{\footnotesize\ttfamily void Print\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumphdr_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumphdr_8cpp.tex
new file mode 100644
index 0000000..2f7ac2a
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumphdr_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{xb__dumphdr_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.1/src/utils/xb\+\_\+dumphdr.cpp File Reference}
+\label{xb__dumphdr_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.1/src/utils/xb\_dumphdr.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.1/src/utils/xb\_dumphdr.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__dumphdr_8cpp_a0c99d968a34e803d378692bde2e3f18f}{main}} (int ac, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__dumphdr_8cpp_a0c99d968a34e803d378692bde2e3f18f}\label{xb__dumphdr_8cpp_a0c99d968a34e803d378692bde2e3f18f}}
+\index{xb\_dumphdr.cpp@{xb\_dumphdr.cpp}!main@{main}}
+\index{main@{main}!xb\_dumphdr.cpp@{xb\_dumphdr.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{ac, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumpix_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumpix_8cpp.tex
new file mode 100644
index 0000000..b6d917e
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumpix_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{xb__dumpix_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.1/src/utils/xb\+\_\+dumpix.cpp File Reference}
+\label{xb__dumpix_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.1/src/utils/xb\_dumpix.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.1/src/utils/xb\_dumpix.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__dumpix_8cpp_a0c99d968a34e803d378692bde2e3f18f}{main}} (int ac, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__dumpix_8cpp_a0c99d968a34e803d378692bde2e3f18f}\label{xb__dumpix_8cpp_a0c99d968a34e803d378692bde2e3f18f}}
+\index{xb\_dumpix.cpp@{xb\_dumpix.cpp}!main@{main}}
+\index{main@{main}!xb\_dumpix.cpp@{xb\_dumpix.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{ac, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumprecs_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumprecs_8cpp.tex
new file mode 100644
index 0000000..eb00bb6
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__dumprecs_8cpp.tex
@@ -0,0 +1,33 @@
+\hypertarget{xb__dumprecs_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\+\_\+dumprecs.cpp File Reference}
+\label{xb__dumprecs_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_dumprecs.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_dumprecs.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{xb__dumprecs_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}{Print\+Help}} ()
+\item
+void \mbox{\hyperlink{xb__dumprecs_8cpp_a1fae5968f70747445d63f63065fb7ef3}{Print\+Version}} ()
+\item
+int \mbox{\hyperlink{xb__dumprecs_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{main}} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__dumprecs_8cpp_a0ddf1224851353fc92bfbff6f499fa97}\label{xb__dumprecs_8cpp_a0ddf1224851353fc92bfbff6f499fa97}}
+\index{xb\_dumprecs.cpp@{xb\_dumprecs.cpp}!main@{main}}
+\index{main@{main}!xb\_dumprecs.cpp@{xb\_dumprecs.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc, }\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__dumprecs_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}\label{xb__dumprecs_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}}
+\index{xb\_dumprecs.cpp@{xb\_dumprecs.cpp}!PrintHelp@{PrintHelp}}
+\index{PrintHelp@{PrintHelp}!xb\_dumprecs.cpp@{xb\_dumprecs.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintHelp()}{PrintHelp()}}
+{\footnotesize\ttfamily void Print\+Help (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__dumprecs_8cpp_a1fae5968f70747445d63f63065fb7ef3}\label{xb__dumprecs_8cpp_a1fae5968f70747445d63f63065fb7ef3}}
+\index{xb\_dumprecs.cpp@{xb\_dumprecs.cpp}!PrintVersion@{PrintVersion}}
+\index{PrintVersion@{PrintVersion}!xb\_dumprecs.cpp@{xb\_dumprecs.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintVersion()}{PrintVersion()}}
+{\footnotesize\ttfamily void Print\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__date_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__date_8cpp.tex
new file mode 100644
index 0000000..4aa2f8f
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__date_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{xb__ex__date_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\+\_\+ex\+\_\+date.cpp File Reference}
+\label{xb__ex__date_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_date.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_date.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__ex__date_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main}} ()
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__ex__date_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}\label{xb__ex__date_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}}
+\index{xb\_ex\_date.cpp@{xb\_ex\_date.cpp}!main@{main}}
+\index{main@{main}!xb\_ex\_date.cpp@{xb\_ex\_date.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__expression_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__expression_8cpp.tex
new file mode 100644
index 0000000..403730f
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__expression_8cpp.tex
@@ -0,0 +1,51 @@
+\hypertarget{xb__ex__expression_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\+\_\+ex\+\_\+expression.cpp File Reference}
+\label{xb__ex__expression_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_expression.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_expression.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{xb__ex__expression_8cpp_a3234afc912211aec54c10d363d28cbda}{Print\+Result}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} $\ast$s\+Expression, xb\+Exp $\ast$exp)
+\item
+int \mbox{\hyperlink{xb__ex__expression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main}} ()
+\end{DoxyCompactItemize}
+\doxysubsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} \mbox{\hyperlink{xb__ex__expression_8cpp_a2122b9562802e2fd799b20454000dc99}{My\+V4\+Record}} \mbox{[}$\,$\mbox{]}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__ex__expression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}\label{xb__ex__expression_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}}
+\index{xb\_ex\_expression.cpp@{xb\_ex\_expression.cpp}!main@{main}}
+\index{main@{main}!xb\_ex\_expression.cpp@{xb\_ex\_expression.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__ex__expression_8cpp_a3234afc912211aec54c10d363d28cbda}\label{xb__ex__expression_8cpp_a3234afc912211aec54c10d363d28cbda}}
+\index{xb\_ex\_expression.cpp@{xb\_ex\_expression.cpp}!PrintResult@{PrintResult}}
+\index{PrintResult@{PrintResult}!xb\_ex\_expression.cpp@{xb\_ex\_expression.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintResult()}{PrintResult()}}
+{\footnotesize\ttfamily void Print\+Result (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} $\ast$}]{s\+Expression, }\item[{xb\+Exp $\ast$}]{exp }\end{DoxyParamCaption})}
+
+
+
+\doxysubsection{Variable Documentation}
+\mbox{\Hypertarget{xb__ex__expression_8cpp_a2122b9562802e2fd799b20454000dc99}\label{xb__ex__expression_8cpp_a2122b9562802e2fd799b20454000dc99}}
+\index{xb\_ex\_expression.cpp@{xb\_ex\_expression.cpp}!MyV4Record@{MyV4Record}}
+\index{MyV4Record@{MyV4Record}!xb\_ex\_expression.cpp@{xb\_ex\_expression.cpp}}
+\doxysubsubsection{\texorpdfstring{MyV4Record}{MyV4Record}}
+{\footnotesize\ttfamily \mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} My\+V4\+Record\mbox{[}$\,$\mbox{]}}
+
+{\bfseries Initial value\+:}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{= }
+\DoxyCodeLine{ \{}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}CFLD1"{}}, \mbox{\hyperlink{xbdbf_8h_a20f739b9d9dc6a002a246a999e76aeaa}{XB\_CHAR\_FLD}}, 20, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}CFLD2"{}}, \mbox{\hyperlink{xbdbf_8h_a20f739b9d9dc6a002a246a999e76aeaa}{XB\_CHAR\_FLD}}, 10, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}NFLD1"{}}, \mbox{\hyperlink{xbdbf_8h_ae9fb6d69cc5edc94d36ae403c22ec1c6}{XB\_NUMERIC\_FLD}}, 5, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}DATE1"{}}, \mbox{\hyperlink{xbdbf_8h_a7f685e6f5fe804b2174725a27ce73adc}{XB\_DATE\_FLD}}, 8, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}"{}},0,0,0 \}}
+\DoxyCodeLine{ \}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__log_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__log_8cpp.tex
new file mode 100644
index 0000000..2309d5b
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__log_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{xb__ex__log_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\+\_\+ex\+\_\+log.cpp File Reference}
+\label{xb__ex__log_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_log.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_log.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__ex__log_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__ex__log_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__ex__log_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_ex\_log.cpp@{xb\_ex\_log.cpp}!main@{main}}
+\index{main@{main}!xb\_ex\_log.cpp@{xb\_ex\_log.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__sql_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__sql_8cpp.tex
new file mode 100644
index 0000000..8d616c1
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__sql_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{xb__ex__sql_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\+\_\+ex\+\_\+sql.cpp File Reference}
+\label{xb__ex__sql_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_sql.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_sql.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__ex__sql_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__ex__sql_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__ex__sql_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_ex\_sql.cpp@{xb\_ex\_sql.cpp}!main@{main}}
+\index{main@{main}!xb\_ex\_sql.cpp@{xb\_ex\_sql.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__ssv_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__ssv_8cpp.tex
new file mode 100644
index 0000000..8afd63a
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__ssv_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{xb__ex__ssv_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\+\_\+ex\+\_\+ssv.cpp File Reference}
+\label{xb__ex__ssv_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_ssv.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_ssv.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__ex__ssv_8cpp_a6438fb6826a353355708e08b4395d689}{main}} (int, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__ex__ssv_8cpp_a6438fb6826a353355708e08b4395d689}\label{xb__ex__ssv_8cpp_a6438fb6826a353355708e08b4395d689}}
+\index{xb\_ex\_ssv.cpp@{xb\_ex\_ssv.cpp}!main@{main}}
+\index{main@{main}!xb\_ex\_ssv.cpp@{xb\_ex\_ssv.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__string_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__string_8cpp.tex
new file mode 100644
index 0000000..1e9b704
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__string_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{xb__ex__string_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\+\_\+ex\+\_\+string.cpp File Reference}
+\label{xb__ex__string_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_string.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_string.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__ex__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main}} ()
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__ex__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}\label{xb__ex__string_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}}
+\index{xb\_ex\_string.cpp@{xb\_ex\_string.cpp}!main@{main}}
+\index{main@{main}!xb\_ex\_string.cpp@{xb\_ex\_string.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v3__create__dbf_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v3__create__dbf_8cpp.tex
new file mode 100644
index 0000000..f5dcd9d
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v3__create__dbf_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{xb__ex__v3__create__dbf_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\+\_\+ex\+\_\+v3\+\_\+create\+\_\+dbf.cpp File Reference}
+\label{xb__ex__v3__create__dbf_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_v3\_create\_dbf.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_v3\_create\_dbf.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__ex__v3__create__dbf_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main}} ()
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__ex__v3__create__dbf_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}\label{xb__ex__v3__create__dbf_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}}
+\index{xb\_ex\_v3\_create\_dbf.cpp@{xb\_ex\_v3\_create\_dbf.cpp}!main@{main}}
+\index{main@{main}!xb\_ex\_v3\_create\_dbf.cpp@{xb\_ex\_v3\_create\_dbf.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v3__upd__dbf_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v3__upd__dbf_8cpp.tex
new file mode 100644
index 0000000..8b088aa
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v3__upd__dbf_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{xb__ex__v3__upd__dbf_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\+\_\+ex\+\_\+v3\+\_\+upd\+\_\+dbf.cpp File Reference}
+\label{xb__ex__v3__upd__dbf_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_v3\_upd\_dbf.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_v3\_upd\_dbf.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__ex__v3__upd__dbf_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main}} ()
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__ex__v3__upd__dbf_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}\label{xb__ex__v3__upd__dbf_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}}
+\index{xb\_ex\_v3\_upd\_dbf.cpp@{xb\_ex\_v3\_upd\_dbf.cpp}!main@{main}}
+\index{main@{main}!xb\_ex\_v3\_upd\_dbf.cpp@{xb\_ex\_v3\_upd\_dbf.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v4__create__dbf_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v4__create__dbf_8cpp.tex
new file mode 100644
index 0000000..8ebb219
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v4__create__dbf_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{xb__ex__v4__create__dbf_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\+\_\+ex\+\_\+v4\+\_\+create\+\_\+dbf.cpp File Reference}
+\label{xb__ex__v4__create__dbf_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_v4\_create\_dbf.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_v4\_create\_dbf.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__ex__v4__create__dbf_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main}} ()
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__ex__v4__create__dbf_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}\label{xb__ex__v4__create__dbf_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}}
+\index{xb\_ex\_v4\_create\_dbf.cpp@{xb\_ex\_v4\_create\_dbf.cpp}!main@{main}}
+\index{main@{main}!xb\_ex\_v4\_create\_dbf.cpp@{xb\_ex\_v4\_create\_dbf.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v4__upd__dbf_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v4__upd__dbf_8cpp.tex
new file mode 100644
index 0000000..020f2a9
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__ex__v4__upd__dbf_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{xb__ex__v4__upd__dbf_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\+\_\+ex\+\_\+v4\+\_\+upd\+\_\+dbf.cpp File Reference}
+\label{xb__ex__v4__upd__dbf_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_v4\_upd\_dbf.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/examples/xb\_ex\_v4\_upd\_dbf.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__ex__v4__upd__dbf_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main}} ()
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__ex__v4__upd__dbf_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}\label{xb__ex__v4__upd__dbf_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}}
+\index{xb\_ex\_v4\_upd\_dbf.cpp@{xb\_ex\_v4\_upd\_dbf.cpp}!main@{main}}
+\index{main@{main}!xb\_ex\_v4\_upd\_dbf.cpp@{xb\_ex\_v4\_upd\_dbf.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__execsql_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__execsql_8cpp.tex
new file mode 100644
index 0000000..3c77216
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__execsql_8cpp.tex
@@ -0,0 +1,41 @@
+\hypertarget{xb__execsql_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\+\_\+execsql.cpp File Reference}
+\label{xb__execsql_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_execsql.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_execsql.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{xb__execsql_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}{Print\+Help}} ()
+\item
+void \mbox{\hyperlink{xb__execsql_8cpp_a1fae5968f70747445d63f63065fb7ef3}{Print\+Version}} ()
+\item
+xb\+Int16 \mbox{\hyperlink{xb__execsql_8cpp_adb176b752e38521fdb334b4976965945}{Get\+Next\+Sql\+Cmd}} (\mbox{\hyperlink{classxb_1_1xbFile}{xb\+File}} \&f, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Cmd, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Quiet)
+\item
+int \mbox{\hyperlink{xb__execsql_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{main}} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__execsql_8cpp_adb176b752e38521fdb334b4976965945}\label{xb__execsql_8cpp_adb176b752e38521fdb334b4976965945}}
+\index{xb\_execsql.cpp@{xb\_execsql.cpp}!GetNextSqlCmd@{GetNextSqlCmd}}
+\index{GetNextSqlCmd@{GetNextSqlCmd}!xb\_execsql.cpp@{xb\_execsql.cpp}}
+\doxysubsubsection{\texorpdfstring{GetNextSqlCmd()}{GetNextSqlCmd()}}
+{\footnotesize\ttfamily xb\+Int16 Get\+Next\+Sql\+Cmd (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbFile}{xb\+File}} \&}]{f, }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Cmd, }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Quiet }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__execsql_8cpp_a0ddf1224851353fc92bfbff6f499fa97}\label{xb__execsql_8cpp_a0ddf1224851353fc92bfbff6f499fa97}}
+\index{xb\_execsql.cpp@{xb\_execsql.cpp}!main@{main}}
+\index{main@{main}!xb\_execsql.cpp@{xb\_execsql.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc, }\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__execsql_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}\label{xb__execsql_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}}
+\index{xb\_execsql.cpp@{xb\_execsql.cpp}!PrintHelp@{PrintHelp}}
+\index{PrintHelp@{PrintHelp}!xb\_execsql.cpp@{xb\_execsql.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintHelp()}{PrintHelp()}}
+{\footnotesize\ttfamily void Print\+Help (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__execsql_8cpp_a1fae5968f70747445d63f63065fb7ef3}\label{xb__execsql_8cpp_a1fae5968f70747445d63f63065fb7ef3}}
+\index{xb\_execsql.cpp@{xb\_execsql.cpp}!PrintVersion@{PrintVersion}}
+\index{PrintVersion@{PrintVersion}!xb\_execsql.cpp@{xb\_execsql.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintVersion()}{PrintVersion()}}
+{\footnotesize\ttfamily void Print\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__import_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__import_8cpp.tex
new file mode 100644
index 0000000..7d6cfd5
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__import_8cpp.tex
@@ -0,0 +1,38 @@
+\hypertarget{xb__import_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\+\_\+import.cpp File Reference}
+\label{xb__import_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_import.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_import.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Data Structures}
+\begin{DoxyCompactItemize}
+\item
+struct \mbox{\hyperlink{structsFldMap}{s\+Fld\+Map}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{xb__import_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}{Print\+Help}} ()
+\item
+void \mbox{\hyperlink{xb__import_8cpp_a1fae5968f70747445d63f63065fb7ef3}{Print\+Version}} ()
+\item
+int \mbox{\hyperlink{xb__import_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{main}} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__import_8cpp_a0ddf1224851353fc92bfbff6f499fa97}\label{xb__import_8cpp_a0ddf1224851353fc92bfbff6f499fa97}}
+\index{xb\_import.cpp@{xb\_import.cpp}!main@{main}}
+\index{main@{main}!xb\_import.cpp@{xb\_import.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc, }\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__import_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}\label{xb__import_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}}
+\index{xb\_import.cpp@{xb\_import.cpp}!PrintHelp@{PrintHelp}}
+\index{PrintHelp@{PrintHelp}!xb\_import.cpp@{xb\_import.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintHelp()}{PrintHelp()}}
+{\footnotesize\ttfamily void Print\+Help (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__import_8cpp_a1fae5968f70747445d63f63065fb7ef3}\label{xb__import_8cpp_a1fae5968f70747445d63f63065fb7ef3}}
+\index{xb\_import.cpp@{xb\_import.cpp}!PrintVersion@{PrintVersion}}
+\index{PrintVersion@{PrintVersion}!xb\_import.cpp@{xb\_import.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintVersion()}{PrintVersion()}}
+{\footnotesize\ttfamily void Print\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__pack_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__pack_8cpp.tex
new file mode 100644
index 0000000..0161316
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__pack_8cpp.tex
@@ -0,0 +1,33 @@
+\hypertarget{xb__pack_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\+\_\+pack.cpp File Reference}
+\label{xb__pack_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_pack.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_pack.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{xb__pack_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}{Print\+Help}} ()
+\item
+void \mbox{\hyperlink{xb__pack_8cpp_a1fae5968f70747445d63f63065fb7ef3}{Print\+Version}} ()
+\item
+int \mbox{\hyperlink{xb__pack_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{main}} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__pack_8cpp_a0ddf1224851353fc92bfbff6f499fa97}\label{xb__pack_8cpp_a0ddf1224851353fc92bfbff6f499fa97}}
+\index{xb\_pack.cpp@{xb\_pack.cpp}!main@{main}}
+\index{main@{main}!xb\_pack.cpp@{xb\_pack.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc, }\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__pack_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}\label{xb__pack_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}}
+\index{xb\_pack.cpp@{xb\_pack.cpp}!PrintHelp@{PrintHelp}}
+\index{PrintHelp@{PrintHelp}!xb\_pack.cpp@{xb\_pack.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintHelp()}{PrintHelp()}}
+{\footnotesize\ttfamily void Print\+Help (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__pack_8cpp_a1fae5968f70747445d63f63065fb7ef3}\label{xb__pack_8cpp_a1fae5968f70747445d63f63065fb7ef3}}
+\index{xb\_pack.cpp@{xb\_pack.cpp}!PrintVersion@{PrintVersion}}
+\index{PrintVersion@{PrintVersion}!xb\_pack.cpp@{xb\_pack.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintVersion()}{PrintVersion()}}
+{\footnotesize\ttfamily void Print\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__tblinfo_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__tblinfo_8cpp.tex
new file mode 100644
index 0000000..6faf127
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__tblinfo_8cpp.tex
@@ -0,0 +1,33 @@
+\hypertarget{xb__tblinfo_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\+\_\+tblinfo.cpp File Reference}
+\label{xb__tblinfo_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_tblinfo.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_tblinfo.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{xb__tblinfo_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}{Print\+Help}} ()
+\item
+void \mbox{\hyperlink{xb__tblinfo_8cpp_a1fae5968f70747445d63f63065fb7ef3}{Print\+Version}} ()
+\item
+int \mbox{\hyperlink{xb__tblinfo_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{main}} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__tblinfo_8cpp_a0ddf1224851353fc92bfbff6f499fa97}\label{xb__tblinfo_8cpp_a0ddf1224851353fc92bfbff6f499fa97}}
+\index{xb\_tblinfo.cpp@{xb\_tblinfo.cpp}!main@{main}}
+\index{main@{main}!xb\_tblinfo.cpp@{xb\_tblinfo.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc, }\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__tblinfo_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}\label{xb__tblinfo_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}}
+\index{xb\_tblinfo.cpp@{xb\_tblinfo.cpp}!PrintHelp@{PrintHelp}}
+\index{PrintHelp@{PrintHelp}!xb\_tblinfo.cpp@{xb\_tblinfo.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintHelp()}{PrintHelp()}}
+{\footnotesize\ttfamily void Print\+Help (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__tblinfo_8cpp_a1fae5968f70747445d63f63065fb7ef3}\label{xb__tblinfo_8cpp_a1fae5968f70747445d63f63065fb7ef3}}
+\index{xb\_tblinfo.cpp@{xb\_tblinfo.cpp}!PrintVersion@{PrintVersion}}
+\index{PrintVersion@{PrintVersion}!xb\_tblinfo.cpp@{xb\_tblinfo.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintVersion()}{PrintVersion()}}
+{\footnotesize\ttfamily void Print\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__bcd_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__bcd_8cpp.tex
new file mode 100644
index 0000000..f807898
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__bcd_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__bcd_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+bcd.cpp File Reference}
+\label{xb__test__bcd_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_bcd.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_bcd.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__bcd_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__bcd_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__bcd_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_bcd.cpp@{xb\_test\_bcd.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_bcd.cpp@{xb\_test\_bcd.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__blockread_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__blockread_8cpp.tex
new file mode 100644
index 0000000..7881514
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__blockread_8cpp.tex
@@ -0,0 +1,42 @@
+\hypertarget{xb__test__blockread_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+blockread.cpp File Reference}
+\label{xb__test__blockread_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_blockread.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_blockread.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__blockread_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+\doxysubsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} \mbox{\hyperlink{xb__test__blockread_8cpp_af68c3291a63fdf20ffa0e477460d148e}{My\+Dbf\+Rec}} \mbox{[}$\,$\mbox{]}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__blockread_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__blockread_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_blockread.cpp@{xb\_test\_blockread.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_blockread.cpp@{xb\_test\_blockread.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
+
+
+\doxysubsection{Variable Documentation}
+\mbox{\Hypertarget{xb__test__blockread_8cpp_af68c3291a63fdf20ffa0e477460d148e}\label{xb__test__blockread_8cpp_af68c3291a63fdf20ffa0e477460d148e}}
+\index{xb\_test\_blockread.cpp@{xb\_test\_blockread.cpp}!MyDbfRec@{MyDbfRec}}
+\index{MyDbfRec@{MyDbfRec}!xb\_test\_blockread.cpp@{xb\_test\_blockread.cpp}}
+\doxysubsubsection{\texorpdfstring{MyDbfRec}{MyDbfRec}}
+{\footnotesize\ttfamily \mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} My\+Dbf\+Rec\mbox{[}$\,$\mbox{]}}
+
+{\bfseries Initial value\+:}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{= }
+\DoxyCodeLine{ \{}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}NFLD"{}}, \mbox{\hyperlink{xbdbf_8h_ae9fb6d69cc5edc94d36ae403c22ec1c6}{XB\_NUMERIC\_FLD}}, 10, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}CFLD"{}}, \mbox{\hyperlink{xbdbf_8h_a20f739b9d9dc6a002a246a999e76aeaa}{XB\_CHAR\_FLD}}, 89, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}"{}},0,0,0 \}}
+\DoxyCodeLine{ \}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__blockread__save_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__blockread__save_8cpp.tex
new file mode 100644
index 0000000..d09d1b3
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__blockread__save_8cpp.tex
@@ -0,0 +1,42 @@
+\hypertarget{xb__test__blockread__save_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.1/src/tests/xb\+\_\+test\+\_\+blockread\+\_\+save.cpp File Reference}
+\label{xb__test__blockread__save_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.1/src/tests/xb\_test\_blockread\_save.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.1/src/tests/xb\_test\_blockread\_save.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__blockread__save_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+\doxysubsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+\mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} \mbox{\hyperlink{xb__test__blockread__save_8cpp_af68c3291a63fdf20ffa0e477460d148e}{My\+Dbf\+Rec}} \mbox{[}$\,$\mbox{]}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__blockread__save_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__blockread__save_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_blockread\_save.cpp@{xb\_test\_blockread\_save.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_blockread\_save.cpp@{xb\_test\_blockread\_save.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
+
+
+\doxysubsection{Variable Documentation}
+\mbox{\Hypertarget{xb__test__blockread__save_8cpp_af68c3291a63fdf20ffa0e477460d148e}\label{xb__test__blockread__save_8cpp_af68c3291a63fdf20ffa0e477460d148e}}
+\index{xb\_test\_blockread\_save.cpp@{xb\_test\_blockread\_save.cpp}!MyDbfRec@{MyDbfRec}}
+\index{MyDbfRec@{MyDbfRec}!xb\_test\_blockread\_save.cpp@{xb\_test\_blockread\_save.cpp}}
+\doxysubsubsection{\texorpdfstring{MyDbfRec}{MyDbfRec}}
+{\footnotesize\ttfamily \mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} My\+Dbf\+Rec\mbox{[}$\,$\mbox{]}}
+
+{\bfseries Initial value\+:}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{= }
+\DoxyCodeLine{ \{}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}NFLD"{}}, \mbox{\hyperlink{xbdbf_8h_ae9fb6d69cc5edc94d36ae403c22ec1c6}{XB\_NUMERIC\_FLD}}, 10, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}CFLD"{}}, \mbox{\hyperlink{xbdbf_8h_a20f739b9d9dc6a002a246a999e76aeaa}{XB\_CHAR\_FLD}}, 300, 0 \},}
+\DoxyCodeLine{ \{ \textcolor{stringliteral}{"{}"{}},0,0,0 \}}
+\DoxyCodeLine{ \}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__date_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__date_8cpp.tex
new file mode 100644
index 0000000..f8ee6ba
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__date_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__date_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+date.cpp File Reference}
+\label{xb__test__date_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_date.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_date.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__date_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__date_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__date_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_date.cpp@{xb\_test\_date.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_date.cpp@{xb\_test\_date.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v3__memos_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v3__memos_8cpp.tex
new file mode 100644
index 0000000..5da1b42
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v3__memos_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__dbf__v3__memos_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+dbf\+\_\+v3\+\_\+memos.cpp File Reference}
+\label{xb__test__dbf__v3__memos_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_dbf\_v3\_memos.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_dbf\_v3\_memos.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__dbf__v3__memos_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__dbf__v3__memos_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__dbf__v3__memos_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_dbf\_v3\_memos.cpp@{xb\_test\_dbf\_v3\_memos.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_dbf\_v3\_memos.cpp@{xb\_test\_dbf\_v3\_memos.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v3__nomemos_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v3__nomemos_8cpp.tex
new file mode 100644
index 0000000..faff200
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v3__nomemos_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__dbf__v3__nomemos_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+dbf\+\_\+v3\+\_\+nomemos.cpp File Reference}
+\label{xb__test__dbf__v3__nomemos_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_dbf\_v3\_nomemos.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_dbf\_v3\_nomemos.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__dbf__v3__nomemos_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__dbf__v3__nomemos_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__dbf__v3__nomemos_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_dbf\_v3\_nomemos.cpp@{xb\_test\_dbf\_v3\_nomemos.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_dbf\_v3\_nomemos.cpp@{xb\_test\_dbf\_v3\_nomemos.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v4__memos_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v4__memos_8cpp.tex
new file mode 100644
index 0000000..fead1df
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v4__memos_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__dbf__v4__memos_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+dbf\+\_\+v4\+\_\+memos.cpp File Reference}
+\label{xb__test__dbf__v4__memos_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_dbf\_v4\_memos.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_dbf\_v4\_memos.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__dbf__v4__memos_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__dbf__v4__memos_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__dbf__v4__memos_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_dbf\_v4\_memos.cpp@{xb\_test\_dbf\_v4\_memos.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_dbf\_v4\_memos.cpp@{xb\_test\_dbf\_v4\_memos.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v4__nomemos_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v4__nomemos_8cpp.tex
new file mode 100644
index 0000000..feac4e8
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__dbf__v4__nomemos_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__dbf__v4__nomemos_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+dbf\+\_\+v4\+\_\+nomemos.cpp File Reference}
+\label{xb__test__dbf__v4__nomemos_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_dbf\_v4\_nomemos.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_dbf\_v4\_nomemos.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__dbf__v4__nomemos_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__dbf__v4__nomemos_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__dbf__v4__nomemos_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_dbf\_v4\_nomemos.cpp@{xb\_test\_dbf\_v4\_nomemos.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_dbf\_v4\_nomemos.cpp@{xb\_test\_dbf\_v4\_nomemos.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__expnode_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__expnode_8cpp.tex
new file mode 100644
index 0000000..defbe12
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__expnode_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__expnode_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+expnode.cpp File Reference}
+\label{xb__test__expnode_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_expnode.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_expnode.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__expnode_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__expnode_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__expnode_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_expnode.cpp@{xb\_test\_expnode.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_expnode.cpp@{xb\_test\_expnode.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__expression_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__expression_8cpp.tex
new file mode 100644
index 0000000..c8c37e8
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__expression_8cpp.tex
@@ -0,0 +1,74 @@
+\hypertarget{xb__test__expression_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+expression.cpp File Reference}
+\label{xb__test__expression_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_expression.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_expression.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+DOXYOFF xb\+Int16 \mbox{\hyperlink{xb__test__expression_8cpp_aee57237c5f5b9b4d80e84bf530eb42bc}{Dev\+Tester}} (\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$xb, \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$dbf, const char $\ast$s\+Exp\+In)
+\item
+xb\+Int16 \mbox{\hyperlink{xb__test__expression_8cpp_af56b6dbc38e0d23caaf6531526315379}{Test\+Weight}} (\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$xb, xb\+Int16 i\+Print\+Option, const char $\ast$title, const char $\ast$s\+Operator, xb\+Int16 i\+Expected\+Weight)
+\item
+xb\+Int16 \mbox{\hyperlink{xb__test__expression_8cpp_a440d64b55abaa9e14e73ecc132d1084d}{Test\+Token\+Method}} (\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$xb, xb\+Int16 i\+Print\+Option, const char $\ast$title, const char $\ast$s\+Expression, const char $\ast$s\+Expected\+Token, const char $\ast$s\+Expected\+Remainder, char c\+Expected\+Node\+Type, char c\+Expected\+Return\+Type, xb\+Int16 i\+Erc, xb\+Int16 i\+Trc)
+\item
+xb\+Int16 \mbox{\hyperlink{xb__test__expression_8cpp_ad52c27685018dda7c5c4b26fb445860e}{Test\+Method}} (\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$xb, \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d, xb\+Int16 Print\+Option, const char $\ast$title, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Expression, const char $\ast$s\+Expected\+Result, xb\+Int16 i\+Expected\+Result\+Len)
+\item
+xb\+Int16 \mbox{\hyperlink{xb__test__expression_8cpp_a7030149316fe8d8195ffbb18132e0cf9}{Test\+Method}} (\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$xb, \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d, xb\+Int16 Print\+Option, const char $\ast$title, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Expression, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} d\+Expected\+Result)
+\item
+xb\+Int16 \mbox{\hyperlink{xb__test__expression_8cpp_a10e637a203841bd2b6a92e6217509e23}{Test\+Method}} (\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$xb, \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d, xb\+Int16 Print\+Option, const char $\ast$title, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Expression, \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} dt\+Expected\+Result)
+\item
+xb\+Int16 \mbox{\hyperlink{xb__test__expression_8cpp_aa385c5f9fa8b4cfd63763b4a28852b64}{Test\+Method}} (\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$xb, \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d, xb\+Int16 Print\+Option, const char $\ast$title, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Expression, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Expected\+Result)
+\item
+int \mbox{\hyperlink{xb__test__expression_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__expression_8cpp_aee57237c5f5b9b4d80e84bf530eb42bc}\label{xb__test__expression_8cpp_aee57237c5f5b9b4d80e84bf530eb42bc}}
+\index{xb\_test\_expression.cpp@{xb\_test\_expression.cpp}!DevTester@{DevTester}}
+\index{DevTester@{DevTester}!xb\_test\_expression.cpp@{xb\_test\_expression.cpp}}
+\doxysubsubsection{\texorpdfstring{DevTester()}{DevTester()}}
+{\footnotesize\ttfamily DOXYOFF xb\+Int16 Dev\+Tester (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$}]{xb, }\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{dbf, }\item[{const char $\ast$}]{s\+Exp\+In }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__test__expression_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__expression_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_expression.cpp@{xb\_test\_expression.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_expression.cpp@{xb\_test\_expression.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__test__expression_8cpp_ad52c27685018dda7c5c4b26fb445860e}\label{xb__test__expression_8cpp_ad52c27685018dda7c5c4b26fb445860e}}
+\index{xb\_test\_expression.cpp@{xb\_test\_expression.cpp}!TestMethod@{TestMethod}}
+\index{TestMethod@{TestMethod}!xb\_test\_expression.cpp@{xb\_test\_expression.cpp}}
+\doxysubsubsection{\texorpdfstring{TestMethod()}{TestMethod()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
+{\footnotesize\ttfamily xb\+Int16 Test\+Method (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$}]{xb, }\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d, }\item[{xb\+Int16}]{Print\+Option, }\item[{const char $\ast$}]{title, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Expression, }\item[{const char $\ast$}]{s\+Expected\+Result, }\item[{xb\+Int16}]{i\+Expected\+Result\+Len }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__test__expression_8cpp_aa385c5f9fa8b4cfd63763b4a28852b64}\label{xb__test__expression_8cpp_aa385c5f9fa8b4cfd63763b4a28852b64}}
+\index{xb\_test\_expression.cpp@{xb\_test\_expression.cpp}!TestMethod@{TestMethod}}
+\index{TestMethod@{TestMethod}!xb\_test\_expression.cpp@{xb\_test\_expression.cpp}}
+\doxysubsubsection{\texorpdfstring{TestMethod()}{TestMethod()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
+{\footnotesize\ttfamily xb\+Int16 Test\+Method (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$}]{xb, }\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d, }\item[{xb\+Int16}]{Print\+Option, }\item[{const char $\ast$}]{title, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Expression, }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Expected\+Result }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__test__expression_8cpp_a10e637a203841bd2b6a92e6217509e23}\label{xb__test__expression_8cpp_a10e637a203841bd2b6a92e6217509e23}}
+\index{xb\_test\_expression.cpp@{xb\_test\_expression.cpp}!TestMethod@{TestMethod}}
+\index{TestMethod@{TestMethod}!xb\_test\_expression.cpp@{xb\_test\_expression.cpp}}
+\doxysubsubsection{\texorpdfstring{TestMethod()}{TestMethod()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
+{\footnotesize\ttfamily xb\+Int16 Test\+Method (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$}]{xb, }\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d, }\item[{xb\+Int16}]{Print\+Option, }\item[{const char $\ast$}]{title, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Expression, }\item[{\mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}}}]{dt\+Expected\+Result }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__test__expression_8cpp_a7030149316fe8d8195ffbb18132e0cf9}\label{xb__test__expression_8cpp_a7030149316fe8d8195ffbb18132e0cf9}}
+\index{xb\_test\_expression.cpp@{xb\_test\_expression.cpp}!TestMethod@{TestMethod}}
+\index{TestMethod@{TestMethod}!xb\_test\_expression.cpp@{xb\_test\_expression.cpp}}
+\doxysubsubsection{\texorpdfstring{TestMethod()}{TestMethod()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
+{\footnotesize\ttfamily xb\+Int16 Test\+Method (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$}]{xb, }\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d, }\item[{xb\+Int16}]{Print\+Option, }\item[{const char $\ast$}]{title, }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Expression, }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}}}]{d\+Expected\+Result }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__test__expression_8cpp_a440d64b55abaa9e14e73ecc132d1084d}\label{xb__test__expression_8cpp_a440d64b55abaa9e14e73ecc132d1084d}}
+\index{xb\_test\_expression.cpp@{xb\_test\_expression.cpp}!TestTokenMethod@{TestTokenMethod}}
+\index{TestTokenMethod@{TestTokenMethod}!xb\_test\_expression.cpp@{xb\_test\_expression.cpp}}
+\doxysubsubsection{\texorpdfstring{TestTokenMethod()}{TestTokenMethod()}}
+{\footnotesize\ttfamily xb\+Int16 Test\+Token\+Method (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$}]{xb, }\item[{xb\+Int16}]{i\+Print\+Option, }\item[{const char $\ast$}]{title, }\item[{const char $\ast$}]{s\+Expression, }\item[{const char $\ast$}]{s\+Expected\+Token, }\item[{const char $\ast$}]{s\+Expected\+Remainder, }\item[{char}]{c\+Expected\+Node\+Type, }\item[{char}]{c\+Expected\+Return\+Type, }\item[{xb\+Int16}]{i\+Erc, }\item[{xb\+Int16}]{i\+Trc }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__test__expression_8cpp_af56b6dbc38e0d23caaf6531526315379}\label{xb__test__expression_8cpp_af56b6dbc38e0d23caaf6531526315379}}
+\index{xb\_test\_expression.cpp@{xb\_test\_expression.cpp}!TestWeight@{TestWeight}}
+\index{TestWeight@{TestWeight}!xb\_test\_expression.cpp@{xb\_test\_expression.cpp}}
+\doxysubsubsection{\texorpdfstring{TestWeight()}{TestWeight()}}
+{\footnotesize\ttfamily xb\+Int16 Test\+Weight (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$}]{xb, }\item[{xb\+Int16}]{i\+Print\+Option, }\item[{const char $\ast$}]{title, }\item[{const char $\ast$}]{s\+Operator, }\item[{xb\+Int16}]{i\+Expected\+Weight }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__file_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__file_8cpp.tex
new file mode 100644
index 0000000..182d123
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__file_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__file_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+file.cpp File Reference}
+\label{xb__test__file_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_file.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_file.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__file_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__file_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__file_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_file.cpp@{xb\_test\_file.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_file.cpp@{xb\_test\_file.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__filter_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__filter_8cpp.tex
new file mode 100644
index 0000000..47053c9
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__filter_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__filter_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+filter.cpp File Reference}
+\label{xb__test__filter_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_filter.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_filter.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__filter_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__filter_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__filter_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_filter.cpp@{xb\_test\_filter.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_filter.cpp@{xb\_test\_filter.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__funcs_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__funcs_8cpp.tex
new file mode 100644
index 0000000..1b406c1
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__funcs_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__funcs_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+funcs.cpp File Reference}
+\label{xb__test__funcs_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_funcs.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_funcs.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__funcs_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__funcs_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__funcs_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_funcs.cpp@{xb\_test\_funcs.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_funcs.cpp@{xb\_test\_funcs.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__linklist_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__linklist_8cpp.tex
new file mode 100644
index 0000000..77b113d
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__linklist_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__linklist_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+linklist.cpp File Reference}
+\label{xb__test__linklist_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_linklist.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_linklist.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__linklist_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__linklist_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__linklist_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_linklist.cpp@{xb\_test\_linklist.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_linklist.cpp@{xb\_test\_linklist.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__lock2_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__lock2_8cpp.tex
new file mode 100644
index 0000000..16889dd
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__lock2_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__lock2_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+lock2.cpp File Reference}
+\label{xb__test__lock2_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_lock2.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_lock2.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__lock2_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__lock2_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__lock2_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_lock2.cpp@{xb\_test\_lock2.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_lock2.cpp@{xb\_test\_lock2.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__lock_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__lock_8cpp.tex
new file mode 100644
index 0000000..ccbf3ef
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__lock_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__lock_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+lock.cpp File Reference}
+\label{xb__test__lock_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_lock.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_lock.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__lock_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__lock_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__lock_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_lock.cpp@{xb\_test\_lock.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_lock.cpp@{xb\_test\_lock.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__log_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__log_8cpp.tex
new file mode 100644
index 0000000..e0fdd31
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__log_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__log_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+log.cpp File Reference}
+\label{xb__test__log_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_log.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_log.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__log_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__log_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__log_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_log.cpp@{xb\_test\_log.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_log.cpp@{xb\_test\_log.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__mdx_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__mdx_8cpp.tex
new file mode 100644
index 0000000..81fb465
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__mdx_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__mdx_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+mdx.cpp File Reference}
+\label{xb__test__mdx_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_mdx.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_mdx.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__mdx_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__mdx_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__mdx_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_mdx.cpp@{xb\_test\_mdx.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_mdx.cpp@{xb\_test\_mdx.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__ndx2_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__ndx2_8cpp.tex
new file mode 100644
index 0000000..921dfb6
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__ndx2_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__ndx2_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.0.2/src/tests/xb\+\_\+test\+\_\+ndx2.cpp File Reference}
+\label{xb__test__ndx2_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.0.2/src/tests/xb\_test\_ndx2.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.0.2/src/tests/xb\_test\_ndx2.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__ndx2_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__ndx2_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__ndx2_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_ndx2.cpp@{xb\_test\_ndx2.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_ndx2.cpp@{xb\_test\_ndx2.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__ndx_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__ndx_8cpp.tex
new file mode 100644
index 0000000..dc9782c
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__ndx_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__ndx_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+ndx.cpp File Reference}
+\label{xb__test__ndx_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_ndx.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_ndx.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__ndx_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__ndx_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__ndx_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_ndx.cpp@{xb\_test\_ndx.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_ndx.cpp@{xb\_test\_ndx.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__sql_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__sql_8cpp.tex
new file mode 100644
index 0000000..4d7441a
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__sql_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__sql_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+sql.cpp File Reference}
+\label{xb__test__sql_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_sql.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_sql.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__sql_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__sql_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__sql_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_sql.cpp@{xb\_test\_sql.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_sql.cpp@{xb\_test\_sql.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__string_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__string_8cpp.tex
new file mode 100644
index 0000000..cf8c6ed
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__string_8cpp.tex
@@ -0,0 +1,32 @@
+\hypertarget{xb__test__string_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+string.cpp File Reference}
+\label{xb__test__string_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_string.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_string.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Macros}
+\begin{DoxyCompactItemize}
+\item
+\#define \mbox{\hyperlink{xb__test__string_8cpp_a42f8c497a1968074f38bf5055c650dca}{VERBOSE}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__string_8cpp_aabf71bc9adb6daf457b2ea8879ae537f}{main}} (int arg\+Cnt, char $\ast$$\ast$av=NULL)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Macro Definition Documentation}
+\mbox{\Hypertarget{xb__test__string_8cpp_a42f8c497a1968074f38bf5055c650dca}\label{xb__test__string_8cpp_a42f8c497a1968074f38bf5055c650dca}}
+\index{xb\_test\_string.cpp@{xb\_test\_string.cpp}!VERBOSE@{VERBOSE}}
+\index{VERBOSE@{VERBOSE}!xb\_test\_string.cpp@{xb\_test\_string.cpp}}
+\doxysubsubsection{\texorpdfstring{VERBOSE}{VERBOSE}}
+{\footnotesize\ttfamily \#define VERBOSE}
+
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__string_8cpp_aabf71bc9adb6daf457b2ea8879ae537f}\label{xb__test__string_8cpp_aabf71bc9adb6daf457b2ea8879ae537f}}
+\index{xb\_test\_string.cpp@{xb\_test\_string.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_string.cpp@{xb\_test\_string.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av = {\ttfamily NULL} }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__tblmgr_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__tblmgr_8cpp.tex
new file mode 100644
index 0000000..a7405f7
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__tblmgr_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__tblmgr_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+tblmgr.cpp File Reference}
+\label{xb__test__tblmgr_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_tblmgr.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_tblmgr.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__tblmgr_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__tblmgr_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__tblmgr_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_tblmgr.cpp@{xb\_test\_tblmgr.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_tblmgr.cpp@{xb\_test\_tblmgr.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__tdx_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__tdx_8cpp.tex
new file mode 100644
index 0000000..49086da
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__tdx_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__tdx_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+tdx.cpp File Reference}
+\label{xb__test__tdx_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_tdx.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_tdx.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__tdx_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__tdx_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__tdx_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_tdx.cpp@{xb\_test\_tdx.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_tdx.cpp@{xb\_test\_tdx.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__uda_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__uda_8cpp.tex
new file mode 100644
index 0000000..c59eb0b
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__uda_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__uda_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+uda.cpp File Reference}
+\label{xb__test__uda_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_uda.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_uda.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__uda_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__uda_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__uda_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_uda.cpp@{xb\_test\_uda.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_uda.cpp@{xb\_test\_uda.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__xbase_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__xbase_8cpp.tex
new file mode 100644
index 0000000..c90dfb0
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__test__xbase_8cpp.tex
@@ -0,0 +1,18 @@
+\hypertarget{xb__test__xbase_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\+\_\+test\+\_\+xbase.cpp File Reference}
+\label{xb__test__xbase_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_xbase.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/tests/xb\_test\_xbase.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include \char`\"{}tstfuncs.\+cpp\char`\"{}}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__test__xbase_8cpp_a1470527971db41f828c26074cde7e15a}{main}} (int arg\+Cnt, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__test__xbase_8cpp_a1470527971db41f828c26074cde7e15a}\label{xb__test__xbase_8cpp_a1470527971db41f828c26074cde7e15a}}
+\index{xb\_test\_xbase.cpp@{xb\_test\_xbase.cpp}!main@{main}}
+\index{main@{main}!xb\_test\_xbase.cpp@{xb\_test\_xbase.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{arg\+Cnt, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__undelall_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__undelall_8cpp.tex
new file mode 100644
index 0000000..1d8b7c5
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__undelall_8cpp.tex
@@ -0,0 +1,33 @@
+\hypertarget{xb__undelall_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\+\_\+undelall.cpp File Reference}
+\label{xb__undelall_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_undelall.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/utils/xb\_undelall.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \mbox{\hyperlink{xb__undelall_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}{Print\+Help}} ()
+\item
+void \mbox{\hyperlink{xb__undelall_8cpp_a1fae5968f70747445d63f63065fb7ef3}{Print\+Version}} ()
+\item
+int \mbox{\hyperlink{xb__undelall_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{main}} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__undelall_8cpp_a0ddf1224851353fc92bfbff6f499fa97}\label{xb__undelall_8cpp_a0ddf1224851353fc92bfbff6f499fa97}}
+\index{xb\_undelall.cpp@{xb\_undelall.cpp}!main@{main}}
+\index{main@{main}!xb\_undelall.cpp@{xb\_undelall.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc, }\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__undelall_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}\label{xb__undelall_8cpp_ae964ff8411b4fdcaf65cb5529aea4bef}}
+\index{xb\_undelall.cpp@{xb\_undelall.cpp}!PrintHelp@{PrintHelp}}
+\index{PrintHelp@{PrintHelp}!xb\_undelall.cpp@{xb\_undelall.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintHelp()}{PrintHelp()}}
+{\footnotesize\ttfamily void Print\+Help (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
+\mbox{\Hypertarget{xb__undelall_8cpp_a1fae5968f70747445d63f63065fb7ef3}\label{xb__undelall_8cpp_a1fae5968f70747445d63f63065fb7ef3}}
+\index{xb\_undelall.cpp@{xb\_undelall.cpp}!PrintVersion@{PrintVersion}}
+\index{PrintVersion@{PrintVersion}!xb\_undelall.cpp@{xb\_undelall.cpp}}
+\doxysubsubsection{\texorpdfstring{PrintVersion()}{PrintVersion()}}
+{\footnotesize\ttfamily void Print\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__zap_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__zap_8cpp.tex
new file mode 100644
index 0000000..43e396d
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xb__zap_8cpp.tex
@@ -0,0 +1,17 @@
+\hypertarget{xb__zap_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.1/src/utils/xb\+\_\+zap.cpp File Reference}
+\label{xb__zap_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.1/src/utils/xb\_zap.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.1/src/utils/xb\_zap.cpp}}
+{\ttfamily \#include $<$xbase.\+h$>$}\newline
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+int \mbox{\hyperlink{xb__zap_8cpp_a0c99d968a34e803d378692bde2e3f18f}{main}} (int ac, char $\ast$$\ast$av)
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Function Documentation}
+\mbox{\Hypertarget{xb__zap_8cpp_a0c99d968a34e803d378692bde2e3f18f}\label{xb__zap_8cpp_a0c99d968a34e803d378692bde2e3f18f}}
+\index{xb\_zap.cpp@{xb\_zap.cpp}!main@{main}}
+\index{main@{main}!xb\_zap.cpp@{xb\_zap.cpp}}
+\doxysubsubsection{\texorpdfstring{main()}{main()}}
+{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{ac, }\item[{char $\ast$$\ast$}]{av }\end{DoxyParamCaption})}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbalttbl_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbalttbl_8cpp.tex
new file mode 100644
index 0000000..f28e58f
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbalttbl_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbalttbl_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/sql/xbalttbl.cpp File Reference}
+\label{xbalttbl_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbalttbl.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbalttbl.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbase_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbase_8h.tex
new file mode 100644
index 0000000..9d9620a
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbase_8h.tex
@@ -0,0 +1,31 @@
+\hypertarget{xbase_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbase.h File Reference}
+\label{xbase_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbase.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbase.h}}
+{\ttfamily \#include $<$xbconfig.\+h$>$}\newline
+{\ttfamily \#include $<$stdio.\+h$>$}\newline
+{\ttfamily \#include $<$errno.\+h$>$}\newline
+{\ttfamily \#include $<$time.\+h$>$}\newline
+{\ttfamily \#include $<$math.\+h$>$}\newline
+{\ttfamily \#include $<$iomanip$>$}\newline
+{\ttfamily \#include $<$xbretcod.\+h$>$}\newline
+{\ttfamily \#include $<$xbtypes.\+h$>$}\newline
+{\ttfamily \#include $<$xbstring.\+h$>$}\newline
+{\ttfamily \#include $<$xbssv.\+h$>$}\newline
+{\ttfamily \#include $<$xbdate.\+h$>$}\newline
+{\ttfamily \#include $<$xbtblmgr.\+h$>$}\newline
+{\ttfamily \#include $<$xbxbase.\+h$>$}\newline
+{\ttfamily \#include $<$xblnknod.\+h$>$}\newline
+{\ttfamily \#include $<$xblnklst.\+h$>$}\newline
+{\ttfamily \#include $<$xblnklstord.\+h$>$}\newline
+{\ttfamily \#include $<$xbfile.\+h$>$}\newline
+{\ttfamily \#include $<$xblog.\+h$>$}\newline
+{\ttfamily \#include $<$xbmemo.\+h$>$}\newline
+{\ttfamily \#include $<$xbbcd.\+h$>$}\newline
+{\ttfamily \#include $<$xbuda.\+h$>$}\newline
+{\ttfamily \#include $<$xbexpnode.\+h$>$}\newline
+{\ttfamily \#include $<$xbexp.\+h$>$}\newline
+{\ttfamily \#include $<$xbtag.\+h$>$}\newline
+{\ttfamily \#include $<$xbblkread.\+h$>$}\newline
+{\ttfamily \#include $<$xbdbf.\+h$>$}\newline
+{\ttfamily \#include $<$xbindex.\+h$>$}\newline
+{\ttfamily \#include $<$xbfilter.\+h$>$}\newline
+{\ttfamily \#include $<$xbsql.\+h$>$}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbase_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbase_8h_source.tex
new file mode 100644
index 0000000..29b6992
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbase_8h_source.tex
@@ -0,0 +1,106 @@
+\hypertarget{xbase_8h_source}{}\doxysection{xbase.\+h}
+\label{xbase_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbase.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbase.h}}
+\mbox{\hyperlink{xbase_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbase.h}}
+\DoxyCodeLine{2 \textcolor{comment}{}}
+\DoxyCodeLine{3 \textcolor{comment}{}}
+\DoxyCodeLine{4 \textcolor{comment}{Xbase64 Software Library}}
+\DoxyCodeLine{5 \textcolor{comment}{}}
+\DoxyCodeLine{6 \textcolor{comment}{Copyright (c) 1997,2003,2014,2022,2023 Gary A Kunkel}}
+\DoxyCodeLine{7 \textcolor{comment}{}}
+\DoxyCodeLine{8 \textcolor{comment}{The xb64 software library is covered under the terms of the GPL Version 3, 2007 license}}
+\DoxyCodeLine{9 \textcolor{comment}{}}
+\DoxyCodeLine{10 \textcolor{comment}{Email Contact:}}
+\DoxyCodeLine{11 \textcolor{comment}{}}
+\DoxyCodeLine{12 \textcolor{comment}{ XDB-\/devel@lists.sourceforge.net}}
+\DoxyCodeLine{13 \textcolor{comment}{ XDB-\/users@lists.sourceforge.net}}
+\DoxyCodeLine{14 \textcolor{comment}{}}
+\DoxyCodeLine{15 \textcolor{comment}{*/}}
+\DoxyCodeLine{16 }
+\DoxyCodeLine{17 \textcolor{preprocessor}{\#include <xbconfig.h>}}
+\DoxyCodeLine{18 \textcolor{preprocessor}{\#include <stdio.h>}}
+\DoxyCodeLine{19 \textcolor{preprocessor}{\#include <errno.h>}}
+\DoxyCodeLine{20 \textcolor{preprocessor}{\#include <time.h>}}
+\DoxyCodeLine{21 \textcolor{preprocessor}{\#include <math.h>}}
+\DoxyCodeLine{22 }
+\DoxyCodeLine{23 \textcolor{preprocessor}{\#ifdef HAVE\_INTTYPES\_H}}
+\DoxyCodeLine{24 \textcolor{preprocessor}{\#include <inttypes.h>}}
+\DoxyCodeLine{25 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{26 }
+\DoxyCodeLine{27 \textcolor{preprocessor}{\#ifdef HAVE\_STRING\_H}}
+\DoxyCodeLine{28 \textcolor{preprocessor}{\#include <string.h>}}
+\DoxyCodeLine{29 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{30 }
+\DoxyCodeLine{31 \textcolor{preprocessor}{\#ifdef HAVE\_STRINGS\_H}}
+\DoxyCodeLine{32 \textcolor{preprocessor}{\#include <strings.h>}}
+\DoxyCodeLine{33 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{34 }
+\DoxyCodeLine{35 \textcolor{comment}{// \#ifdef STDC\_HEADERS}}
+\DoxyCodeLine{36 \textcolor{preprocessor}{\#ifdef HAVE\_STDARGS\_H}}
+\DoxyCodeLine{37 \textcolor{preprocessor}{\#include <stdargs.h>}}
+\DoxyCodeLine{38 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{39 }
+\DoxyCodeLine{40 \textcolor{preprocessor}{\#ifdef HAVE\_CTYPE\_H}}
+\DoxyCodeLine{41 \textcolor{preprocessor}{\#include <ctype.h>}}
+\DoxyCodeLine{42 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{43 }
+\DoxyCodeLine{44 \textcolor{preprocessor}{\#ifdef HAVE\_PWD\_H}}
+\DoxyCodeLine{45 \textcolor{preprocessor}{\#include <pwd.h>}}
+\DoxyCodeLine{46 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{47 }
+\DoxyCodeLine{48 \textcolor{preprocessor}{\#ifdef HAVE\_STDARG\_H}}
+\DoxyCodeLine{49 \textcolor{preprocessor}{\#include <stdarg.h>}}
+\DoxyCodeLine{50 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{51 }
+\DoxyCodeLine{52 \textcolor{preprocessor}{\#ifdef HAVE\_STAT\_H}}
+\DoxyCodeLine{53 \textcolor{preprocessor}{\#include <sys/stat.h>}}
+\DoxyCodeLine{54 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{55 }
+\DoxyCodeLine{56 \textcolor{preprocessor}{\#ifdef HAVE\_FCNTL\_H}}
+\DoxyCodeLine{57 \textcolor{preprocessor}{\#include <fcntl.h>}}
+\DoxyCodeLine{58 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{59 }
+\DoxyCodeLine{60 \textcolor{preprocessor}{\#ifdef HAVE\_UNISTD\_H}}
+\DoxyCodeLine{61 \textcolor{preprocessor}{\#include <unistd.h>}}
+\DoxyCodeLine{62 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{63 }
+\DoxyCodeLine{64 \textcolor{preprocessor}{\#ifdef HAVE\_VARARGS\_H}}
+\DoxyCodeLine{65 \textcolor{preprocessor}{\#ifndef HAVE\_STDARG\_H}}
+\DoxyCodeLine{66 \textcolor{preprocessor}{\#include <varargs.h>}}
+\DoxyCodeLine{67 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{68 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{69 }
+\DoxyCodeLine{70 \textcolor{preprocessor}{\#ifdef HAVE\_WINDOWS\_H}}
+\DoxyCodeLine{71 \textcolor{preprocessor}{\#include <windows.h>}}
+\DoxyCodeLine{72 \textcolor{preprocessor}{\#include <io.h>}}
+\DoxyCodeLine{73 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{74 }
+\DoxyCodeLine{75 \textcolor{preprocessor}{\#include <iomanip>}}
+\DoxyCodeLine{76 }
+\DoxyCodeLine{77 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbretcod_8h}{xbretcod.h}}>}}
+\DoxyCodeLine{78 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbtypes_8h}{xbtypes.h}}>}}
+\DoxyCodeLine{79 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbstring_8h}{xbstring.h}}>}}
+\DoxyCodeLine{80 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbssv_8h}{xbssv.h}}>}}
+\DoxyCodeLine{81 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbdate_8h}{xbdate.h}}>}}
+\DoxyCodeLine{82 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbtblmgr_8h}{xbtblmgr.h}}>}}
+\DoxyCodeLine{83 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbxbase_8h}{xbxbase.h}}>}}
+\DoxyCodeLine{84 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xblnknod_8h}{xblnknod.h}}>}}
+\DoxyCodeLine{85 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xblnklst_8h}{xblnklst.h}}>}}
+\DoxyCodeLine{86 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xblnklstord_8h}{xblnklstord.h}}>}}
+\DoxyCodeLine{87 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbfile_8h}{xbfile.h}}>}}
+\DoxyCodeLine{88 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xblog_8h}{xblog.h}}>}}
+\DoxyCodeLine{89 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbmemo_8h}{xbmemo.h}}>}}
+\DoxyCodeLine{90 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbbcd_8h}{xbbcd.h}}>}}
+\DoxyCodeLine{91 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbuda_8h}{xbuda.h}}>}}
+\DoxyCodeLine{92 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbexpnode_8h}{xbexpnode.h}}>}}
+\DoxyCodeLine{93 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbexp_8h}{xbexp.h}}>}}
+\DoxyCodeLine{94 }
+\DoxyCodeLine{95 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbtag_8h}{xbtag.h}}>}}
+\DoxyCodeLine{96 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbblkread_8h}{xbblkread.h}}>}}
+\DoxyCodeLine{97 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbdbf_8h}{xbdbf.h}}>} \textcolor{comment}{/* dbf base class */}}
+\DoxyCodeLine{98 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbindex_8h}{xbindex.h}}>} \textcolor{comment}{/* index base class */}}
+\DoxyCodeLine{99 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbfilter_8h}{xbfilter.h}}>}}
+\DoxyCodeLine{100 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{xbsql_8h}{xbsql.h}}>}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbbcd_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbbcd_8cpp.tex
new file mode 100644
index 0000000..82db089
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbbcd_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbbcd_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbbcd.cpp File Reference}
+\label{xbbcd_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbbcd.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbbcd.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbbcd_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbbcd_8h.tex
new file mode 100644
index 0000000..fde0b26
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbbcd_8h.tex
@@ -0,0 +1,2 @@
+\hypertarget{xbbcd_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbbcd.h File Reference}
+\label{xbbcd_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbbcd.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbbcd.h}}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbbcd_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbbcd_8h_source.tex
new file mode 100644
index 0000000..a771647
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbbcd_8h_source.tex
@@ -0,0 +1,97 @@
+\hypertarget{xbbcd_8h_source}{}\doxysection{xbbcd.\+h}
+\label{xbbcd_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbbcd.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbbcd.h}}
+\mbox{\hyperlink{xbbcd_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbbcd.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, 2018, 2019, 2022 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 \textcolor{preprocessor}{\#ifndef \_\_XB\_BCD\_H\_\_}}
+\DoxyCodeLine{17 \textcolor{preprocessor}{\#define \_\_XB\_BCD\_H\_\_}}
+\DoxyCodeLine{18 \textcolor{preprocessor}{\#ifdef XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{19 }
+\DoxyCodeLine{21 }
+\DoxyCodeLine{22 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{23 }
+\DoxyCodeLine{24 \textcolor{comment}{// structure for bcd value}}
+\DoxyCodeLine{25 \textcolor{comment}{// next structure superceeded. Different compilers allocate different}}
+\DoxyCodeLine{26 \textcolor{comment}{// sizes to structures with bit fields, can't count on the size}}
+\DoxyCodeLine{27 }
+\DoxyCodeLine{28 \textcolor{comment}{/*}}
+\DoxyCodeLine{29 \textcolor{comment}{struct XBDLLEXPORT xbBcdStrucOld \{}}
+\DoxyCodeLine{30 \textcolor{comment}{ unsigned SigDigits : 8; // significant digit count}}
+\DoxyCodeLine{31 \textcolor{comment}{ unsigned Filler : 2; // always set to 1}}
+\DoxyCodeLine{32 \textcolor{comment}{ unsigned EncDigits : 5; // encoded digit count}}
+\DoxyCodeLine{33 \textcolor{comment}{ unsigned Sign : 1; // +/-\/ sign}}
+\DoxyCodeLine{34 \textcolor{comment}{ unsigned char Data[10];}}
+\DoxyCodeLine{35 \textcolor{comment}{\};}}
+\DoxyCodeLine{36 \textcolor{comment}{*/}}
+\DoxyCodeLine{37 }
+\DoxyCodeLine{38 \textcolor{keyword}{struct }XBDLLEXPORT xbBcdStruct \{}
+\DoxyCodeLine{39 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cSigDigits; \textcolor{comment}{// significant digit count}}
+\DoxyCodeLine{40 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cEncDigits; \textcolor{comment}{// encoded digit count}}
+\DoxyCodeLine{41 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cData[10]; \textcolor{comment}{// data}}
+\DoxyCodeLine{42 \};}
+\DoxyCodeLine{43 }
+\DoxyCodeLine{44 \textcolor{keyword}{struct }XBDLLEXPORT xbByteSplit \{}
+\DoxyCodeLine{45 \textcolor{keywordtype}{unsigned} c1 : 4;}
+\DoxyCodeLine{46 \textcolor{keywordtype}{unsigned} c2 : 4;}
+\DoxyCodeLine{47 \};}
+\DoxyCodeLine{48 }
+\DoxyCodeLine{49 \textcolor{keyword}{class }XBDLLEXPORT xbBcd \{}
+\DoxyCodeLine{50 \textcolor{keyword}{public}:}
+\DoxyCodeLine{51 }
+\DoxyCodeLine{52 xbBcd( \textcolor{keyword}{const} xbString \&sIn );}
+\DoxyCodeLine{53 xbBcd( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn );}
+\DoxyCodeLine{54 xbBcd( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vBcd12In );}
+\DoxyCodeLine{55 \textcolor{keywordtype}{void} Set( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn );}
+\DoxyCodeLine{56 \textcolor{keywordtype}{void} Set( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *cBcd12In );}
+\DoxyCodeLine{57 \textcolor{keywordtype}{void} Set( \textcolor{keyword}{const} xbString \&sIn );}
+\DoxyCodeLine{58 }
+\DoxyCodeLine{59 }
+\DoxyCodeLine{60 \textcolor{keywordtype}{void} ToString( xbString \&sOut );}
+\DoxyCodeLine{61 \textcolor{keywordtype}{void} ToDouble( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
+\DoxyCodeLine{62 \textcolor{keywordtype}{void} ToBcd( xbBcdStruct \&bcdOut );}
+\DoxyCodeLine{63 \textcolor{keywordtype}{void} ToChar( \textcolor{keywordtype}{char} *cOut );}
+\DoxyCodeLine{64 }
+\DoxyCodeLine{65 \textcolor{comment}{// const unsigned char * GetBcd() const;}}
+\DoxyCodeLine{66 \textcolor{keywordtype}{void} StringToBcd( \textcolor{keyword}{const} xbString \&sStringIn );}
+\DoxyCodeLine{67 }
+\DoxyCodeLine{68 xbInt16 Compare( \textcolor{keyword}{const} xbBcd \&bcdIn );}
+\DoxyCodeLine{69 xbInt16 Compare( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} d );}
+\DoxyCodeLine{70 }
+\DoxyCodeLine{71 \textcolor{keyword}{const} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} *GetData() \textcolor{keyword}{const};}
+\DoxyCodeLine{72 \textcolor{keyword}{const} \textcolor{keywordtype}{void} * GetBcd() \textcolor{keyword}{const};}
+\DoxyCodeLine{73 }
+\DoxyCodeLine{74 }
+\DoxyCodeLine{75 \textcolor{keyword}{private}:}
+\DoxyCodeLine{76 \textcolor{keywordtype}{void} ctor();}
+\DoxyCodeLine{77 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} GetEncDigitsNoSign() \textcolor{keyword}{const};}
+\DoxyCodeLine{78 \textcolor{keywordtype}{unsigned} GetSign() \textcolor{keyword}{const};}
+\DoxyCodeLine{79 \textcolor{keywordtype}{unsigned} GetSigDigits() \textcolor{keyword}{const};}
+\DoxyCodeLine{80 \textcolor{keywordtype}{unsigned} GetActualSigDigits() \textcolor{keyword}{const};}
+\DoxyCodeLine{81 }
+\DoxyCodeLine{82 }
+\DoxyCodeLine{83 \textcolor{comment}{// xbBcdStruc bcdOld;}}
+\DoxyCodeLine{84 xbBcdStruct bcd;}
+\DoxyCodeLine{85 \};}
+\DoxyCodeLine{86 }
+\DoxyCodeLine{87 \} \textcolor{comment}{/* namespace xb */}}
+\DoxyCodeLine{88 }
+\DoxyCodeLine{89 }
+\DoxyCodeLine{91 }
+\DoxyCodeLine{92 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* XB\_INDEX\_SUPPORT */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{93 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XB\_BCD\_H\_\_ */}\textcolor{preprocessor}{}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbblkread_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbblkread_8h.tex
new file mode 100644
index 0000000..b1c8544
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbblkread_8h.tex
@@ -0,0 +1,7 @@
+\hypertarget{xbblkread_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbblkread.h File Reference}
+\label{xbblkread_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbblkread.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbblkread.h}}
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbblkread_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbblkread_8h_source.tex
new file mode 100644
index 0000000..ab6cc57
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbblkread_8h_source.tex
@@ -0,0 +1,69 @@
+\hypertarget{xbblkread_8h_source}{}\doxysection{xbblkread.\+h}
+\label{xbblkread_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbblkread.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbblkread.h}}
+\mbox{\hyperlink{xbblkread_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbblkread.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 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 \textcolor{preprocessor}{\#ifndef \_\_XB\_BLKREAD\_H\_\_}}
+\DoxyCodeLine{17 \textcolor{preprocessor}{\#define \_\_XB\_BLKREAD\_H\_\_}}
+\DoxyCodeLine{18 }
+\DoxyCodeLine{19 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{20 \textcolor{preprocessor}{\#ifdef XB\_BLOCKREAD\_SUPPORT}}
+\DoxyCodeLine{21 }
+\DoxyCodeLine{22 }
+\DoxyCodeLine{23 }
+\DoxyCodeLine{25 }
+\DoxyCodeLine{32 \textcolor{keyword}{class }XBDLLEXPORT xbBlockRead \{}
+\DoxyCodeLine{33 }
+\DoxyCodeLine{34 \textcolor{keyword}{public}:}
+\DoxyCodeLine{35 xbBlockRead( \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} * d );}
+\DoxyCodeLine{36 \string~xbBlockRead();}
+\DoxyCodeLine{37 }
+\DoxyCodeLine{38 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{39 \textcolor{keywordtype}{void} DumpReadBlockInternals();}
+\DoxyCodeLine{40 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{41 }
+\DoxyCodeLine{42 xbInt16 Init( xbUInt32 ulBlkSize = 0 );}
+\DoxyCodeLine{43 }
+\DoxyCodeLine{44 xbUInt32 GetBlockFirstRecNo() \textcolor{keyword}{const};}
+\DoxyCodeLine{45 xbUInt32 GetBlockRecCnt() \textcolor{keyword}{const};}
+\DoxyCodeLine{46 xbUInt32 GetBlockSize() \textcolor{keyword}{const};}
+\DoxyCodeLine{47 }
+\DoxyCodeLine{48 xbInt16 GetRecord( xbUInt32 ulRecNo ); \textcolor{comment}{// retrieve a data record from a block to RecBuf}}
+\DoxyCodeLine{49 xbInt16 SetBlockSize( xbUInt32 ulBlkSize );}
+\DoxyCodeLine{50 }
+\DoxyCodeLine{51 }
+\DoxyCodeLine{52 \textcolor{keyword}{private}:}
+\DoxyCodeLine{53 }
+\DoxyCodeLine{54 xbInt16 GetBlockForRecNo( xbUInt32 ulRecNo ); \textcolor{comment}{// retrieve block from disk for a given record number}}
+\DoxyCodeLine{55 }
+\DoxyCodeLine{56 \textcolor{keywordtype}{char} *pBlock; \textcolor{comment}{// block pointer}}
+\DoxyCodeLine{57 xbUInt32 ulBlkSize; \textcolor{comment}{// block size in bytes}}
+\DoxyCodeLine{58 xbUInt32 ulFirstBlkRec; \textcolor{comment}{// first recod number in the block}}
+\DoxyCodeLine{59 xbUInt32 ulRecCnt; \textcolor{comment}{// number of records in block}}
+\DoxyCodeLine{60 xbUInt32 ulMaxRecs; \textcolor{comment}{// max number of records block can handle}}
+\DoxyCodeLine{61 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bEof; \textcolor{comment}{// EOF flag}}
+\DoxyCodeLine{62 \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf; \textcolor{comment}{// reference to associated dbf file}}
+\DoxyCodeLine{63 \textcolor{comment}{// xbXBase *xbase; // reference to main xbXBase structure}}
+\DoxyCodeLine{64 time\_t tFmTime; \textcolor{comment}{// file modify time at time of block read}}
+\DoxyCodeLine{65 }
+\DoxyCodeLine{66 \};}
+\DoxyCodeLine{67 }
+\DoxyCodeLine{68 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_BLOCKREAD}}
+\DoxyCodeLine{69 \} \textcolor{comment}{/* namespace */}}
+\DoxyCodeLine{70 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XB\_BLOCKREAD\_H\_\_ */}\textcolor{preprocessor}{}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbblockread_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbblockread_8cpp.tex
new file mode 100644
index 0000000..2cf0efe
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbblockread_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbblockread_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbblockread.cpp File Reference}
+\label{xbblockread_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbblockread.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbblockread.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrix_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrix_8cpp.tex
new file mode 100644
index 0000000..a354cfa
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrix_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbcrix_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.2/src/sql/xbcrix.cpp File Reference}
+\label{xbcrix_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.2/src/sql/xbcrix.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.2/src/sql/xbcrix.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrtbl_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrtbl_8cpp.tex
new file mode 100644
index 0000000..f91094a
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrtbl_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbcrtbl_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/sql/xbcrtbl.cpp File Reference}
+\label{xbcrtbl_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbcrtbl.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbcrtbl.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrtbl_8save2_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrtbl_8save2_8cpp.tex
new file mode 100644
index 0000000..9ea8f2f
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrtbl_8save2_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbcrtbl_8save2_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.2/src/sql/xbcrtbl.save2.\+cpp File Reference}
+\label{xbcrtbl_8save2_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.2/src/sql/xbcrtbl.save2.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.2/src/sql/xbcrtbl.save2.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrtbl_8save_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrtbl_8save_8cpp.tex
new file mode 100644
index 0000000..8113b76
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbcrtbl_8save_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbcrtbl_8save_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.2/src/sql/xbcrtbl.save.\+cpp File Reference}
+\label{xbcrtbl_8save_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.2/src/sql/xbcrtbl.save.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.2/src/sql/xbcrtbl.save.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdate_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdate_8cpp.tex
new file mode 100644
index 0000000..a70d185
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdate_8cpp.tex
@@ -0,0 +1,9 @@
+\hypertarget{xbdate_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbdate.cpp File Reference}
+\label{xbdate_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbdate.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbdate.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+{\ttfamily \#include $<$time.\+h$>$}\newline
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdate_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdate_8h.tex
new file mode 100644
index 0000000..478b326
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdate_8h.tex
@@ -0,0 +1,50 @@
+\hypertarget{xbdate_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbdate.h File Reference}
+\label{xbdate_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbdate.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbdate.h}}
+\doxysubsection*{Data Structures}
+\begin{DoxyCompactItemize}
+\item
+class \mbox{\hyperlink{classxb_1_1xbDate}{xb\+::xb\+Date}}
+\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} class. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Macros}
+\begin{DoxyCompactItemize}
+\item
+\#define \mbox{\hyperlink{xbdate_8h_a8f22704d3fd93fa85dd93b6c699e8178}{XB\+\_\+\+FMT\+\_\+\+WEEK}}~1
+\item
+\#define \mbox{\hyperlink{xbdate_8h_aeacf2f7cc897ab5bd64781c0fb52b75d}{XB\+\_\+\+FMT\+\_\+\+MONTH}}~2
+\item
+\#define \mbox{\hyperlink{xbdate_8h_aa29d78982a9e007874af1c4f4e4d1aa4}{XB\+\_\+\+FMT\+\_\+\+YEAR}}~3
+\item
+\#define \mbox{\hyperlink{xbdate_8h_a119f32fda399e2ebc2d734012a130e8f}{JUL\+\_\+\+OFFSET}}~1721425L
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Macro Definition Documentation}
+\mbox{\Hypertarget{xbdate_8h_a119f32fda399e2ebc2d734012a130e8f}\label{xbdate_8h_a119f32fda399e2ebc2d734012a130e8f}}
+\index{xbdate.h@{xbdate.h}!JUL\_OFFSET@{JUL\_OFFSET}}
+\index{JUL\_OFFSET@{JUL\_OFFSET}!xbdate.h@{xbdate.h}}
+\doxysubsubsection{\texorpdfstring{JUL\_OFFSET}{JUL\_OFFSET}}
+{\footnotesize\ttfamily \#define JUL\+\_\+\+OFFSET~1721425L}
+
+\mbox{\Hypertarget{xbdate_8h_aeacf2f7cc897ab5bd64781c0fb52b75d}\label{xbdate_8h_aeacf2f7cc897ab5bd64781c0fb52b75d}}
+\index{xbdate.h@{xbdate.h}!XB\_FMT\_MONTH@{XB\_FMT\_MONTH}}
+\index{XB\_FMT\_MONTH@{XB\_FMT\_MONTH}!xbdate.h@{xbdate.h}}
+\doxysubsubsection{\texorpdfstring{XB\_FMT\_MONTH}{XB\_FMT\_MONTH}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+FMT\+\_\+\+MONTH~2}
+
+\mbox{\Hypertarget{xbdate_8h_a8f22704d3fd93fa85dd93b6c699e8178}\label{xbdate_8h_a8f22704d3fd93fa85dd93b6c699e8178}}
+\index{xbdate.h@{xbdate.h}!XB\_FMT\_WEEK@{XB\_FMT\_WEEK}}
+\index{XB\_FMT\_WEEK@{XB\_FMT\_WEEK}!xbdate.h@{xbdate.h}}
+\doxysubsubsection{\texorpdfstring{XB\_FMT\_WEEK}{XB\_FMT\_WEEK}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+FMT\+\_\+\+WEEK~1}
+
+\mbox{\Hypertarget{xbdate_8h_aa29d78982a9e007874af1c4f4e4d1aa4}\label{xbdate_8h_aa29d78982a9e007874af1c4f4e4d1aa4}}
+\index{xbdate.h@{xbdate.h}!XB\_FMT\_YEAR@{XB\_FMT\_YEAR}}
+\index{XB\_FMT\_YEAR@{XB\_FMT\_YEAR}!xbdate.h@{xbdate.h}}
+\doxysubsubsection{\texorpdfstring{XB\_FMT\_YEAR}{XB\_FMT\_YEAR}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+FMT\+\_\+\+YEAR~3}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdate_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdate_8h_source.tex
new file mode 100644
index 0000000..3478aea
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdate_8h_source.tex
@@ -0,0 +1,106 @@
+\hypertarget{xbdate_8h_source}{}\doxysection{xbdate.\+h}
+\label{xbdate_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbdate.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbdate.h}}
+\mbox{\hyperlink{xbdate_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbdate.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 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\_XBDATE\_H\_\_}}
+\DoxyCodeLine{18 \textcolor{preprocessor}{\#define \_\_XB\_XBDATE\_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 }
+\DoxyCodeLine{25 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{26 }
+\DoxyCodeLine{27 \textcolor{preprocessor}{\#define XB\_FMT\_WEEK 1}}
+\DoxyCodeLine{28 \textcolor{preprocessor}{\#define XB\_FMT\_MONTH 2}}
+\DoxyCodeLine{29 \textcolor{preprocessor}{\#define XB\_FMT\_YEAR 3}}
+\DoxyCodeLine{30 }
+\DoxyCodeLine{31 \textcolor{comment}{// next value is added to the date calculation to match dbase calculation}}
+\DoxyCodeLine{32 \textcolor{comment}{// first valid dbase date is 01/01/0001}}
+\DoxyCodeLine{33 \textcolor{preprocessor}{\#define JUL\_OFFSET 1721425L}}
+\DoxyCodeLine{34 }
+\DoxyCodeLine{35 }
+\DoxyCodeLine{37 }
+\DoxyCodeLine{62 \textcolor{keyword}{class }XBDLLEXPORT \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} : \textcolor{keyword}{public} \mbox{\hyperlink{classxb_1_1xbSsv}{xbSsv}} \{}
+\DoxyCodeLine{63 \textcolor{keyword}{public}:}
+\DoxyCodeLine{64 }
+\DoxyCodeLine{65 \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}}();}
+\DoxyCodeLine{66 \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}}( \textcolor{keyword}{const} \textcolor{keywordtype}{char} * Date8 );}
+\DoxyCodeLine{67 \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}}( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Date8 );}
+\DoxyCodeLine{68 \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}}( xbInt32 lJulDate );}
+\DoxyCodeLine{69 \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}}( xbUInt16 iInit ); \textcolor{comment}{// Constructor used to set the static variables, also defaults to sysdate}}
+\DoxyCodeLine{70 \mbox{\hyperlink{classxb_1_1xbDate}{\string~xbDate}}();}
+\DoxyCodeLine{71 }
+\DoxyCodeLine{72 \textcolor{keywordtype}{void} operator=( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&d );}
+\DoxyCodeLine{73 \textcolor{keywordtype}{void} operator+=( xbInt32 i );}
+\DoxyCodeLine{74 \textcolor{keywordtype}{void} operator-\/=( xbInt32 i );}
+\DoxyCodeLine{75 \textcolor{keywordtype}{void} operator++( xbInt32 i );}
+\DoxyCodeLine{76 \textcolor{keywordtype}{void} operator-\/-\/( xbInt32 i );}
+\DoxyCodeLine{77 }
+\DoxyCodeLine{78 xbInt32 operator-\/( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
+\DoxyCodeLine{79 \textcolor{keyword}{const} \textcolor{keywordtype}{char} * operator-\/( xbInt32 i );}
+\DoxyCodeLine{80 \textcolor{keyword}{const} \textcolor{keywordtype}{char} * operator+( xbInt32 i );}
+\DoxyCodeLine{81 }
+\DoxyCodeLine{82 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator==( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
+\DoxyCodeLine{83 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator!=( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
+\DoxyCodeLine{84 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator< ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
+\DoxyCodeLine{85 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator> ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
+\DoxyCodeLine{86 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator<=( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
+\DoxyCodeLine{87 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator>=( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \& ) \textcolor{keyword}{const};}
+\DoxyCodeLine{88 }
+\DoxyCodeLine{89 xbInt16 CalcRollingCenturyForYear( xbInt16 year ) \textcolor{keyword}{const};}
+\DoxyCodeLine{90 xbInt16 CenturyOf() \textcolor{keyword}{const};}
+\DoxyCodeLine{91 xbInt16 CharDayOf( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOutCharDay );}
+\DoxyCodeLine{92 xbInt16 CharMonthOf( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOutCharMonth );}
+\DoxyCodeLine{93 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} DateIsValid ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sDate8 ) \textcolor{keyword}{const};}
+\DoxyCodeLine{94 xbInt16 DayOf( xbInt16 iFormat ) \textcolor{keyword}{const};}
+\DoxyCodeLine{95 xbInt16 CTOD( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sCtodInDate );}
+\DoxyCodeLine{96 xbInt16 FormatDate( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFmtIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFmtOut );}
+\DoxyCodeLine{97 \textcolor{keyword}{const} \textcolor{keywordtype}{char} *Str() \textcolor{keyword}{const};}
+\DoxyCodeLine{98 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsLeapYear( xbInt16 iYear ) \textcolor{keyword}{const};}
+\DoxyCodeLine{99 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsLeapYear() \textcolor{keyword}{const};}
+\DoxyCodeLine{100 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsNull() \textcolor{keyword}{const};}
+\DoxyCodeLine{101 xbInt32 JulianDays() \textcolor{keyword}{const};}
+\DoxyCodeLine{102 xbInt16 JulToDate8( xbInt32 lJulDate );}
+\DoxyCodeLine{103 xbInt16 LastDayOfMonth();}
+\DoxyCodeLine{104 xbInt16 MonthOf() \textcolor{keyword}{const};}
+\DoxyCodeLine{105 xbInt16 Set( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Date8 );}
+\DoxyCodeLine{106 xbInt16 Sysdate();}
+\DoxyCodeLine{107 xbInt16 YearOf() \textcolor{keyword}{const};}
+\DoxyCodeLine{108 }
+\DoxyCodeLine{109 \textcolor{preprocessor}{\#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{110 \textcolor{keywordtype}{void} Dump( \textcolor{keyword}{const} \textcolor{keywordtype}{char} * title );}
+\DoxyCodeLine{111 \textcolor{keywordtype}{void} DumpDateTables();}
+\DoxyCodeLine{112 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{113 }
+\DoxyCodeLine{114 \textcolor{keyword}{private}:}
+\DoxyCodeLine{115 \textcolor{keywordtype}{void} SetDateTables();}
+\DoxyCodeLine{116 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sDate8; \textcolor{comment}{// CCYYMMDD date format ie; 20140718}}
+\DoxyCodeLine{117 \textcolor{comment}{// Null date is identified by sDate.Len() < 8}}
+\DoxyCodeLine{118 }
+\DoxyCodeLine{119 \textcolor{keyword}{static} \textcolor{keywordtype}{int} iAggregatedDaysInMonths[2][13];}
+\DoxyCodeLine{120 \textcolor{keyword}{static} \textcolor{keywordtype}{int} iDaysInMonths[2][13];}
+\DoxyCodeLine{121 \};}
+\DoxyCodeLine{122 }
+\DoxyCodeLine{123 \} \textcolor{comment}{/* namespace */}}
+\DoxyCodeLine{124 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/*\_\_XB\_XBDATE\_H\_\_ */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{125 }
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf3_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf3_8cpp.tex
new file mode 100644
index 0000000..ed9be8b
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf3_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbdbf3_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbdbf3.cpp File Reference}
+\label{xbdbf3_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbdbf3.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbdbf3.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf4_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf4_8cpp.tex
new file mode 100644
index 0000000..db4c64e
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf4_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbdbf4_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbdbf4.cpp File Reference}
+\label{xbdbf4_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbdbf4.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbdbf4.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf_8cpp.tex
new file mode 100644
index 0000000..a96b643
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf_8cpp.tex
@@ -0,0 +1,8 @@
+\hypertarget{xbdbf_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbdbf.cpp File Reference}
+\label{xbdbf_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbdbf.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbdbf.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf_8h.tex
new file mode 100644
index 0000000..3efbf47
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf_8h.tex
@@ -0,0 +1,196 @@
+\hypertarget{xbdbf_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbdbf.h File Reference}
+\label{xbdbf_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbdbf.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbdbf.h}}
+\doxysubsection*{Data Structures}
+\begin{DoxyCompactItemize}
+\item
+struct \mbox{\hyperlink{structxb_1_1xbSchema}{xb\+::xb\+Schema}}
+\begin{DoxyCompactList}\small\item\em Schema used for defining tables with Create\+Table methods. \end{DoxyCompactList}\item
+class \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+::xb\+Dbf}}
+\begin{DoxyCompactList}\small\item\em Base class for handling dbf files/tables. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Macros}
+\begin{DoxyCompactItemize}
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a20f739b9d9dc6a002a246a999e76aeaa}{XB\+\_\+\+CHAR\+\_\+\+FLD}}~\textquotesingle{}C\textquotesingle{}
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a2f6d5073af761bc1a806a2c7b1c1d886}{XB\+\_\+\+LOGICAL\+\_\+\+FLD}}~\textquotesingle{}L\textquotesingle{}
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_ae9fb6d69cc5edc94d36ae403c22ec1c6}{XB\+\_\+\+NUMERIC\+\_\+\+FLD}}~\textquotesingle{}N\textquotesingle{}
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a7f685e6f5fe804b2174725a27ce73adc}{XB\+\_\+\+DATE\+\_\+\+FLD}}~\textquotesingle{}D\textquotesingle{}
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a23fa19b19cb43bd6dcc59a5a3f6c30ad}{XB\+\_\+\+MEMO\+\_\+\+FLD}}~\textquotesingle{}M\textquotesingle{}
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a96ab4218d70ab603b4866354ce8c18cd}{XB\+\_\+\+FLOAT\+\_\+\+FLD}}~\textquotesingle{}F\textquotesingle{}
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a843ca4569326dbd1d0647899b0eb512f}{XB\+\_\+\+CLOSED}}~0
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a9a6dafbb07cac744eb14094efa739409}{XB\+\_\+\+OPEN}}~1
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a26e7eeda69f32bc88b08a208ca9e7991}{XB\+\_\+\+UPDATED}}~2
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a395a2e101a793bacabf6bc079d178e29}{XB\+\_\+\+LOCK}}~0
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a21389b73e7b4e7e185fa635b9e354c2e}{XB\+\_\+\+UNLOCK}}~1
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a4c08d01bd69e295b001bd00a228d8106}{LK\+\_\+\+DBASE}}~1
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a01d6d7910b0da2170eb904a97d864a41}{LK\+\_\+\+CLIPPER}}~2
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a65e29186276222f460a7171803e07adf}{LK\+\_\+\+FOX}}~3
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a42aea0ccd94f7422c8e0d7422dce85a4}{LK\+\_\+\+XBASE64}}~9
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a8bd17730da3ba5c55a6a07bc482dd0e4}{XB\+\_\+\+ALL\+\_\+\+RECS}}~0
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a1c44bb25bf2e23a3a9d3d2312df0b592}{XB\+\_\+\+ACTIVE\+\_\+\+RECS}}~1
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_acc0a441854ed92b9d65d1181a97cad43}{XB\+\_\+\+DELETED\+\_\+\+RECS}}~2
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a6fe10b307878b4612b04c2c876a4a592}{XB\+\_\+\+OVERLAY}}~1
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a7b797840abdb3291373d15978103a778}{XB\+\_\+\+DONTOVERLAY}}~0
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_ada1115f596131888c04df61546b198c4}{XB\+\_\+\+CHAREOF}}~\textquotesingle{}\textbackslash{}x1A\textquotesingle{} /$\ast$ end of DBF $\ast$/
+\item
+\#define \mbox{\hyperlink{xbdbf_8h_a35d56cac7959c1e5c761684ced3f1e17}{XB\+\_\+\+CHARHDR}}~\textquotesingle{}\textbackslash{}x0D\textquotesingle{} /$\ast$ header terminator $\ast$/
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Macro Definition Documentation}
+\mbox{\Hypertarget{xbdbf_8h_a01d6d7910b0da2170eb904a97d864a41}\label{xbdbf_8h_a01d6d7910b0da2170eb904a97d864a41}}
+\index{xbdbf.h@{xbdbf.h}!LK\_CLIPPER@{LK\_CLIPPER}}
+\index{LK\_CLIPPER@{LK\_CLIPPER}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{LK\_CLIPPER}{LK\_CLIPPER}}
+{\footnotesize\ttfamily \#define LK\+\_\+\+CLIPPER~2}
+
+\mbox{\Hypertarget{xbdbf_8h_a4c08d01bd69e295b001bd00a228d8106}\label{xbdbf_8h_a4c08d01bd69e295b001bd00a228d8106}}
+\index{xbdbf.h@{xbdbf.h}!LK\_DBASE@{LK\_DBASE}}
+\index{LK\_DBASE@{LK\_DBASE}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{LK\_DBASE}{LK\_DBASE}}
+{\footnotesize\ttfamily \#define LK\+\_\+\+DBASE~1}
+
+\mbox{\Hypertarget{xbdbf_8h_a65e29186276222f460a7171803e07adf}\label{xbdbf_8h_a65e29186276222f460a7171803e07adf}}
+\index{xbdbf.h@{xbdbf.h}!LK\_FOX@{LK\_FOX}}
+\index{LK\_FOX@{LK\_FOX}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{LK\_FOX}{LK\_FOX}}
+{\footnotesize\ttfamily \#define LK\+\_\+\+FOX~3}
+
+\mbox{\Hypertarget{xbdbf_8h_a42aea0ccd94f7422c8e0d7422dce85a4}\label{xbdbf_8h_a42aea0ccd94f7422c8e0d7422dce85a4}}
+\index{xbdbf.h@{xbdbf.h}!LK\_XBASE64@{LK\_XBASE64}}
+\index{LK\_XBASE64@{LK\_XBASE64}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{LK\_XBASE64}{LK\_XBASE64}}
+{\footnotesize\ttfamily \#define LK\+\_\+\+XBASE64~9}
+
+\mbox{\Hypertarget{xbdbf_8h_a1c44bb25bf2e23a3a9d3d2312df0b592}\label{xbdbf_8h_a1c44bb25bf2e23a3a9d3d2312df0b592}}
+\index{xbdbf.h@{xbdbf.h}!XB\_ACTIVE\_RECS@{XB\_ACTIVE\_RECS}}
+\index{XB\_ACTIVE\_RECS@{XB\_ACTIVE\_RECS}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_ACTIVE\_RECS}{XB\_ACTIVE\_RECS}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+ACTIVE\+\_\+\+RECS~1}
+
+\mbox{\Hypertarget{xbdbf_8h_a8bd17730da3ba5c55a6a07bc482dd0e4}\label{xbdbf_8h_a8bd17730da3ba5c55a6a07bc482dd0e4}}
+\index{xbdbf.h@{xbdbf.h}!XB\_ALL\_RECS@{XB\_ALL\_RECS}}
+\index{XB\_ALL\_RECS@{XB\_ALL\_RECS}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_ALL\_RECS}{XB\_ALL\_RECS}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+ALL\+\_\+\+RECS~0}
+
+\mbox{\Hypertarget{xbdbf_8h_a20f739b9d9dc6a002a246a999e76aeaa}\label{xbdbf_8h_a20f739b9d9dc6a002a246a999e76aeaa}}
+\index{xbdbf.h@{xbdbf.h}!XB\_CHAR\_FLD@{XB\_CHAR\_FLD}}
+\index{XB\_CHAR\_FLD@{XB\_CHAR\_FLD}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_CHAR\_FLD}{XB\_CHAR\_FLD}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+CHAR\+\_\+\+FLD~\textquotesingle{}C\textquotesingle{}}
+
+\mbox{\Hypertarget{xbdbf_8h_ada1115f596131888c04df61546b198c4}\label{xbdbf_8h_ada1115f596131888c04df61546b198c4}}
+\index{xbdbf.h@{xbdbf.h}!XB\_CHAREOF@{XB\_CHAREOF}}
+\index{XB\_CHAREOF@{XB\_CHAREOF}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_CHAREOF}{XB\_CHAREOF}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+CHAREOF~\textquotesingle{}\textbackslash{}x1A\textquotesingle{} /$\ast$ end of DBF $\ast$/}
+
+\mbox{\Hypertarget{xbdbf_8h_a35d56cac7959c1e5c761684ced3f1e17}\label{xbdbf_8h_a35d56cac7959c1e5c761684ced3f1e17}}
+\index{xbdbf.h@{xbdbf.h}!XB\_CHARHDR@{XB\_CHARHDR}}
+\index{XB\_CHARHDR@{XB\_CHARHDR}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_CHARHDR}{XB\_CHARHDR}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+CHARHDR~\textquotesingle{}\textbackslash{}x0D\textquotesingle{} /$\ast$ header terminator $\ast$/}
+
+\mbox{\Hypertarget{xbdbf_8h_a843ca4569326dbd1d0647899b0eb512f}\label{xbdbf_8h_a843ca4569326dbd1d0647899b0eb512f}}
+\index{xbdbf.h@{xbdbf.h}!XB\_CLOSED@{XB\_CLOSED}}
+\index{XB\_CLOSED@{XB\_CLOSED}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_CLOSED}{XB\_CLOSED}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+CLOSED~0}
+
+\mbox{\Hypertarget{xbdbf_8h_a7f685e6f5fe804b2174725a27ce73adc}\label{xbdbf_8h_a7f685e6f5fe804b2174725a27ce73adc}}
+\index{xbdbf.h@{xbdbf.h}!XB\_DATE\_FLD@{XB\_DATE\_FLD}}
+\index{XB\_DATE\_FLD@{XB\_DATE\_FLD}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_DATE\_FLD}{XB\_DATE\_FLD}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+DATE\+\_\+\+FLD~\textquotesingle{}D\textquotesingle{}}
+
+\mbox{\Hypertarget{xbdbf_8h_acc0a441854ed92b9d65d1181a97cad43}\label{xbdbf_8h_acc0a441854ed92b9d65d1181a97cad43}}
+\index{xbdbf.h@{xbdbf.h}!XB\_DELETED\_RECS@{XB\_DELETED\_RECS}}
+\index{XB\_DELETED\_RECS@{XB\_DELETED\_RECS}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_DELETED\_RECS}{XB\_DELETED\_RECS}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+DELETED\+\_\+\+RECS~2}
+
+\mbox{\Hypertarget{xbdbf_8h_a7b797840abdb3291373d15978103a778}\label{xbdbf_8h_a7b797840abdb3291373d15978103a778}}
+\index{xbdbf.h@{xbdbf.h}!XB\_DONTOVERLAY@{XB\_DONTOVERLAY}}
+\index{XB\_DONTOVERLAY@{XB\_DONTOVERLAY}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_DONTOVERLAY}{XB\_DONTOVERLAY}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+DONTOVERLAY~0}
+
+\mbox{\Hypertarget{xbdbf_8h_a96ab4218d70ab603b4866354ce8c18cd}\label{xbdbf_8h_a96ab4218d70ab603b4866354ce8c18cd}}
+\index{xbdbf.h@{xbdbf.h}!XB\_FLOAT\_FLD@{XB\_FLOAT\_FLD}}
+\index{XB\_FLOAT\_FLD@{XB\_FLOAT\_FLD}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_FLOAT\_FLD}{XB\_FLOAT\_FLD}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+FLOAT\+\_\+\+FLD~\textquotesingle{}F\textquotesingle{}}
+
+\mbox{\Hypertarget{xbdbf_8h_a395a2e101a793bacabf6bc079d178e29}\label{xbdbf_8h_a395a2e101a793bacabf6bc079d178e29}}
+\index{xbdbf.h@{xbdbf.h}!XB\_LOCK@{XB\_LOCK}}
+\index{XB\_LOCK@{XB\_LOCK}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_LOCK}{XB\_LOCK}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+LOCK~0}
+
+\mbox{\Hypertarget{xbdbf_8h_a2f6d5073af761bc1a806a2c7b1c1d886}\label{xbdbf_8h_a2f6d5073af761bc1a806a2c7b1c1d886}}
+\index{xbdbf.h@{xbdbf.h}!XB\_LOGICAL\_FLD@{XB\_LOGICAL\_FLD}}
+\index{XB\_LOGICAL\_FLD@{XB\_LOGICAL\_FLD}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_LOGICAL\_FLD}{XB\_LOGICAL\_FLD}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+LOGICAL\+\_\+\+FLD~\textquotesingle{}L\textquotesingle{}}
+
+\mbox{\Hypertarget{xbdbf_8h_a23fa19b19cb43bd6dcc59a5a3f6c30ad}\label{xbdbf_8h_a23fa19b19cb43bd6dcc59a5a3f6c30ad}}
+\index{xbdbf.h@{xbdbf.h}!XB\_MEMO\_FLD@{XB\_MEMO\_FLD}}
+\index{XB\_MEMO\_FLD@{XB\_MEMO\_FLD}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_MEMO\_FLD}{XB\_MEMO\_FLD}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+MEMO\+\_\+\+FLD~\textquotesingle{}M\textquotesingle{}}
+
+\mbox{\Hypertarget{xbdbf_8h_ae9fb6d69cc5edc94d36ae403c22ec1c6}\label{xbdbf_8h_ae9fb6d69cc5edc94d36ae403c22ec1c6}}
+\index{xbdbf.h@{xbdbf.h}!XB\_NUMERIC\_FLD@{XB\_NUMERIC\_FLD}}
+\index{XB\_NUMERIC\_FLD@{XB\_NUMERIC\_FLD}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_NUMERIC\_FLD}{XB\_NUMERIC\_FLD}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+NUMERIC\+\_\+\+FLD~\textquotesingle{}N\textquotesingle{}}
+
+\mbox{\Hypertarget{xbdbf_8h_a9a6dafbb07cac744eb14094efa739409}\label{xbdbf_8h_a9a6dafbb07cac744eb14094efa739409}}
+\index{xbdbf.h@{xbdbf.h}!XB\_OPEN@{XB\_OPEN}}
+\index{XB\_OPEN@{XB\_OPEN}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_OPEN}{XB\_OPEN}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+OPEN~1}
+
+\mbox{\Hypertarget{xbdbf_8h_a6fe10b307878b4612b04c2c876a4a592}\label{xbdbf_8h_a6fe10b307878b4612b04c2c876a4a592}}
+\index{xbdbf.h@{xbdbf.h}!XB\_OVERLAY@{XB\_OVERLAY}}
+\index{XB\_OVERLAY@{XB\_OVERLAY}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_OVERLAY}{XB\_OVERLAY}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+OVERLAY~1}
+
+\mbox{\Hypertarget{xbdbf_8h_a21389b73e7b4e7e185fa635b9e354c2e}\label{xbdbf_8h_a21389b73e7b4e7e185fa635b9e354c2e}}
+\index{xbdbf.h@{xbdbf.h}!XB\_UNLOCK@{XB\_UNLOCK}}
+\index{XB\_UNLOCK@{XB\_UNLOCK}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_UNLOCK}{XB\_UNLOCK}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+UNLOCK~1}
+
+\mbox{\Hypertarget{xbdbf_8h_a26e7eeda69f32bc88b08a208ca9e7991}\label{xbdbf_8h_a26e7eeda69f32bc88b08a208ca9e7991}}
+\index{xbdbf.h@{xbdbf.h}!XB\_UPDATED@{XB\_UPDATED}}
+\index{XB\_UPDATED@{XB\_UPDATED}!xbdbf.h@{xbdbf.h}}
+\doxysubsubsection{\texorpdfstring{XB\_UPDATED}{XB\_UPDATED}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+UPDATED~2}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf_8h_source.tex
new file mode 100644
index 0000000..d982681
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdbf_8h_source.tex
@@ -0,0 +1,521 @@
+\hypertarget{xbdbf_8h_source}{}\doxysection{xbdbf.\+h}
+\label{xbdbf_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbdbf.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbdbf.h}}
+\mbox{\hyperlink{xbdbf_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbdbf.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\_XBDBF\_H\_\_}}
+\DoxyCodeLine{18 \textcolor{preprocessor}{\#define \_\_XB\_XBDBF\_H\_\_}}
+\DoxyCodeLine{19 }
+\DoxyCodeLine{20 \textcolor{comment}{//\#ifdef CMAKE\_COMPILER\_IS\_GNUCC}}
+\DoxyCodeLine{21 \textcolor{comment}{//\#pragma interface}}
+\DoxyCodeLine{22 \textcolor{comment}{//\#endif}}
+\DoxyCodeLine{23 }
+\DoxyCodeLine{24 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{25 }
+\DoxyCodeLine{26 \textcolor{comment}{/*****************************/}}
+\DoxyCodeLine{27 \textcolor{comment}{/* Field Types */}}
+\DoxyCodeLine{28 }
+\DoxyCodeLine{29 \textcolor{preprocessor}{\#define XB\_CHAR\_FLD 'C'}}
+\DoxyCodeLine{30 \textcolor{preprocessor}{\#define XB\_LOGICAL\_FLD 'L'}}
+\DoxyCodeLine{31 \textcolor{preprocessor}{\#define XB\_NUMERIC\_FLD 'N'}}
+\DoxyCodeLine{32 \textcolor{preprocessor}{\#define XB\_DATE\_FLD 'D'}}
+\DoxyCodeLine{33 \textcolor{preprocessor}{\#define XB\_MEMO\_FLD 'M'}}
+\DoxyCodeLine{34 \textcolor{preprocessor}{\#define XB\_FLOAT\_FLD 'F'}}
+\DoxyCodeLine{35 }
+\DoxyCodeLine{36 \textcolor{comment}{/*****************************/}}
+\DoxyCodeLine{37 \textcolor{comment}{/* File Status Codes */}}
+\DoxyCodeLine{38 }
+\DoxyCodeLine{39 \textcolor{preprocessor}{\#define XB\_CLOSED 0}}
+\DoxyCodeLine{40 \textcolor{preprocessor}{\#define XB\_OPEN 1}}
+\DoxyCodeLine{41 \textcolor{preprocessor}{\#define XB\_UPDATED 2}}
+\DoxyCodeLine{42 }
+\DoxyCodeLine{43 }
+\DoxyCodeLine{44 \textcolor{comment}{/*****************************/}}
+\DoxyCodeLine{45 \textcolor{comment}{/* File Access Modes */}}
+\DoxyCodeLine{46 \textcolor{comment}{// \#define XB\_SINGLE\_USER 0 // file buffering on}}
+\DoxyCodeLine{47 \textcolor{comment}{// \#define XB\_MULTI\_USER 1 // file buffering off}}
+\DoxyCodeLine{48 }
+\DoxyCodeLine{49 \textcolor{comment}{/*****************************/}}
+\DoxyCodeLine{50 \textcolor{comment}{/* File Lock Functions */}}
+\DoxyCodeLine{51 \textcolor{preprocessor}{\#define XB\_LOCK 0}}
+\DoxyCodeLine{52 \textcolor{preprocessor}{\#define XB\_UNLOCK 1}}
+\DoxyCodeLine{53 }
+\DoxyCodeLine{54 \textcolor{preprocessor}{\#define LK\_DBASE 1}}
+\DoxyCodeLine{55 \textcolor{preprocessor}{\#define LK\_CLIPPER 2 }\textcolor{comment}{// future}}
+\DoxyCodeLine{56 \textcolor{preprocessor}{\#define LK\_FOX 3 }\textcolor{comment}{// future}}
+\DoxyCodeLine{57 \textcolor{preprocessor}{\#define LK\_XBASE64 9 }\textcolor{comment}{// future}}
+\DoxyCodeLine{58 }
+\DoxyCodeLine{59 \textcolor{comment}{/*****************************/}}
+\DoxyCodeLine{60 \textcolor{comment}{/* Record retrieve options */}}
+\DoxyCodeLine{61 \textcolor{preprocessor}{\#define XB\_ALL\_RECS 0}}
+\DoxyCodeLine{62 \textcolor{preprocessor}{\#define XB\_ACTIVE\_RECS 1}}
+\DoxyCodeLine{63 \textcolor{preprocessor}{\#define XB\_DELETED\_RECS 2}}
+\DoxyCodeLine{64 }
+\DoxyCodeLine{65 }
+\DoxyCodeLine{66 \textcolor{comment}{/*****************************/}}
+\DoxyCodeLine{67 \textcolor{comment}{/* Other defines */}}
+\DoxyCodeLine{68 }
+\DoxyCodeLine{69 \textcolor{preprocessor}{\#define XB\_OVERLAY 1}}
+\DoxyCodeLine{70 \textcolor{preprocessor}{\#define XB\_DONTOVERLAY 0}}
+\DoxyCodeLine{71 \textcolor{preprocessor}{\#define XB\_CHAREOF '\(\backslash\)x1A' }\textcolor{comment}{/* end of DBF */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{72 \textcolor{preprocessor}{\#define XB\_CHARHDR '\(\backslash\)x0D' }\textcolor{comment}{/* header terminator */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{73 }
+\DoxyCodeLine{74 }
+\DoxyCodeLine{76 }
+\DoxyCodeLine{95 \textcolor{keyword}{struct }XBDLLEXPORT \mbox{\hyperlink{structxb_1_1xbSchema}{xbSchema}} \{}
+\DoxyCodeLine{96 \textcolor{keywordtype}{char} cFieldName[11];}
+\DoxyCodeLine{97 \textcolor{keywordtype}{char} \mbox{\hyperlink{structxb_1_1xbSchema_a1d612b2ed5dc0b0289c9e91b3cda3a25}{cType}};}
+\DoxyCodeLine{98 xbInt16 \mbox{\hyperlink{structxb_1_1xbSchema_a2da554af25ef628acf59bb52996056ac}{iFieldLen}}; \textcolor{comment}{/* fields are stored as one byte on record*/}}
+\DoxyCodeLine{99 xbInt16 \mbox{\hyperlink{structxb_1_1xbSchema_a55bab3bb69dee3508d168c93e182d4b9}{iNoOfDecs}};}
+\DoxyCodeLine{100 \};}
+\DoxyCodeLine{101 }
+\DoxyCodeLine{103 \textcolor{keyword}{struct }XBDLLEXPORT xbSchemaRec \{}
+\DoxyCodeLine{104 \textcolor{keywordtype}{char} cFieldName[11]; \textcolor{comment}{/* ASCIIZ field name */}}
+\DoxyCodeLine{105 \textcolor{keywordtype}{char} cType; \textcolor{comment}{/* field type */}}
+\DoxyCodeLine{106 \textcolor{keywordtype}{char} *pAddress; \textcolor{comment}{/* pointer to field in record buffer 1 */}}
+\DoxyCodeLine{107 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cFieldLen; \textcolor{comment}{/* fields are stored as one byte on record */}}
+\DoxyCodeLine{108 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cNoOfDecs;}
+\DoxyCodeLine{109 \textcolor{keywordtype}{char} *pAddress2; \textcolor{comment}{/* pointer to field in record buffer 2 */}}
+\DoxyCodeLine{110 xbInt16 iLongFieldLen; \textcolor{comment}{/* to handle long field lengths */}}
+\DoxyCodeLine{111 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cIxFlag; \textcolor{comment}{/* DBase IV Index field flag */}}
+\DoxyCodeLine{112 \};}
+\DoxyCodeLine{114 }
+\DoxyCodeLine{115 }
+\DoxyCodeLine{116 }
+\DoxyCodeLine{118 \textcolor{preprocessor}{\#ifdef XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{119 \textcolor{keyword}{class }XBDLLEXPORT xbIx;}
+\DoxyCodeLine{120 \textcolor{comment}{// structure for file list, each open DBF file can have one or more index files}}
+\DoxyCodeLine{121 \textcolor{keyword}{struct }XBDLLEXPORT xbIxList \{}
+\DoxyCodeLine{122 xbIxList *next;}
+\DoxyCodeLine{123 xbIx *ix;}
+\DoxyCodeLine{124 xbString *sFmt;}
+\DoxyCodeLine{125 \};}
+\DoxyCodeLine{126 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{128 \textcolor{comment}{}}
+\DoxyCodeLine{129 }
+\DoxyCodeLine{131 }
+\DoxyCodeLine{150 \textcolor{keyword}{class }XBDLLEXPORT \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} : \textcolor{keyword}{public} \mbox{\hyperlink{classxb_1_1xbFile}{xbFile}} \{}
+\DoxyCodeLine{151 }
+\DoxyCodeLine{152 \textcolor{keyword}{public}:}
+\DoxyCodeLine{153 \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}}( \mbox{\hyperlink{classxb_1_1xbXBase}{xbXBase}} *x );}
+\DoxyCodeLine{154 \textcolor{keyword}{virtual} \mbox{\hyperlink{classxb_1_1xbDbf}{\string~xbDbf}}();}
+\DoxyCodeLine{155 }
+\DoxyCodeLine{156 \textcolor{keyword}{virtual} xbInt16 Abort();}
+\DoxyCodeLine{157 \textcolor{keyword}{virtual} xbInt16 AppendRecord();}
+\DoxyCodeLine{158 \textcolor{keyword}{virtual} xbInt16 BlankRecord();}
+\DoxyCodeLine{159 \textcolor{keyword}{virtual} xbInt16 Commit();}
+\DoxyCodeLine{160 \textcolor{keyword}{virtual} xbInt16 Close();}
+\DoxyCodeLine{161 \textcolor{keyword}{virtual} xbInt16 CopyDbfStructure( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} *dNewTable, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableAlias, xbInt16 iOverlay, xbInt16 iShareMode );}
+\DoxyCodeLine{162 \textcolor{keyword}{virtual} xbInt16 \mbox{\hyperlink{classxb_1_1xbDbf_a73e41bfe679dd06ab16c436652df93f1}{CreateTable}} ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sAlias, \mbox{\hyperlink{structxb_1_1xbSchema}{xbSchema}} *pSchema, xbInt16 iOverlay, xbInt16 iShareMode ) = 0;}
+\DoxyCodeLine{163 \textcolor{keyword}{virtual} xbInt16 DeleteTable ();}
+\DoxyCodeLine{164 \textcolor{keyword}{virtual} xbInt16 DeleteAll ( xbInt16 iOption );}
+\DoxyCodeLine{165 \textcolor{keyword}{virtual} xbInt16 DeleteAllRecords ();}
+\DoxyCodeLine{166 \textcolor{keyword}{virtual} xbInt16 DeleteRecord ();}
+\DoxyCodeLine{167 \textcolor{keyword}{virtual} xbInt16 DumpHeader ( xbInt16 iOption );}
+\DoxyCodeLine{168 \textcolor{keyword}{virtual} xbInt16 DumpRecord ( xbUInt32 ulRecNo, xbInt16 iOutputDest = 0, xbInt16 iOutputFmt = 0 );}
+\DoxyCodeLine{169 \textcolor{keyword}{virtual} xbInt16 GetAutoCommit () \textcolor{keyword}{const};}
+\DoxyCodeLine{170 \textcolor{keyword}{virtual} xbInt16 GetAutoCommit ( xbInt16 iOption ) \textcolor{keyword}{const};}
+\DoxyCodeLine{171 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetBof ();}
+\DoxyCodeLine{172 \textcolor{keyword}{virtual} xbUInt32 GetCurRecNo () \textcolor{keyword}{const};}
+\DoxyCodeLine{173 \textcolor{keyword}{virtual} xbInt16 GetDbfStatus () \textcolor{keyword}{const};}
+\DoxyCodeLine{174 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetEof ();}
+\DoxyCodeLine{175 \textcolor{keyword}{virtual} xbInt32 GetFieldCnt () \textcolor{keyword}{const};}
+\DoxyCodeLine{176 \textcolor{keyword}{virtual} xbInt16 GetFirstRecord ();}
+\DoxyCodeLine{177 \textcolor{keyword}{virtual} xbInt16 GetFirstRecord ( xbInt16 iOption );}
+\DoxyCodeLine{178 \textcolor{keyword}{virtual} xbUInt16 \mbox{\hyperlink{classxb_1_1xbDbf_ad56be2756b7a9f8318d9ba5cf215dafb}{GetHeaderLen}} () \textcolor{keyword}{const};}
+\DoxyCodeLine{179 \textcolor{keyword}{virtual} xbInt16 GetLastRecord ();}
+\DoxyCodeLine{180 \textcolor{keyword}{virtual} xbInt16 GetLastRecord ( xbInt16 iOption );}
+\DoxyCodeLine{181 }
+\DoxyCodeLine{182 \textcolor{keyword}{virtual} xbInt16 GetNextRecord ();}
+\DoxyCodeLine{183 \textcolor{keyword}{virtual} xbInt16 GetNextRecord ( xbInt16 iOption );}
+\DoxyCodeLine{184 \textcolor{keyword}{virtual} xbInt16 GetNextRecord ( xbInt16 iOption, xbUInt32 ulStartRec );}
+\DoxyCodeLine{185 \textcolor{keyword}{virtual} xbInt16 GetPrevRecord ();}
+\DoxyCodeLine{186 \textcolor{keyword}{virtual} xbInt16 GetPrevRecord ( xbInt16 iOption );}
+\DoxyCodeLine{187 \textcolor{keyword}{virtual} xbInt16 GetRecord ( xbUInt32 ulRecNo );}
+\DoxyCodeLine{188 }
+\DoxyCodeLine{189 \textcolor{comment}{// virtual xbUInt32 GetRecordCount ();}}
+\DoxyCodeLine{190 \textcolor{keyword}{virtual} xbInt16 GetRecordCnt ( xbUInt32 \& ulRecCnt );}
+\DoxyCodeLine{191 }
+\DoxyCodeLine{192 \textcolor{keyword}{virtual} \textcolor{keywordtype}{char} * GetRecordBuf ( xbInt16 iOpt = 0 ) \textcolor{keyword}{const};}
+\DoxyCodeLine{193 \textcolor{keyword}{virtual} xbUInt16 GetRecordLen () \textcolor{keyword}{const};}
+\DoxyCodeLine{194 \textcolor{keyword}{virtual} \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&GetTblAlias() \textcolor{keyword}{const};}
+\DoxyCodeLine{195 \textcolor{keyword}{virtual} xbInt16 \mbox{\hyperlink{classxb_1_1xbDbf_a49212a9eb17f7fa9f303e08d5fc50fc6}{GetVersion}} () \textcolor{keyword}{const} = 0; }
+\DoxyCodeLine{196 \textcolor{keyword}{virtual} \mbox{\hyperlink{classxb_1_1xbXBase}{xbXBase}} *GetXbasePtr () \textcolor{keyword}{const}; \textcolor{comment}{// return xbase pointer}}
+\DoxyCodeLine{197 }
+\DoxyCodeLine{198 }
+\DoxyCodeLine{199 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} MemoFieldsExist () \textcolor{keyword}{const};}
+\DoxyCodeLine{200 }
+\DoxyCodeLine{201 \textcolor{keyword}{virtual} xbInt16 Open ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName );}
+\DoxyCodeLine{202 \textcolor{keyword}{virtual} xbInt16 Open ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sAlias );}
+\DoxyCodeLine{203 \textcolor{keyword}{virtual} xbInt16 \mbox{\hyperlink{classxb_1_1xbDbf_a4d018cbf44d8d8b2145c9acab02c8adf}{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 ) = 0;}
+\DoxyCodeLine{204 \textcolor{keyword}{virtual} xbInt16 Pack ();}
+\DoxyCodeLine{205 \textcolor{keyword}{virtual} xbInt16 Pack ( xbUInt32 \&ulDeletedRecCnt );}
+\DoxyCodeLine{206 }
+\DoxyCodeLine{207 }
+\DoxyCodeLine{208 \textcolor{keyword}{virtual} xbInt16 PutRecord (); \textcolor{comment}{// Put record to current location}}
+\DoxyCodeLine{209 \textcolor{keyword}{virtual} xbInt16 PutRecord ( xbUInt32 ulRecNo );}
+\DoxyCodeLine{210 \textcolor{comment}{// virtual xbInt16 ReadHeader ( xbInt16 iFilePositionOption, xbInt16 iReadOption );}}
+\DoxyCodeLine{211 \textcolor{keyword}{virtual} xbInt16 RecordDeleted ( xbInt16 iOpt = 0 ) \textcolor{keyword}{const};}
+\DoxyCodeLine{212 \textcolor{keyword}{virtual} xbInt16 \mbox{\hyperlink{classxb_1_1xbDbf_aeeeb2eb5fabcd0f91d457df07b0e0708}{Rename}} ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sNewName ) = 0;}
+\DoxyCodeLine{213 }
+\DoxyCodeLine{214 \textcolor{keyword}{virtual} xbInt16 SetAutoCommit ( xbInt16 iAutoCommit );}
+\DoxyCodeLine{215 }
+\DoxyCodeLine{216 \textcolor{keyword}{virtual} xbInt16 UndeleteAllRecords();}
+\DoxyCodeLine{217 \textcolor{keyword}{virtual} xbInt16 UndeleteRecord ();}
+\DoxyCodeLine{218 \textcolor{keyword}{virtual} xbInt16 Zap ();}
+\DoxyCodeLine{219 }
+\DoxyCodeLine{220 }
+\DoxyCodeLine{221 \textcolor{comment}{/* field methods */}}
+\DoxyCodeLine{222 \textcolor{comment}{//virtual xbInt16 GetRawField( xbInt16 iFieldNo, char *Buf, xbUInt32 BufSize, xbInt16 iRecBufSw ) const;}}
+\DoxyCodeLine{223 \textcolor{keyword}{virtual} xbInt16 GetField(xbInt16 iFieldNo, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldValue, xbInt16 iRecBufSw ) \textcolor{keyword}{const};}
+\DoxyCodeLine{224 \textcolor{keyword}{virtual} xbInt16 GetField(xbInt16 iFieldNo, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldValue) \textcolor{keyword}{const};}
+\DoxyCodeLine{225 \textcolor{keyword}{virtual} xbInt16 GetField(\textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldValue) \textcolor{keyword}{const};}
+\DoxyCodeLine{226 \textcolor{keyword}{virtual} xbInt16 GetFieldDecimal( xbInt16 iFieldNo, xbInt16 \&iFieldDecimal ) \textcolor{keyword}{const};}
+\DoxyCodeLine{227 \textcolor{keyword}{virtual} xbInt16 GetFieldDecimal( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, xbInt16 \&iFieldDecimal ) \textcolor{keyword}{const};}
+\DoxyCodeLine{228 \textcolor{keyword}{virtual} xbInt16 GetFieldLen( xbInt16 iFieldNo, xbInt16 \&iFieldLen ) \textcolor{keyword}{const};}
+\DoxyCodeLine{229 \textcolor{keyword}{virtual} xbInt16 GetFieldLen( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, xbInt16 \&iFieldLen ) \textcolor{keyword}{const};}
+\DoxyCodeLine{230 \textcolor{keyword}{virtual} xbInt16 GetFieldName( xbInt16 iFieldNo, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName ) \textcolor{keyword}{const};}
+\DoxyCodeLine{231 }
+\DoxyCodeLine{232 \textcolor{keyword}{virtual} xbInt16 GetFieldNo( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, xbInt16 \&iFieldNo ) \textcolor{keyword}{const};}
+\DoxyCodeLine{233 \textcolor{keyword}{virtual} xbInt16 GetFieldNo( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName ) \textcolor{keyword}{const};}
+\DoxyCodeLine{234 }
+\DoxyCodeLine{235 \textcolor{keyword}{virtual} xbInt16 GetFieldType( xbInt16 iFieldNo, \textcolor{keywordtype}{char} \&cFieldType ) \textcolor{keyword}{const};}
+\DoxyCodeLine{236 \textcolor{keyword}{virtual} xbInt16 GetFieldType( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \textcolor{keywordtype}{char} \&cFieldType ) \textcolor{keyword}{const};}
+\DoxyCodeLine{237 \textcolor{keyword}{virtual} xbInt16 PutField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldData );}
+\DoxyCodeLine{238 \textcolor{keyword}{virtual} xbInt16 PutField( xbInt16 iFieldNo, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldData );}
+\DoxyCodeLine{239 }
+\DoxyCodeLine{240 \textcolor{keyword}{virtual} xbInt16 PutLogicalField( xbInt16 iFieldNo, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldData );}
+\DoxyCodeLine{241 \textcolor{keyword}{virtual} xbInt16 PutLogicalField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldData );}
+\DoxyCodeLine{242 \textcolor{keyword}{virtual} xbInt16 GetLogicalField( xbInt16 iFieldNo, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldData ) \textcolor{keyword}{const};}
+\DoxyCodeLine{243 \textcolor{keyword}{virtual} xbInt16 GetLogicalField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldData) \textcolor{keyword}{const};}
+\DoxyCodeLine{244 }
+\DoxyCodeLine{245 \textcolor{keyword}{virtual} xbInt16 PutLogicalField( xbInt16 iFieldNo, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bFieldData );}
+\DoxyCodeLine{246 \textcolor{keyword}{virtual} xbInt16 PutLogicalField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bFieldData );}
+\DoxyCodeLine{247 \textcolor{keyword}{virtual} xbInt16 GetLogicalField( xbInt16 iFieldNo, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bFieldData ) \textcolor{keyword}{const};}
+\DoxyCodeLine{248 \textcolor{keyword}{virtual} xbInt16 GetLogicalField( xbInt16 iFieldNo, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bFieldData, xbInt16 iRecBufSw ) \textcolor{keyword}{const};}
+\DoxyCodeLine{249 \textcolor{keyword}{virtual} xbInt16 GetLogicalField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bFieldData) \textcolor{keyword}{const};}
+\DoxyCodeLine{250 }
+\DoxyCodeLine{251 \textcolor{keyword}{virtual} xbInt16 GetLongField( xbInt16 iFieldNo, xbInt32 \&lFieldValue ) \textcolor{keyword}{const};}
+\DoxyCodeLine{252 \textcolor{keyword}{virtual} xbInt16 GetLongField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, xbInt32 \&lFieldValue ) \textcolor{keyword}{const};}
+\DoxyCodeLine{253 \textcolor{keyword}{virtual} xbInt16 PutLongField( xbInt16 iFieldNo, xbInt32 lFieldValue );}
+\DoxyCodeLine{254 \textcolor{keyword}{virtual} xbInt16 PutLongField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, xbInt32 lFieldValue );}
+\DoxyCodeLine{255 }
+\DoxyCodeLine{256 \textcolor{keyword}{virtual} xbInt16 GetULongField( xbInt16 iFieldNo, xbUInt32 \&lFieldValue ) \textcolor{keyword}{const};}
+\DoxyCodeLine{257 \textcolor{keyword}{virtual} xbInt16 GetULongField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, xbUInt32 \&lFieldValue ) \textcolor{keyword}{const};}
+\DoxyCodeLine{258 \textcolor{keyword}{virtual} xbInt16 PutULongField( xbInt16 iFieldNo, xbUInt32 lFieldValue );}
+\DoxyCodeLine{259 \textcolor{keyword}{virtual} xbInt16 PutULongField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldNo, xbUInt32 lFieldValue );}
+\DoxyCodeLine{260 }
+\DoxyCodeLine{261 \textcolor{keyword}{virtual} xbInt16 GetDoubleField( xbInt16 FieldNo, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dFieldValue ) \textcolor{keyword}{const};}
+\DoxyCodeLine{262 \textcolor{keyword}{virtual} xbInt16 GetDoubleField( xbInt16 FieldNo, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dFieldValue, xbInt16 iRecBufSw ) \textcolor{keyword}{const};}
+\DoxyCodeLine{263 \textcolor{keyword}{virtual} xbInt16 GetDoubleField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dFieldValue ) \textcolor{keyword}{const};}
+\DoxyCodeLine{264 \textcolor{keyword}{virtual} xbInt16 PutDoubleField( xbInt16 FieldNo, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dFieldValue );}
+\DoxyCodeLine{265 \textcolor{keyword}{virtual} xbInt16 PutDoubleField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&FieldName, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dFieldValue );}
+\DoxyCodeLine{266 }
+\DoxyCodeLine{267 \textcolor{keyword}{virtual} xbInt16 GetFloatField( xbInt16 iFieldNo, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xbFloat}} \&fFieldValue ) \textcolor{keyword}{const};}
+\DoxyCodeLine{268 \textcolor{keyword}{virtual} xbInt16 GetFloatField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xbFloat}} \&fFieldValue ) \textcolor{keyword}{const};}
+\DoxyCodeLine{269 \textcolor{keyword}{virtual} xbInt16 PutFloatField( xbInt16 iFieldNo, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xbFloat}} fFieldValue );}
+\DoxyCodeLine{270 \textcolor{keyword}{virtual} xbInt16 PutFloatField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xbFloat}} fFieldValue );}
+\DoxyCodeLine{271 }
+\DoxyCodeLine{272 \textcolor{keyword}{virtual} xbInt16 GetDateField( xbInt16 iFieldNo, \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dt ) \textcolor{keyword}{const};}
+\DoxyCodeLine{273 \textcolor{keyword}{virtual} xbInt16 GetDateField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dt ) \textcolor{keyword}{const};}
+\DoxyCodeLine{274 \textcolor{keyword}{virtual} xbInt16 PutDateField( xbInt16 iFieldNo, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dt );}
+\DoxyCodeLine{275 \textcolor{keyword}{virtual} xbInt16 PutDateField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dt );}
+\DoxyCodeLine{276 }
+\DoxyCodeLine{277 \textcolor{keyword}{virtual} xbInt16 GetNullSts( xbInt16 iFieldNo, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bIsNull ) \textcolor{keyword}{const};}
+\DoxyCodeLine{278 \textcolor{keyword}{virtual} xbInt16 GetNullSts( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bIsNull ) \textcolor{keyword}{const};}
+\DoxyCodeLine{279 \textcolor{keyword}{virtual} xbInt16 GetNullSts( xbInt16 iFieldNo, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bIsNull, xbInt16 iRecBufSw ) \textcolor{keyword}{const};}
+\DoxyCodeLine{280 }
+\DoxyCodeLine{281 }
+\DoxyCodeLine{282 }
+\DoxyCodeLine{283 \textcolor{preprocessor}{ \#ifdef XB\_MEMO\_SUPPORT}}
+\DoxyCodeLine{284 \textcolor{keyword}{virtual} xbInt16 GetMemoFieldCnt () \textcolor{keyword}{const};}
+\DoxyCodeLine{285 \textcolor{keyword}{virtual} xbMemo *GetMemoPtr ();}
+\DoxyCodeLine{286 \textcolor{keyword}{virtual} xbUInt32 GetCreateMemoBlockSize() \textcolor{keyword}{const};}
+\DoxyCodeLine{287 \textcolor{keyword}{virtual} xbInt16 GetMemoField ( xbInt16 iFldNo, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sMemoData );}
+\DoxyCodeLine{288 \textcolor{keyword}{virtual} xbInt16 GetMemoField ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \& sFldName, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sMemoData );}
+\DoxyCodeLine{289 \textcolor{keyword}{virtual} xbInt16 GetMemoFieldLen ( xbInt16 iFldNo, xbUInt32 \&ulMemoFieldLen );}
+\DoxyCodeLine{290 \textcolor{keyword}{virtual} xbInt16 GetMemoFieldLen ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \& sFldName, xbUInt32 \&ulMemoFieldLen );}
+\DoxyCodeLine{291 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} MemoFieldExists ( xbInt16 iFieldNo ) \textcolor{keyword}{const};}
+\DoxyCodeLine{292 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} MemoFieldExists ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName ) \textcolor{keyword}{const};}
+\DoxyCodeLine{293 \textcolor{keyword}{virtual} xbInt16 SetCreateMemoBlockSize( xbUInt32 ulBlockSize ) = 0;}
+\DoxyCodeLine{294 \textcolor{keyword}{virtual} xbInt16 UpdateMemoField ( xbInt16 iFldNo, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sMemoData );}
+\DoxyCodeLine{295 \textcolor{keyword}{virtual} xbInt16 UpdateMemoField ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \& sFldName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sMemoData );}
+\DoxyCodeLine{296 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_MEMO\_SUPPORT}}
+\DoxyCodeLine{297 }
+\DoxyCodeLine{298 }
+\DoxyCodeLine{299 \textcolor{preprocessor}{ \#ifdef XB\_LOCKING\_SUPPORT}}
+\DoxyCodeLine{300 \textcolor{keyword}{virtual} xbInt16 LockTable ( xbInt16 iLockFunction );}
+\DoxyCodeLine{301 \textcolor{keyword}{virtual} xbInt16 LockRecord ( xbInt16 iLockFunction, xbUInt32 ulRecNo );}
+\DoxyCodeLine{302 \textcolor{keyword}{virtual} xbInt16 LockAppend ( xbInt16 iLockFunction );}
+\DoxyCodeLine{303 \textcolor{keyword}{virtual} xbInt16 LockHeader ( xbInt16 iLockFunction );}
+\DoxyCodeLine{304 }
+\DoxyCodeLine{305 \textcolor{preprocessor}{ \#ifdef XB\_MEMO\_SUPPORT}}
+\DoxyCodeLine{306 \textcolor{keyword}{virtual} xbInt16 LockMemo ( xbInt16 iLockFunction );}
+\DoxyCodeLine{307 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetMemoLocked () \textcolor{keyword}{const}; }
+\DoxyCodeLine{308 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_MEMO\_LOCK}}
+\DoxyCodeLine{309 }
+\DoxyCodeLine{310 \textcolor{preprocessor}{ \#ifdef XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{311 \textcolor{keyword}{virtual} xbInt16 LockIndices ( xbInt16 iLockFunction );}
+\DoxyCodeLine{312 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{313 }
+\DoxyCodeLine{314 xbInt16 GetAutoLock () \textcolor{keyword}{const};}
+\DoxyCodeLine{315 \textcolor{keywordtype}{void} SetAutoLock ( xbInt16 iAutoLock );}
+\DoxyCodeLine{316 xbInt16 GetLockFlavor () \textcolor{keyword}{const};}
+\DoxyCodeLine{317 \textcolor{keywordtype}{void} SetLockFlavor ( xbInt16 iLockFlavor );}
+\DoxyCodeLine{318 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetTableLocked () \textcolor{keyword}{const};}
+\DoxyCodeLine{319 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetHeaderLocked () \textcolor{keyword}{const};}
+\DoxyCodeLine{320 xbUInt32 GetAppendLocked () \textcolor{keyword}{const};}
+\DoxyCodeLine{321 xbLinkListNode<xbUInt32> * GetFirstRecLock () \textcolor{keyword}{const};}
+\DoxyCodeLine{322 }
+\DoxyCodeLine{323 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{324 \textcolor{keywordtype}{void} DumpTableLockStatus() \textcolor{keyword}{const};}
+\DoxyCodeLine{325 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{326 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_LOCKING\_SUPPORT}}
+\DoxyCodeLine{327 }
+\DoxyCodeLine{328 }
+\DoxyCodeLine{329 \textcolor{preprocessor}{ \#ifdef XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{330 \textcolor{keyword}{virtual} xbInt16 CheckTagIntegrity( xbInt16 iTagOpt, xbInt16 iOutputOpt );}
+\DoxyCodeLine{331 \textcolor{keyword}{virtual} xbInt16 CloseIndexFile( xbIx *pIx );}
+\DoxyCodeLine{332 \textcolor{keyword}{virtual} xbInt16 CreateTag( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIxType, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sKey, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFilter, }
+\DoxyCodeLine{333 xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverLay, xbIx **xbIxOut, \textcolor{keywordtype}{void} **vpTagOut );}
+\DoxyCodeLine{334 \textcolor{keyword}{virtual} xbInt16 DeleteTag( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIxType, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sName );}
+\DoxyCodeLine{335 \textcolor{keyword}{virtual} xbInt16 DeleteAllIndexFiles();}
+\DoxyCodeLine{336 \textcolor{keyword}{virtual} xbInt16 Find( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sKey );}
+\DoxyCodeLine{337 \textcolor{keyword}{virtual} xbInt16 Find( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dtKey );}
+\DoxyCodeLine{338 \textcolor{keyword}{virtual} xbInt16 Find( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dKey );}
+\DoxyCodeLine{339 \textcolor{keyword}{virtual} xbIx *GetCurIx() \textcolor{keyword}{const};}
+\DoxyCodeLine{340 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} *GetCurTag() \textcolor{keyword}{const};}
+\DoxyCodeLine{341 }
+\DoxyCodeLine{342 \textcolor{keyword}{virtual} xbInt16 GetFirstKey();}
+\DoxyCodeLine{343 \textcolor{keyword}{virtual} xbInt16 GetNextKey();}
+\DoxyCodeLine{344 \textcolor{keyword}{virtual} xbInt16 GetPrevKey();}
+\DoxyCodeLine{345 \textcolor{keyword}{virtual} xbInt16 GetLastKey();}
+\DoxyCodeLine{346 }
+\DoxyCodeLine{347 \textcolor{keyword}{virtual} \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&GetCurIxType() \textcolor{keyword}{const};}
+\DoxyCodeLine{348 \textcolor{keyword}{virtual} \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&GetCurTagName() \textcolor{keyword}{const};}
+\DoxyCodeLine{349 \textcolor{keyword}{virtual} xbIxList *GetIxList() \textcolor{keyword}{const};}
+\DoxyCodeLine{350 \textcolor{keyword}{virtual} xbInt32 GetPhysicalIxCnt () \textcolor{keyword}{const};}
+\DoxyCodeLine{351 xbLinkListNode<xbTag *> *GetTagList () \textcolor{keyword}{const};}
+\DoxyCodeLine{352 }
+\DoxyCodeLine{353 \textcolor{keyword}{virtual} xbInt16 OpenIndex( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIxType, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIndexName );}
+\DoxyCodeLine{354 \textcolor{keyword}{virtual} xbInt16 Reindex( xbInt16 iTagOpt = 0, xbInt16 iErrorOpt = 1, xbIx **pIx = NULL, \textcolor{keywordtype}{void} **vpTag = NULL );}
+\DoxyCodeLine{355 \textcolor{keyword}{virtual} xbInt16 SetCurTag( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTagName );}
+\DoxyCodeLine{356 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} SetCurTag( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIxType, xbIx *pIx, \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{357 }
+\DoxyCodeLine{358 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{359 }
+\DoxyCodeLine{360 \textcolor{preprocessor}{ \#ifdef XB\_INF\_SUPPORT}}
+\DoxyCodeLine{361 \textcolor{keyword}{virtual} xbInt16 AssociateIndex( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sType, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sName, xbInt16 iOption );}
+\DoxyCodeLine{362 xbLinkListNode<xbString> *GetInfList() \textcolor{keyword}{const};}
+\DoxyCodeLine{363 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_INF\_SUPPORT}}
+\DoxyCodeLine{364 }
+\DoxyCodeLine{365 \textcolor{comment}{//\#ifdef XB\_MDX\_SUPPORT}}
+\DoxyCodeLine{366 \textcolor{comment}{//virtual xbInt16 GetCreateMdxBlockSize() const;}}
+\DoxyCodeLine{367 \textcolor{comment}{//virtual xbInt16 SetCreateMdxBlockSize( xbInt16 ulBlockSize );}}
+\DoxyCodeLine{368 \textcolor{comment}{//\#endif}}
+\DoxyCodeLine{369 }
+\DoxyCodeLine{370 \textcolor{preprocessor}{ \#ifdef XB\_BLOCKREAD\_SUPPORT}}
+\DoxyCodeLine{371 xbInt16 DisableBlockReadProcessing();}
+\DoxyCodeLine{372 xbInt16 EnableBlockReadProcessing();}
+\DoxyCodeLine{373 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetBlockReadStatus() \textcolor{keyword}{const};}
+\DoxyCodeLine{374 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_BLOCKREAD\_SUPPORT}}
+\DoxyCodeLine{375 }
+\DoxyCodeLine{376 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{377 \textcolor{preprocessor}{ \#ifdef XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{378 \textcolor{keyword}{friend} \textcolor{keyword}{class }xbIx;}
+\DoxyCodeLine{379 \textcolor{keyword}{friend} \textcolor{keyword}{class }xbIxMdx;}
+\DoxyCodeLine{380 \textcolor{keyword}{friend} \textcolor{keyword}{class }xbIxTdx;}
+\DoxyCodeLine{381 }
+\DoxyCodeLine{382 xbInt16 AddIndex( xbIx *ix, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFmt );}
+\DoxyCodeLine{383 \textcolor{keywordtype}{void} ClearTagList();}
+\DoxyCodeLine{384 xbInt16 RemoveIndex( xbIx * ix );}
+\DoxyCodeLine{385 \textcolor{keywordtype}{void} UpdateSchemaIxFlag( xbInt16 iFldNo, \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cVal );}
+\DoxyCodeLine{386 }
+\DoxyCodeLine{387 }
+\DoxyCodeLine{388 \textcolor{keyword}{virtual} xbInt16 UpdateTagList ();}
+\DoxyCodeLine{389 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{390 }
+\DoxyCodeLine{391 \textcolor{keyword}{virtual} xbInt16 ReadHeader ( xbInt16 iFilePositionOption, xbInt16 iReadOption );}
+\DoxyCodeLine{392 }
+\DoxyCodeLine{393 }
+\DoxyCodeLine{394 \textcolor{preprocessor}{ \#ifdef XB\_INF\_SUPPORT}}
+\DoxyCodeLine{395 \textcolor{keyword}{virtual} xbInt16 GetInfFileName( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sNdxIdxFileName );}
+\DoxyCodeLine{396 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_INF\_SUPPORT}}
+\DoxyCodeLine{397 }
+\DoxyCodeLine{398 \textcolor{preprocessor}{ \#ifdef XB\_BLOCKREAD\_SUPPORT}}
+\DoxyCodeLine{399 \textcolor{keyword}{friend} \textcolor{keyword}{class }xbBlockRead;}
+\DoxyCodeLine{400 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_BLOCKREAD\_SUPPORT}}
+\DoxyCodeLine{401 }
+\DoxyCodeLine{402 }
+\DoxyCodeLine{403 \textcolor{preprocessor}{ \#ifdef XB\_LOCKING\_SUPPORT}}
+\DoxyCodeLine{404 \textcolor{keywordtype}{void} SetHeaderLocked ( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bTableLocked );}
+\DoxyCodeLine{405 \textcolor{keywordtype}{void} SetTableLocked ( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bTableLocked );}
+\DoxyCodeLine{406 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_LOCKING\_SUPORT}}
+\DoxyCodeLine{407 }
+\DoxyCodeLine{408 \textcolor{preprocessor}{ \#ifdef XB\_MEMO\_SUPPORT}}
+\DoxyCodeLine{409 xbInt16 iMemoFieldCnt; \textcolor{comment}{// Memo field cnt in the table}}
+\DoxyCodeLine{410 xbMemo *Memo; \textcolor{comment}{// Pointer to memo class}}
+\DoxyCodeLine{411 xbUInt32 ulCreateMemoBlockSize; \textcolor{comment}{// blocksize to use when creating dbt file}}
+\DoxyCodeLine{412 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{413 }
+\DoxyCodeLine{414 \textcolor{preprocessor}{ \#ifdef XB\_INF\_SUPPORT}}
+\DoxyCodeLine{415 \textcolor{keyword}{virtual} xbInt16 DeleteInfData();}
+\DoxyCodeLine{416 \textcolor{keyword}{virtual} xbInt16 LoadInfData();}
+\DoxyCodeLine{417 \textcolor{keyword}{virtual} xbInt16 SaveInfData();}
+\DoxyCodeLine{418 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_INF\_SUPPORT}}
+\DoxyCodeLine{419 }
+\DoxyCodeLine{420 \textcolor{comment}{/*}}
+\DoxyCodeLine{421 \textcolor{comment}{ \#ifdef XB\_MDX\_SUPPORT}}
+\DoxyCodeLine{422 \textcolor{comment}{ xbInt16 iCreateMdxBlockSize;}}
+\DoxyCodeLine{423 \textcolor{comment}{ \#endif // XB\_MDX\_SUPPORT}}
+\DoxyCodeLine{424 \textcolor{comment}{*/}}
+\DoxyCodeLine{425 }
+\DoxyCodeLine{426 \textcolor{keyword}{virtual} xbInt16 GetRawField( xbInt16 iFieldNo, \textcolor{keywordtype}{char} *Buf, xbUInt32 BufSize, xbInt16 iRecBufSw ) \textcolor{keyword}{const};}
+\DoxyCodeLine{427 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} InitVars(); }
+\DoxyCodeLine{428 \textcolor{keyword}{virtual} xbInt16 SetVersion() = 0;}
+\DoxyCodeLine{429 \textcolor{keyword}{virtual} xbInt16 ValidateSchema( \mbox{\hyperlink{structxb_1_1xbSchema}{xbSchema}} * s ) = 0;}
+\DoxyCodeLine{430 xbInt16 WriteHeader( xbInt16 iPositionOption, xbInt16 iWriteOption );}
+\DoxyCodeLine{431 }
+\DoxyCodeLine{432 }
+\DoxyCodeLine{433 xbUInt32 ulCurRec; \textcolor{comment}{// Current record or zero}}
+\DoxyCodeLine{434 xbInt16 iAutoCommit; \textcolor{comment}{// Auto commit updates if not explicitly performed before moving off record?}}
+\DoxyCodeLine{435 \textcolor{comment}{// -\/1 -\/-\/> Use DBMS default}}
+\DoxyCodeLine{436 \textcolor{comment}{// 0 -\/-\/> No auto update on this table, regardless of DBMS setting}}
+\DoxyCodeLine{437 \textcolor{comment}{// 1 -\/-\/> Auto update on this table, regardless of DBMS setting}}
+\DoxyCodeLine{438 }
+\DoxyCodeLine{439 xbInt16 iFileVersion; \textcolor{comment}{// xBase file version -\/ which class is in play}}
+\DoxyCodeLine{440 }
+\DoxyCodeLine{441 }
+\DoxyCodeLine{442 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sAlias; \textcolor{comment}{// table alias}}
+\DoxyCodeLine{443 xbInt16 iNoOfFields;}
+\DoxyCodeLine{444 xbInt16 iDbfStatus; \textcolor{comment}{// 0 = closed}}
+\DoxyCodeLine{445 \textcolor{comment}{// 1 = open}}
+\DoxyCodeLine{446 \textcolor{comment}{// 2 = updates pending}}
+\DoxyCodeLine{447 }
+\DoxyCodeLine{448 xbSchemaRec *SchemaPtr; \textcolor{comment}{// Pointer to field data}}
+\DoxyCodeLine{449 \textcolor{keywordtype}{char} *RecBuf; \textcolor{comment}{// Pointer to record buffer}}
+\DoxyCodeLine{450 \textcolor{keywordtype}{char} *RecBuf2; \textcolor{comment}{// Pointer to original rec buf allocation}}
+\DoxyCodeLine{451 }
+\DoxyCodeLine{452 }
+\DoxyCodeLine{453 \textcolor{comment}{/* Next several variables are database header fields, up through dbase V */}}
+\DoxyCodeLine{454 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cVersion;}
+\DoxyCodeLine{455 \textcolor{keywordtype}{char} cUpdateYY;}
+\DoxyCodeLine{456 \textcolor{keywordtype}{char} cUpdateMM;}
+\DoxyCodeLine{457 \textcolor{keywordtype}{char} cUpdateDD;}
+\DoxyCodeLine{458 xbUInt32 ulNoOfRecs;}
+\DoxyCodeLine{459 xbUInt16 uiHeaderLen;}
+\DoxyCodeLine{460 xbUInt16 uiRecordLen;}
+\DoxyCodeLine{461 \textcolor{keywordtype}{char} cTransactionFlag;}
+\DoxyCodeLine{462 \textcolor{keywordtype}{char} cEncryptionFlag;}
+\DoxyCodeLine{463 \textcolor{keywordtype}{char} cIndexFlag;}
+\DoxyCodeLine{464 \textcolor{keywordtype}{char} cLangDriver; \textcolor{comment}{// dbase 7 sets to 1B}}
+\DoxyCodeLine{465 }
+\DoxyCodeLine{466 }
+\DoxyCodeLine{467 }
+\DoxyCodeLine{468 \textcolor{keyword}{private}:}
+\DoxyCodeLine{469 \textcolor{keywordtype}{void} ResetNoOfRecords(); }
+\DoxyCodeLine{470 }
+\DoxyCodeLine{471 }
+\DoxyCodeLine{472 \textcolor{preprocessor}{ \#ifdef XB\_LOCKING\_SUPPORT}}
+\DoxyCodeLine{473 xbInt16 iAutoLock; \textcolor{comment}{// 0 -\/ autolock off, 1 -\/ autolock on}}
+\DoxyCodeLine{474 xbInt16 iLockFlavor;}
+\DoxyCodeLine{475 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bTableLocked; \textcolor{comment}{// is the table locked}}
+\DoxyCodeLine{476 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bHeaderLocked; \textcolor{comment}{// is the header locked}}
+\DoxyCodeLine{477 xbUInt32 ulAppendLocked; \textcolor{comment}{// record number of the new record for the append lock operation}}
+\DoxyCodeLine{478 xbLinkListOrd<xbUInt32> lloRecLocks; \textcolor{comment}{// ordered link list of locked records}}
+\DoxyCodeLine{479 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{480 }
+\DoxyCodeLine{481 \textcolor{preprocessor}{ \#ifdef XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{482 xbIxList *ixList; \textcolor{comment}{// pointer to a list of indices associated with the table}}
+\DoxyCodeLine{483 xbIx *pCurIx; \textcolor{comment}{// Pointer to current index class}}
+\DoxyCodeLine{484 \textcolor{keywordtype}{void} *vpCurIxTag; \textcolor{comment}{// Pointer to current tag}}
+\DoxyCodeLine{485 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sCurIxType; \textcolor{comment}{// Current index type}}
+\DoxyCodeLine{486 xbLinkList<xbTag *> llTags; \textcolor{comment}{// linked list of open tags}}
+\DoxyCodeLine{487 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{488 }
+\DoxyCodeLine{489 \textcolor{preprocessor}{ \#ifdef XB\_INF\_SUPPORT}}
+\DoxyCodeLine{490 xbLinkList<xbString> llInfData; \textcolor{comment}{// linked list of strings containing ndx file entries}}
+\DoxyCodeLine{491 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_INF\_SUPPORT}}
+\DoxyCodeLine{492 }
+\DoxyCodeLine{493 \textcolor{preprocessor}{ \#ifdef XB\_BLOCKREAD\_SUPPORT}}
+\DoxyCodeLine{494 xbBlockRead *pRb;}
+\DoxyCodeLine{495 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bBlockReadEnabled; \textcolor{comment}{// if true, then block read mode is on}}
+\DoxyCodeLine{496 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{497 }
+\DoxyCodeLine{498 }
+\DoxyCodeLine{499 }
+\DoxyCodeLine{500 \};}
+\DoxyCodeLine{501 }
+\DoxyCodeLine{502 }
+\DoxyCodeLine{503 \textcolor{preprocessor}{\#ifdef XB\_DBF3\_SUPPORT}}
+\DoxyCodeLine{505 }
+\DoxyCodeLine{511 \textcolor{keyword}{class }XBDLLEXPORT xbDbf3 : \textcolor{keyword}{public} \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} \{}
+\DoxyCodeLine{512 \textcolor{keyword}{public}:}
+\DoxyCodeLine{513 xbDbf3(\mbox{\hyperlink{classxb_1_1xbXBase}{xbXBase}} *x);}
+\DoxyCodeLine{514 \string~xbDbf3();}
+\DoxyCodeLine{515 \textcolor{keyword}{virtual} xbInt16 CreateTable ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sAlias, \mbox{\hyperlink{structxb_1_1xbSchema}{xbSchema}} *, xbInt16 iOverlay, xbInt16 iShareMode );}
+\DoxyCodeLine{516 \textcolor{keyword}{virtual} xbInt16 GetVersion () \textcolor{keyword}{const};}
+\DoxyCodeLine{517 \textcolor{keyword}{virtual} xbInt16 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 );}
+\DoxyCodeLine{518 \textcolor{keyword}{virtual} xbInt16 Rename ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sNewName );}
+\DoxyCodeLine{519 }
+\DoxyCodeLine{520 \textcolor{preprocessor}{ \#ifdef XB\_MEMO\_SUPPORT}}
+\DoxyCodeLine{521 \textcolor{keyword}{virtual} xbInt16 SetCreateMemoBlockSize( xbUInt32 iBlockSize );}
+\DoxyCodeLine{522 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{523 }
+\DoxyCodeLine{524 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{525 xbInt16 SetVersion ();}
+\DoxyCodeLine{526 \textcolor{keyword}{virtual} xbInt16 ValidateSchema( \mbox{\hyperlink{structxb_1_1xbSchema}{xbSchema}} *s );}
+\DoxyCodeLine{527 }
+\DoxyCodeLine{528 \textcolor{keyword}{private}:}
+\DoxyCodeLine{529 }
+\DoxyCodeLine{530 \};}
+\DoxyCodeLine{531 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* XB\_DBF3\_SUPPORT */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{532 }
+\DoxyCodeLine{533 }
+\DoxyCodeLine{534 \textcolor{preprocessor}{\#ifdef XB\_DBF4\_SUPPORT}}
+\DoxyCodeLine{536 }
+\DoxyCodeLine{541 \textcolor{keyword}{class }XBDLLEXPORT xbDbf4 : \textcolor{keyword}{public} \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} \{}
+\DoxyCodeLine{542 \textcolor{keyword}{public}:}
+\DoxyCodeLine{543 xbDbf4( \mbox{\hyperlink{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}{xbXBase}} *x );}
+\DoxyCodeLine{544 }
+\DoxyCodeLine{545 \string~xbDbf4();}
+\DoxyCodeLine{546 }
+\DoxyCodeLine{547 \textcolor{keyword}{virtual} xbInt16 CreateTable ( \textcolor{keyword}{const} xbString \&sTableName, \textcolor{keyword}{const} xbString \&sAlias, xbSchema *, xbInt16 iOverlay, xbInt16 iShareMode );}
+\DoxyCodeLine{548 \textcolor{keyword}{virtual} xbInt16 GetVersion () \textcolor{keyword}{const};}
+\DoxyCodeLine{549 \textcolor{keyword}{virtual} xbInt16 Open ( \textcolor{keyword}{const} xbString \&sTableName, \textcolor{keyword}{const} xbString \&sAlias, xbInt16 iOpenMode, xbInt16 iShareMode );}
+\DoxyCodeLine{550 \textcolor{keyword}{virtual} xbInt16 Rename ( \textcolor{keyword}{const} xbString sNewName );}
+\DoxyCodeLine{551 }
+\DoxyCodeLine{552 \textcolor{preprocessor}{ \#ifdef XB\_MEMO\_SUPPORT}}
+\DoxyCodeLine{553 \textcolor{keyword}{virtual} xbInt16 SetCreateMemoBlockSize( xbUInt32 iBlockSize );}
+\DoxyCodeLine{554 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{555 }
+\DoxyCodeLine{556 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{557 \textcolor{comment}{// void InitVars ();}}
+\DoxyCodeLine{558 xbInt16 SetVersion();}
+\DoxyCodeLine{559 \textcolor{keyword}{virtual} xbInt16 ValidateSchema ( xbSchema *s );}
+\DoxyCodeLine{560 }
+\DoxyCodeLine{561 \textcolor{keyword}{private}:}
+\DoxyCodeLine{562 }
+\DoxyCodeLine{563 \};}
+\DoxyCodeLine{564 }
+\DoxyCodeLine{565 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* XB\_DBF4\_SUPPORT */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{566 }
+\DoxyCodeLine{567 \} \textcolor{comment}{/* namespace xb */}}
+\DoxyCodeLine{568 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XB\_DBF\_H\_\_ */}\textcolor{preprocessor}{}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdelete_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdelete_8cpp.tex
new file mode 100644
index 0000000..739077c
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdelete_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbdelete_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/sql/xbdelete.cpp File Reference}
+\label{xbdelete_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbdelete.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbdelete.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdrpix_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdrpix_8cpp.tex
new file mode 100644
index 0000000..595716d
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdrpix_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbdrpix_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/sql/xbdrpix.cpp File Reference}
+\label{xbdrpix_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbdrpix.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbdrpix.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdrptbl_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdrptbl_8cpp.tex
new file mode 100644
index 0000000..dc9f5c3
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbdrptbl_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbdrptbl_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/sql/xbdrptbl.cpp File Reference}
+\label{xbdrptbl_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbdrptbl.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbdrptbl.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexp_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexp_8cpp.tex
new file mode 100644
index 0000000..fa163fe
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexp_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbexp_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbexp.cpp File Reference}
+\label{xbexp_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbexp.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbexp.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexp_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexp_8h.tex
new file mode 100644
index 0000000..bf47046
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexp_8h.tex
@@ -0,0 +1,16 @@
+\hypertarget{xbexp_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbexp.h File Reference}
+\label{xbexp_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbexp.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbexp.h}}
+\doxysubsection*{Macros}
+\begin{DoxyCompactItemize}
+\item
+\#define \mbox{\hyperlink{xbexp_8h_a6e9d2ccba2b3ac6e44ab411ffda488c2}{XB\+\_\+\+NULL\+\_\+\+DATE}}~21474835648
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Macro Definition Documentation}
+\mbox{\Hypertarget{xbexp_8h_a6e9d2ccba2b3ac6e44ab411ffda488c2}\label{xbexp_8h_a6e9d2ccba2b3ac6e44ab411ffda488c2}}
+\index{xbexp.h@{xbexp.h}!XB\_NULL\_DATE@{XB\_NULL\_DATE}}
+\index{XB\_NULL\_DATE@{XB\_NULL\_DATE}!xbexp.h@{xbexp.h}}
+\doxysubsubsection{\texorpdfstring{XB\_NULL\_DATE}{XB\_NULL\_DATE}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+NULL\+\_\+\+DATE~21474835648}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexp_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexp_8h_source.tex
new file mode 100644
index 0000000..af4609a
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexp_8h_source.tex
@@ -0,0 +1,165 @@
+\hypertarget{xbexp_8h_source}{}\doxysection{xbexp.\+h}
+\label{xbexp_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbexp.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbexp.h}}
+\mbox{\hyperlink{xbexp_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbexp.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 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\_EXP\_H\_\_}}
+\DoxyCodeLine{18 \textcolor{preprocessor}{\#define \_\_XB\_EXP\_H\_\_}}
+\DoxyCodeLine{19 }
+\DoxyCodeLine{20 }
+\DoxyCodeLine{21 \textcolor{comment}{// \#ifdef CMAKE\_COMPILER\_IS\_GNUCC}}
+\DoxyCodeLine{22 \textcolor{comment}{// \#pragma interface}}
+\DoxyCodeLine{23 \textcolor{comment}{// \#endif}}
+\DoxyCodeLine{24 }
+\DoxyCodeLine{25 \textcolor{preprocessor}{\#define XB\_NULL\_DATE 21474835648}}
+\DoxyCodeLine{26 }
+\DoxyCodeLine{27 }
+\DoxyCodeLine{28 \textcolor{preprocessor}{\#ifdef XB\_FUNCTION\_SUPPORT}}
+\DoxyCodeLine{29 \textcolor{preprocessor}{\#define XB\_EXP\_CHAR 'C'}}
+\DoxyCodeLine{30 \textcolor{preprocessor}{\#define XB\_EXP\_DATE 'D'}}
+\DoxyCodeLine{31 \textcolor{preprocessor}{\#define XB\_EXP\_LOGICAL 'L'}}
+\DoxyCodeLine{32 \textcolor{preprocessor}{\#define XB\_EXP\_NUMERIC 'N'}}
+\DoxyCodeLine{33 \textcolor{preprocessor}{\#define XB\_EXP\_UNKNOWN 'U'}}
+\DoxyCodeLine{34 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{35 }
+\DoxyCodeLine{36 \textcolor{preprocessor}{\#ifdef XB\_EXPRESSION\_SUPPORT}}
+\DoxyCodeLine{37 }
+\DoxyCodeLine{38 \textcolor{preprocessor}{\#define XB\_EXP\_CONSTANT 'C'}}
+\DoxyCodeLine{39 \textcolor{preprocessor}{\#define XB\_EXP\_FUNCTION 'F'}}
+\DoxyCodeLine{40 \textcolor{preprocessor}{\#define XB\_EXP\_FIELD 'D'}}
+\DoxyCodeLine{41 \textcolor{preprocessor}{\#define XB\_EXP\_OPERATOR 'O'}}
+\DoxyCodeLine{42 \textcolor{preprocessor}{\#define XB\_EXP\_NOTROOT 'N' }\textcolor{comment}{// not root node, needs further parsing}}
+\DoxyCodeLine{43 \textcolor{preprocessor}{\#define XB\_EXP\_PRE\_OPERATOR 'B' }\textcolor{comment}{// (B)efore) pre increment, pre decrement}}
+\DoxyCodeLine{44 \textcolor{preprocessor}{\#define XB\_EXP\_POST\_OPERATOR 'A' }\textcolor{comment}{// (A)fter) post increment, pre decrement}}
+\DoxyCodeLine{45 }
+\DoxyCodeLine{46 \textcolor{preprocessor}{\#define XB\_END\_OF\_EXPRESSION -\/100}}
+\DoxyCodeLine{47 }
+\DoxyCodeLine{48 \textcolor{comment}{// \#define XB\_UNBALANCED\_PARENS -\/101}}
+\DoxyCodeLine{49 \textcolor{comment}{// \#define XB\_UNBALANCED\_QUOTES -\/102}}
+\DoxyCodeLine{50 }
+\DoxyCodeLine{51 }
+\DoxyCodeLine{52 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{53 }
+\DoxyCodeLine{55 \textcolor{keyword}{struct }XBDLLEXPORT xbExpToken \{}
+\DoxyCodeLine{56 xbString sExpression; \textcolor{comment}{// in -\/ expression to pull next token from}}
+\DoxyCodeLine{57 \textcolor{comment}{// out -\/ remainder of the expression after token removed}}
+\DoxyCodeLine{58 xbString sToken; \textcolor{comment}{// next token pulled from the expression}}
+\DoxyCodeLine{59 \textcolor{keywordtype}{char} cNodeType; \textcolor{comment}{// one of XB\_EXP\_CONSTANT, XB\_EXP\_FUNCTION, XB\_EXP\_FIELD, XB\_EXP\_OPERATOR, XB\_EXP\_NOTROOT}}
+\DoxyCodeLine{60 \textcolor{keywordtype}{char} cReturnType; \textcolor{comment}{// one of XB\_EXP\_CHAR, XB\_EXP\_DATE, XB\_EXP\_LOGICAL, XB\_EXP\_NUMERIC, XB\_EXP\_UNKNOWN}}
+\DoxyCodeLine{61 xbInt16 iSts; \textcolor{comment}{// return status after retrieving or attempting next token from expression}}
+\DoxyCodeLine{62 \textcolor{comment}{// 0 = no error}}
+\DoxyCodeLine{63 \textcolor{comment}{// XB\_END\_OF\_EXPRESSION}}
+\DoxyCodeLine{64 \textcolor{comment}{// XB\_UNBALANCED\_PARENS}}
+\DoxyCodeLine{65 \textcolor{comment}{// XB\_UNBALANCED\_QUOTES}}
+\DoxyCodeLine{66 \textcolor{keywordtype}{char} cPrevNodeType; \textcolor{comment}{// previous node type}}
+\DoxyCodeLine{67 \textcolor{keywordtype}{char} cPrevReturnType; \textcolor{comment}{// previous return type}}
+\DoxyCodeLine{68 }
+\DoxyCodeLine{69 \textcolor{comment}{// constructor}}
+\DoxyCodeLine{70 xbExpToken() \{ cNodeType = 0; cReturnType = 0; iSts = 0; cPrevNodeType = 0; cPrevReturnType = 0; \}}
+\DoxyCodeLine{71 \};}
+\DoxyCodeLine{73 }
+\DoxyCodeLine{74 }
+\DoxyCodeLine{75 \textcolor{comment}{/************************************************************************/}}
+\DoxyCodeLine{76 }
+\DoxyCodeLine{78 }
+\DoxyCodeLine{133 \textcolor{keyword}{class }XBDLLEXPORT xbExp\{}
+\DoxyCodeLine{134 }
+\DoxyCodeLine{135 \textcolor{keyword}{public}:}
+\DoxyCodeLine{136 xbExp( \mbox{\hyperlink{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}{xbXBase}} * );}
+\DoxyCodeLine{137 xbExp( \mbox{\hyperlink{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}{xbXBase}} *, \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} * );}
+\DoxyCodeLine{138 \textcolor{keyword}{virtual} \string~xbExp();}
+\DoxyCodeLine{139 \textcolor{keywordtype}{void} ClearTreeHandle();}
+\DoxyCodeLine{140 }
+\DoxyCodeLine{141 }
+\DoxyCodeLine{142 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{143 \textcolor{keywordtype}{void} DumpTree( xbInt16 iOption );}
+\DoxyCodeLine{144 \textcolor{keywordtype}{void} DumpToken( xbExpToken \&t, xbInt16 iOption = 0 );}
+\DoxyCodeLine{145 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{146 }
+\DoxyCodeLine{147 xbInt16 GetResultLen() \textcolor{keyword}{const};}
+\DoxyCodeLine{148 \textcolor{keywordtype}{char} GetReturnType() \textcolor{keyword}{const};}
+\DoxyCodeLine{149 xbInt16 GetBoolResult( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bResult );}
+\DoxyCodeLine{150 xbInt16 GetDateResult( xbDate \&dtResult );}
+\DoxyCodeLine{151 xbInt16 GetNumericResult( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dResult );}
+\DoxyCodeLine{152 xbInt16 GetStringResult( xbString \&sResult );}
+\DoxyCodeLine{153 xbInt16 GetStringResult( \textcolor{keywordtype}{char} * vpResult, xbUInt32 ulLen );}
+\DoxyCodeLine{154 xbExpNode *GetTreeHandle();}
+\DoxyCodeLine{155 xbInt16 ParseExpression( \textcolor{keyword}{const} xbString \&sExpression );}
+\DoxyCodeLine{156 xbInt16 ParseExpression( \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf, \textcolor{keyword}{const} xbString \&sExpression );}
+\DoxyCodeLine{157 xbInt16 ProcessExpression();}
+\DoxyCodeLine{158 xbInt16 ProcessExpression( xbInt16 iRecBufSw );}
+\DoxyCodeLine{159 }
+\DoxyCodeLine{160 }
+\DoxyCodeLine{161 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{162 xbInt16 GetNextToken( xbExpToken \&t );}
+\DoxyCodeLine{163 xbInt16 OperatorWeight( \textcolor{keyword}{const} xbString \&sOperator );}
+\DoxyCodeLine{164 xbExpNode *GetNextNode( xbExpNode * n ) \textcolor{keyword}{const}; \textcolor{comment}{// traverses the tree from bottom left node, right, then up}}
+\DoxyCodeLine{165 }
+\DoxyCodeLine{166 \textcolor{keyword}{private}: \textcolor{comment}{// methods}}
+\DoxyCodeLine{167 }
+\DoxyCodeLine{168 \textcolor{comment}{// xbInt16 CalcExpressionResultLen();}}
+\DoxyCodeLine{169 xbInt16 CalcFunctionResultLen( xbExpNode *n ) \textcolor{keyword}{const};}
+\DoxyCodeLine{170 xbInt16 CalcCharNodeLen( xbExpNode *n );}
+\DoxyCodeLine{171 xbInt16 CheckParensAndQuotes( \textcolor{keyword}{const} xbString \&sExpression );}
+\DoxyCodeLine{172 xbInt16 GetExpressionResultLen() \textcolor{keyword}{const};}
+\DoxyCodeLine{173 }
+\DoxyCodeLine{174 xbInt16 GetTokenCharConstant ( xbExpToken \&t );}
+\DoxyCodeLine{175 xbInt16 GetTokenDatabaseField ( xbExpToken \&t );}
+\DoxyCodeLine{176 xbInt16 GetTokenDateConstant ( xbExpToken \&t );}
+\DoxyCodeLine{177 xbInt16 GetTokenFunction ( xbExpToken \&t );}
+\DoxyCodeLine{178 xbInt16 GetTokenLogicalConstant( xbExpToken \&t );}
+\DoxyCodeLine{179 xbInt16 GetTokenNumericConstant( xbExpToken \&t );}
+\DoxyCodeLine{180 xbInt16 GetTokenOperator ( xbExpToken \&t );}
+\DoxyCodeLine{181 xbInt16 GetTokenParen ( xbExpToken \&t );}
+\DoxyCodeLine{182 }
+\DoxyCodeLine{183 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsFunction ( \textcolor{keyword}{const} xbString \&sExp, \textcolor{keywordtype}{char} \&cReturnType );}
+\DoxyCodeLine{184 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsLogicalConstant ( \textcolor{keyword}{const} xbString \&sExp );}
+\DoxyCodeLine{185 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsNumericConstant ( \textcolor{keyword}{const} xbString \&sExp, \textcolor{keywordtype}{char} cPrevNodeType );}
+\DoxyCodeLine{186 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsOperator ( \textcolor{keyword}{const} xbString \&sExp );}
+\DoxyCodeLine{187 \textcolor{keywordtype}{char} IsTokenSeparator ( \textcolor{keywordtype}{char} c );}
+\DoxyCodeLine{188 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsWhiteSpace ( \textcolor{keywordtype}{char} c );}
+\DoxyCodeLine{189 }
+\DoxyCodeLine{190 xbInt16 ParseExpression ( \textcolor{keyword}{const} xbString \&sExpression, xbInt16 iWeight );}
+\DoxyCodeLine{191 xbInt16 ParseExpressionConstant( xbExpToken \&t, xbExpNode *n );}
+\DoxyCodeLine{192 xbInt16 ParseExpressionFunction( xbExpToken \&t, xbExpNode *n, xbInt16 iWeight );}
+\DoxyCodeLine{193 xbInt16 ParseExpressionFunctionParms( \textcolor{keyword}{const} xbString \&sParms, xbLinkList<xbString> \&llParms );}
+\DoxyCodeLine{194 xbInt16 ParseExpressionField ( xbExpToken \&t, xbExpNode *n );}
+\DoxyCodeLine{195 xbInt16 ParseExpressionOperator( xbExpToken \&t, xbExpNode *n, xbInt16 iWeight );}
+\DoxyCodeLine{196 }
+\DoxyCodeLine{197 xbInt16 ProcessExpressionFunction( xbExpNode *n, xbInt16 iRecBufSw = 0 );}
+\DoxyCodeLine{198 xbInt16 ProcessExpressionOperator( xbExpNode *n );}
+\DoxyCodeLine{199 }
+\DoxyCodeLine{200 \textcolor{keyword}{private}: \textcolor{comment}{// fields}}
+\DoxyCodeLine{201 \mbox{\hyperlink{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}{xbXBase}} *xbase;}
+\DoxyCodeLine{202 \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf;}
+\DoxyCodeLine{203 xbExpNode *nTree; \textcolor{comment}{// pointer to tree of expNodes}}
+\DoxyCodeLine{204 \textcolor{comment}{// xbInt16 iExpLen; // size of expression result}}
+\DoxyCodeLine{205 }
+\DoxyCodeLine{206 }
+\DoxyCodeLine{207 \};}
+\DoxyCodeLine{208 }
+\DoxyCodeLine{209 \textcolor{comment}{/* Expression handler */}}
+\DoxyCodeLine{210 }
+\DoxyCodeLine{211 }
+\DoxyCodeLine{212 \};}
+\DoxyCodeLine{213 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_EXPRESSION\_SUPPORT}}
+\DoxyCodeLine{214 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// \_\_XB\_EXP\_H\_\_}}
+\DoxyCodeLine{215 }
+\DoxyCodeLine{216 }
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexpnode_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexpnode_8cpp.tex
new file mode 100644
index 0000000..dc7203f
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexpnode_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbexpnode_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbexpnode.cpp File Reference}
+\label{xbexpnode_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbexpnode.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbexpnode.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexpnode_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexpnode_8h.tex
new file mode 100644
index 0000000..c544ba1
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexpnode_8h.tex
@@ -0,0 +1,2 @@
+\hypertarget{xbexpnode_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbexpnode.h File Reference}
+\label{xbexpnode_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbexpnode.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbexpnode.h}}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexpnode_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexpnode_8h_source.tex
new file mode 100644
index 0000000..bc3271b
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbexpnode_8h_source.tex
@@ -0,0 +1,113 @@
+\hypertarget{xbexpnode_8h_source}{}\doxysection{xbexpnode.\+h}
+\label{xbexpnode_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbexpnode.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbexpnode.h}}
+\mbox{\hyperlink{xbexpnode_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbexpnode.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 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\_EXPNODE\_H\_\_}}
+\DoxyCodeLine{18 \textcolor{preprocessor}{\#define \_\_XB\_EXPNODE\_H\_\_}}
+\DoxyCodeLine{19 }
+\DoxyCodeLine{20 \textcolor{comment}{// \#ifdef CMAKE\_COMPILER\_IS\_GNUCC}}
+\DoxyCodeLine{21 \textcolor{comment}{// \#pragma interface}}
+\DoxyCodeLine{22 \textcolor{comment}{// \#endif}}
+\DoxyCodeLine{23 }
+\DoxyCodeLine{24 \textcolor{preprocessor}{\#ifdef XB\_EXPRESSION\_SUPPORT}}
+\DoxyCodeLine{25 }
+\DoxyCodeLine{26 }
+\DoxyCodeLine{27 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{28 }
+\DoxyCodeLine{29 \textcolor{comment}{//class XBDLLEXPORT xbDbf;}}
+\DoxyCodeLine{30 }
+\DoxyCodeLine{31 \textcolor{comment}{/************************************************************************/}}
+\DoxyCodeLine{33 }
+\DoxyCodeLine{46 \textcolor{keyword}{class }XBDLLEXPORT xbExpNode \{}
+\DoxyCodeLine{47 \textcolor{keyword}{public}:}
+\DoxyCodeLine{48 xbExpNode();}
+\DoxyCodeLine{49 xbExpNode( xbString \&sNodeText, \textcolor{keywordtype}{char} cReturnType, \textcolor{keywordtype}{char} cNodeType );}
+\DoxyCodeLine{50 xbExpNode( xbString \&sNodeText, \textcolor{keywordtype}{char} cNodeType );}
+\DoxyCodeLine{51 xbExpNode( \textcolor{keywordtype}{char} cNodeType );}
+\DoxyCodeLine{52 }
+\DoxyCodeLine{53 \textcolor{keyword}{virtual} \string~xbExpNode();}
+\DoxyCodeLine{54 xbInt16 AddChild( xbExpNode *n );}
+\DoxyCodeLine{55 xbExpNode *GetChild( xbUInt32 ulChildNo ) \textcolor{keyword}{const};}
+\DoxyCodeLine{56 xbUInt32 GetChildCnt() \textcolor{keyword}{const};}
+\DoxyCodeLine{57 xbUInt32 GetChildNo() \textcolor{keyword}{const};}
+\DoxyCodeLine{58 \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *GetDbf() \textcolor{keyword}{const};}
+\DoxyCodeLine{59 xbInt16 GetFieldNo() \textcolor{keyword}{const};}
+\DoxyCodeLine{60 xbExpNode *GetFirstNode();}
+\DoxyCodeLine{61 xbExpNode *GetNextNode() \textcolor{keyword}{const};}
+\DoxyCodeLine{62 \textcolor{keywordtype}{void} GetNodeText( xbString \&sNodeText ) \textcolor{keyword}{const};}
+\DoxyCodeLine{63 \textcolor{keywordtype}{char} GetNodeType() \textcolor{keyword}{const};}
+\DoxyCodeLine{64 xbExpNode *GetParent() \textcolor{keyword}{const};}
+\DoxyCodeLine{65 xbString \&GetStringResult();}
+\DoxyCodeLine{66 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetBoolResult() \textcolor{keyword}{const};}
+\DoxyCodeLine{67 \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} GetNumericResult() \textcolor{keyword}{const};}
+\DoxyCodeLine{68 xbUInt32 GetResultLen() \textcolor{keyword}{const};}
+\DoxyCodeLine{69 xbExpNode *GetRightSibling() \textcolor{keyword}{const};}
+\DoxyCodeLine{70 \textcolor{keywordtype}{char} GetReturnType() \textcolor{keyword}{const};}
+\DoxyCodeLine{71 xbInt16 GetWeight() \textcolor{keyword}{const};}
+\DoxyCodeLine{72 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} HasRightSibling() \textcolor{keyword}{const};}
+\DoxyCodeLine{73 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsOperator() \textcolor{keyword}{const};}
+\DoxyCodeLine{74 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsUnaryOperator() \textcolor{keyword}{const};}
+\DoxyCodeLine{75 \textcolor{keywordtype}{void} RemoveLastChild();}
+\DoxyCodeLine{76 \textcolor{keywordtype}{void} SetResultLen( xbUInt32 ulResultLen );}
+\DoxyCodeLine{77 \textcolor{keywordtype}{void} SetDbfInfo( \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf );}
+\DoxyCodeLine{78 \textcolor{keywordtype}{void} SetDbfInfo( \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf, xbInt16 iFieldNo );}
+\DoxyCodeLine{79 \textcolor{keywordtype}{void} SetNodeText( xbString \&sNodeText );}
+\DoxyCodeLine{80 \textcolor{keywordtype}{void} SetNodeType( \textcolor{keywordtype}{char} cNodeType );}
+\DoxyCodeLine{81 \textcolor{keywordtype}{void} SetParent( xbExpNode *n );}
+\DoxyCodeLine{82 \textcolor{keywordtype}{void} SetResult( xbString \&sResult );}
+\DoxyCodeLine{83 \textcolor{keywordtype}{void} SetResult( xbDate \&dtResult );}
+\DoxyCodeLine{84 \textcolor{keywordtype}{void} SetResult( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bResult );}
+\DoxyCodeLine{85 \textcolor{keywordtype}{void} SetResult( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dResult );}
+\DoxyCodeLine{86 \textcolor{keywordtype}{void} SetReturnType( \textcolor{keywordtype}{char} cReturnType );}
+\DoxyCodeLine{87 \textcolor{keywordtype}{void} SetWeight( xbInt16 iWeight );}
+\DoxyCodeLine{88 }
+\DoxyCodeLine{89 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{90 \textcolor{keywordtype}{void} DumpNode( xbInt16 iOption ) \textcolor{keyword}{const}; \textcolor{comment}{// 0 = no children, 1 = and children}}
+\DoxyCodeLine{91 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{92 }
+\DoxyCodeLine{93 \textcolor{keyword}{private}:}
+\DoxyCodeLine{94 xbString sNodeText; \textcolor{comment}{// expression text}}
+\DoxyCodeLine{95 \textcolor{keywordtype}{char} cReturnType; \textcolor{comment}{// one of: XB\_EXP\_CHAR, XB\_EXP\_DATE, XB\_EXP\_LOGICAL, XB\_EXP\_NUMERIC}}
+\DoxyCodeLine{96 \textcolor{keywordtype}{char} cNodeType; \textcolor{comment}{// one of: XB\_EXP\_CONSTANT, XB\_EXP\_FUNCTION, XB\_EXP\_FIELD, XB\_EXP\_OPERATOR}}
+\DoxyCodeLine{97 xbString sResult; \textcolor{comment}{// char result, and operator}}
+\DoxyCodeLine{98 \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dResult; \textcolor{comment}{// numeric and bool results}}
+\DoxyCodeLine{99 xbExpNode * nParent; \textcolor{comment}{// pointer to parent}}
+\DoxyCodeLine{100 xbLinkList<xbExpNode *> llChildren; \textcolor{comment}{// linked list of descendent nodes}}
+\DoxyCodeLine{101 \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf; \textcolor{comment}{// pointer to dbf, used for field, RECNO() and RECCOUNT()}}
+\DoxyCodeLine{102 xbInt16 iFieldNo; \textcolor{comment}{// field no if DBF field}}
+\DoxyCodeLine{103 xbUInt32 ulResultLen; \textcolor{comment}{// for string results, accumulated length of character operations}}
+\DoxyCodeLine{104 \textcolor{comment}{// includes the sum of all nodes under this + this}}
+\DoxyCodeLine{105 \textcolor{comment}{// date = 8, numeric = 4, logical = 1}}
+\DoxyCodeLine{106 xbInt16 iWeight; \textcolor{comment}{// used for building the tree of nodes, assigned to operators}}
+\DoxyCodeLine{107 \textcolor{comment}{// the higher the number, the lower it goes on the tree}}
+\DoxyCodeLine{108 }
+\DoxyCodeLine{109 \};}
+\DoxyCodeLine{110 }
+\DoxyCodeLine{111 \textcolor{comment}{/************************************************************************/}}
+\DoxyCodeLine{112 }
+\DoxyCodeLine{113 \textcolor{comment}{/* Expression handler */}}
+\DoxyCodeLine{114 }
+\DoxyCodeLine{115 }
+\DoxyCodeLine{116 \};}
+\DoxyCodeLine{117 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_EXPRESSION\_SUPPORT}}
+\DoxyCodeLine{118 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// \_\_XB\_EXP\_H\_\_}}
+\DoxyCodeLine{119 }
+\DoxyCodeLine{120 }
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfields_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfields_8cpp.tex
new file mode 100644
index 0000000..71ab977
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfields_8cpp.tex
@@ -0,0 +1,8 @@
+\hypertarget{xbfields_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbfields.cpp File Reference}
+\label{xbfields_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbfields.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbfields.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfile_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfile_8cpp.tex
new file mode 100644
index 0000000..0547c81
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfile_8cpp.tex
@@ -0,0 +1,8 @@
+\hypertarget{xbfile_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbfile.cpp File Reference}
+\label{xbfile_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbfile.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbfile.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfile_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfile_8h.tex
new file mode 100644
index 0000000..7d7b3b4
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfile_8h.tex
@@ -0,0 +1,58 @@
+\hypertarget{xbfile_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbfile.h File Reference}
+\label{xbfile_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbfile.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbfile.h}}
+\doxysubsection*{Data Structures}
+\begin{DoxyCompactItemize}
+\item
+class \mbox{\hyperlink{classxb_1_1xbFile}{xb\+::xb\+File}}
+\begin{DoxyCompactList}\small\item\em Class for handling low level file I/O. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Macros}
+\begin{DoxyCompactItemize}
+\item
+\#define \mbox{\hyperlink{xbfile_8h_ae58c73e0ba237fcf67ee20feea6c2743}{XB\+\_\+\+READ}}~0
+\item
+\#define \mbox{\hyperlink{xbfile_8h_af991a288c327f6857e90156ea734a633}{XB\+\_\+\+READ\+\_\+\+WRITE}}~1
+\item
+\#define \mbox{\hyperlink{xbfile_8h_abbf99e259c2f31572c886da6d85b1359}{XB\+\_\+\+WRITE}}~2
+\item
+\#define \mbox{\hyperlink{xbfile_8h_a9ec4d60a008c667d9861e3b3814f0232}{XB\+\_\+\+SINGLE\+\_\+\+USER}}~0
+\item
+\#define \mbox{\hyperlink{xbfile_8h_a05c0fc99ba71cf953d046d12f3f874bc}{XB\+\_\+\+MULTI\+\_\+\+USER}}~1
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Macro Definition Documentation}
+\mbox{\Hypertarget{xbfile_8h_a05c0fc99ba71cf953d046d12f3f874bc}\label{xbfile_8h_a05c0fc99ba71cf953d046d12f3f874bc}}
+\index{xbfile.h@{xbfile.h}!XB\_MULTI\_USER@{XB\_MULTI\_USER}}
+\index{XB\_MULTI\_USER@{XB\_MULTI\_USER}!xbfile.h@{xbfile.h}}
+\doxysubsubsection{\texorpdfstring{XB\_MULTI\_USER}{XB\_MULTI\_USER}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+MULTI\+\_\+\+USER~1}
+
+\mbox{\Hypertarget{xbfile_8h_ae58c73e0ba237fcf67ee20feea6c2743}\label{xbfile_8h_ae58c73e0ba237fcf67ee20feea6c2743}}
+\index{xbfile.h@{xbfile.h}!XB\_READ@{XB\_READ}}
+\index{XB\_READ@{XB\_READ}!xbfile.h@{xbfile.h}}
+\doxysubsubsection{\texorpdfstring{XB\_READ}{XB\_READ}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+READ~0}
+
+\mbox{\Hypertarget{xbfile_8h_af991a288c327f6857e90156ea734a633}\label{xbfile_8h_af991a288c327f6857e90156ea734a633}}
+\index{xbfile.h@{xbfile.h}!XB\_READ\_WRITE@{XB\_READ\_WRITE}}
+\index{XB\_READ\_WRITE@{XB\_READ\_WRITE}!xbfile.h@{xbfile.h}}
+\doxysubsubsection{\texorpdfstring{XB\_READ\_WRITE}{XB\_READ\_WRITE}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+READ\+\_\+\+WRITE~1}
+
+\mbox{\Hypertarget{xbfile_8h_a9ec4d60a008c667d9861e3b3814f0232}\label{xbfile_8h_a9ec4d60a008c667d9861e3b3814f0232}}
+\index{xbfile.h@{xbfile.h}!XB\_SINGLE\_USER@{XB\_SINGLE\_USER}}
+\index{XB\_SINGLE\_USER@{XB\_SINGLE\_USER}!xbfile.h@{xbfile.h}}
+\doxysubsubsection{\texorpdfstring{XB\_SINGLE\_USER}{XB\_SINGLE\_USER}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+SINGLE\+\_\+\+USER~0}
+
+\mbox{\Hypertarget{xbfile_8h_abbf99e259c2f31572c886da6d85b1359}\label{xbfile_8h_abbf99e259c2f31572c886da6d85b1359}}
+\index{xbfile.h@{xbfile.h}!XB\_WRITE@{XB\_WRITE}}
+\index{XB\_WRITE@{XB\_WRITE}!xbfile.h@{xbfile.h}}
+\doxysubsubsection{\texorpdfstring{XB\_WRITE}{XB\_WRITE}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+WRITE~2}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfile_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfile_8h_source.tex
new file mode 100644
index 0000000..9254dd4
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfile_8h_source.tex
@@ -0,0 +1,184 @@
+\hypertarget{xbfile_8h_source}{}\doxysection{xbfile.\+h}
+\label{xbfile_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbfile.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbfile.h}}
+\mbox{\hyperlink{xbfile_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbfile.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 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 \textcolor{preprocessor}{\#ifndef \_\_XB\_FILE\_H\_\_}}
+\DoxyCodeLine{17 \textcolor{preprocessor}{\#define \_\_XB\_FILE\_H\_\_}}
+\DoxyCodeLine{18 }
+\DoxyCodeLine{19 \textcolor{preprocessor}{\#ifdef CMAKE\_COMPILER\_IS\_GNUCC}}
+\DoxyCodeLine{20 \textcolor{preprocessor}{\#pragma interface}}
+\DoxyCodeLine{21 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{22 }
+\DoxyCodeLine{23 \textcolor{comment}{/*****************************/}}
+\DoxyCodeLine{24 \textcolor{comment}{/* File Open Modes */}}
+\DoxyCodeLine{25 \textcolor{preprocessor}{\#define XB\_READ 0}}
+\DoxyCodeLine{26 \textcolor{preprocessor}{\#define XB\_READ\_WRITE 1}}
+\DoxyCodeLine{27 \textcolor{preprocessor}{\#define XB\_WRITE 2}}
+\DoxyCodeLine{28 }
+\DoxyCodeLine{29 \textcolor{comment}{/*****************************/}}
+\DoxyCodeLine{30 \textcolor{comment}{/* File Access Modes */}}
+\DoxyCodeLine{31 \textcolor{preprocessor}{\#define XB\_SINGLE\_USER 0 }\textcolor{comment}{// file buffering on}}
+\DoxyCodeLine{32 \textcolor{preprocessor}{\#define XB\_MULTI\_USER 1 }\textcolor{comment}{// file buffering off}}
+\DoxyCodeLine{33 }
+\DoxyCodeLine{34 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{35 }
+\DoxyCodeLine{56 \textcolor{keyword}{class }XBDLLEXPORT \mbox{\hyperlink{classxb_1_1xbFile}{xbFile}} : \textcolor{keyword}{public} \mbox{\hyperlink{classxb_1_1xbSsv}{xbSsv}} \{}
+\DoxyCodeLine{57 }
+\DoxyCodeLine{58 \textcolor{keyword}{public}:}
+\DoxyCodeLine{59 \mbox{\hyperlink{classxb_1_1xbFile}{xbFile}}( \mbox{\hyperlink{classxb_1_1xbXBase}{xbXBase}} * x );}
+\DoxyCodeLine{60 \mbox{\hyperlink{classxb_1_1xbFile}{\string~xbFile}}();}
+\DoxyCodeLine{61 }
+\DoxyCodeLine{62 \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& GetDirectory() \textcolor{keyword}{const};}
+\DoxyCodeLine{63 \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& GetFileName() \textcolor{keyword}{const};}
+\DoxyCodeLine{64 \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& GetFqFileName() \textcolor{keyword}{const};}
+\DoxyCodeLine{65 }
+\DoxyCodeLine{66 }
+\DoxyCodeLine{67 xbInt16 CreateUniqueFileName( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sDirIn, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sExtIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFqnOut, xbInt16 iOption = 0 );}
+\DoxyCodeLine{68 }
+\DoxyCodeLine{69 xbInt16 DetermineXbaseTableVersion( \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cFileTypeByte ) \textcolor{keyword}{const};}
+\DoxyCodeLine{70 xbInt16 DetermineXbaseMemoVersion( \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cFileTypeByte ) \textcolor{keyword}{const};}
+\DoxyCodeLine{71 }
+\DoxyCodeLine{72 \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} eGetDouble ( \textcolor{keyword}{const} \textcolor{keywordtype}{char} *p ) \textcolor{keyword}{const};}
+\DoxyCodeLine{73 xbInt32 eGetInt32 ( \textcolor{keyword}{const} \textcolor{keywordtype}{char} *p ) \textcolor{keyword}{const};}
+\DoxyCodeLine{74 xbUInt32 eGetUInt32 ( \textcolor{keyword}{const} \textcolor{keywordtype}{char} *p ) \textcolor{keyword}{const};}
+\DoxyCodeLine{75 xbInt16 eGetInt16 ( \textcolor{keyword}{const} \textcolor{keywordtype}{char} *p ) \textcolor{keyword}{const};}
+\DoxyCodeLine{76 xbUInt16 eGetUInt16 ( \textcolor{keyword}{const} \textcolor{keywordtype}{char} *p ) \textcolor{keyword}{const};}
+\DoxyCodeLine{77 \textcolor{keywordtype}{void} ePutDouble ( \textcolor{keywordtype}{char} *p, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} d );}
+\DoxyCodeLine{78 \textcolor{keywordtype}{void} ePutInt32 ( \textcolor{keywordtype}{char} *p, xbInt32 l );}
+\DoxyCodeLine{79 \textcolor{keywordtype}{void} ePutUInt32 ( \textcolor{keywordtype}{char} *p, xbUInt32 ul );}
+\DoxyCodeLine{80 \textcolor{keywordtype}{void} ePutInt16 ( \textcolor{keywordtype}{char} *p, xbInt16 s );}
+\DoxyCodeLine{81 \textcolor{keywordtype}{void} ePutUInt16 ( \textcolor{keywordtype}{char} *p, xbUInt16 s );}
+\DoxyCodeLine{82 }
+\DoxyCodeLine{83 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} FileExists () \textcolor{keyword}{const};}
+\DoxyCodeLine{84 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} FileExists ( xbInt16 iOption ) \textcolor{keyword}{const};}
+\DoxyCodeLine{85 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} FileExists ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileName ) \textcolor{keyword}{const};}
+\DoxyCodeLine{86 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} FileExists ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileName, xbInt16 iOption ) \textcolor{keyword}{const};}
+\DoxyCodeLine{87 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} FileIsOpen () \textcolor{keyword}{const};}
+\DoxyCodeLine{88 }
+\DoxyCodeLine{89 xbUInt32 GetBlockSize () \textcolor{keyword}{const};}
+\DoxyCodeLine{90 }
+\DoxyCodeLine{91 xbInt16 GetFileDirPart ( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileDirPartOut ) \textcolor{keyword}{const};}
+\DoxyCodeLine{92 xbInt16 GetFileDirPart ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sCompleteFileNameIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileDirPartOut ) \textcolor{keyword}{const};}
+\DoxyCodeLine{93 xbInt16 GetFileExtPart ( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileExtPartOut ) \textcolor{keyword}{const};}
+\DoxyCodeLine{94 xbInt16 GetFileExtPart ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sCompleteFileNameIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileExtPartOut ) \textcolor{keyword}{const};}
+\DoxyCodeLine{95 xbInt16 GetFileMtime ( time\_t \&mtime );}
+\DoxyCodeLine{96 xbInt16 GetFileNamePart( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileNamePartOut ) \textcolor{keyword}{const};}
+\DoxyCodeLine{97 xbInt16 GetFileNamePart( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sCompleteFileNameIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileNamePartOut ) \textcolor{keyword}{const};}
+\DoxyCodeLine{98 xbInt16 GetFileSize ( xbUInt64 \&ullFileSize );}
+\DoxyCodeLine{99 xbInt16 GetFileType ( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileType ) \textcolor{keyword}{const};}
+\DoxyCodeLine{100 }
+\DoxyCodeLine{101 }
+\DoxyCodeLine{102 xbInt16 GetOpenMode () \textcolor{keyword}{const};}
+\DoxyCodeLine{103 xbInt16 GetShareMode () \textcolor{keyword}{const};}
+\DoxyCodeLine{104 }
+\DoxyCodeLine{105 }
+\DoxyCodeLine{106 xbInt16 GetXbaseFileTypeByte( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileName, xbInt16 \&iVersion );}
+\DoxyCodeLine{107 xbInt16 GetXbaseFileTypeByte( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileName, \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} \&cFileTypeByte );}
+\DoxyCodeLine{108 xbInt16 GetXbaseFileTypeByte( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileName, \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} \&cFileTypeByte, xbInt16 \&iVersion );}
+\DoxyCodeLine{109 }
+\DoxyCodeLine{110 xbInt16 NameSuffixMissing( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileName, xbInt16 iOption ) \textcolor{keyword}{const};}
+\DoxyCodeLine{111 }
+\DoxyCodeLine{112 xbInt16 ReadBlock ( xbUInt32 ulBlockNo, \textcolor{keywordtype}{size\_t} readSize, \textcolor{keywordtype}{void} *buf );}
+\DoxyCodeLine{113 xbInt16 ReadBlock ( xbUInt32 ulBlockNo, xbUInt32 ulBlockSize, \textcolor{keywordtype}{size\_t} readSize, \textcolor{keywordtype}{void} *buf );}
+\DoxyCodeLine{114 }
+\DoxyCodeLine{115 xbInt16 SetBlockSize ( xbUInt32 ulBlockSize );}
+\DoxyCodeLine{116 \textcolor{keywordtype}{void} SetDirectory ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sDirectory);}
+\DoxyCodeLine{117 \textcolor{keywordtype}{void} SetFileName ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileName );}
+\DoxyCodeLine{118 \textcolor{keywordtype}{void} SetFqFileName ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFqName );}
+\DoxyCodeLine{119 xbInt16 SetHomeFolders();}
+\DoxyCodeLine{120 }
+\DoxyCodeLine{121 xbInt16 WriteBlock ( xbUInt32 ulBlockNo, \textcolor{keywordtype}{size\_t} writeSize, \textcolor{keywordtype}{void} *buf );}
+\DoxyCodeLine{122 }
+\DoxyCodeLine{123 xbInt16 xbFclose ();}
+\DoxyCodeLine{124 xbInt16 xbFeof ();}
+\DoxyCodeLine{125 xbInt16 xbFflush ();}
+\DoxyCodeLine{126 xbInt16 xbFgetc ( xbInt32 \&c );}
+\DoxyCodeLine{127 xbInt16 xbFgetc ( \textcolor{keywordtype}{char} \&c );}
+\DoxyCodeLine{128 xbInt16 xbFgets ( \textcolor{keywordtype}{size\_t} lSize, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sLine );}
+\DoxyCodeLine{129 }
+\DoxyCodeLine{130 }
+\DoxyCodeLine{131 xbInt16 \mbox{\hyperlink{classxb_1_1xbFile_a7cdfef5ede9ac98d44a28a6b7a70972c}{xbFopen}} ( xbInt16 iOpenMode );}
+\DoxyCodeLine{132 xbInt16 xbFopen ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOpenMode, xbInt16 iShareMode );}
+\DoxyCodeLine{133 xbInt16 xbFopen ( xbInt16 iOpenMode, xbInt16 iShareMode );}
+\DoxyCodeLine{134 xbInt16 xbFopen ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sMode, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileName, xbInt16 iShareMode );}
+\DoxyCodeLine{135 }
+\DoxyCodeLine{136 xbInt16 xbFputc ( xbInt32 c );}
+\DoxyCodeLine{137 xbInt16 xbFputc ( xbInt32 c, xbInt32 iNoTimes );}
+\DoxyCodeLine{138 xbInt16 xbFputs ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s );}
+\DoxyCodeLine{139 xbInt16 xbFread ( \textcolor{keywordtype}{void} *ptr, \textcolor{keywordtype}{size\_t} size, \textcolor{keywordtype}{size\_t} nmemb );}
+\DoxyCodeLine{140 xbInt16 xbFseek ( xbInt64 llOffset, xbInt32 whence );}
+\DoxyCodeLine{141 \textcolor{keywordtype}{size\_t} xbFtell ();}
+\DoxyCodeLine{142 \textcolor{keywordtype}{void} xbFTurnOffFileBuffering();}
+\DoxyCodeLine{143 }
+\DoxyCodeLine{144 xbInt16 xbReadUntil ( \textcolor{keyword}{const} \textcolor{keywordtype}{char} cDelim, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{145 xbInt16 xbRemove ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileName, xbInt16 iOption );}
+\DoxyCodeLine{146 xbInt16 xbRemove ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFileName );}
+\DoxyCodeLine{147 xbInt16 xbRemove ();}
+\DoxyCodeLine{148 }
+\DoxyCodeLine{149 xbInt16 xbRename ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOldName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sNewName );}
+\DoxyCodeLine{150 \textcolor{keywordtype}{void} xbRewind ();}
+\DoxyCodeLine{151 }
+\DoxyCodeLine{152 xbInt16 xbFwrite ( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *ptr, \textcolor{keywordtype}{size\_t} lSize, \textcolor{keywordtype}{size\_t} lNmemb );}
+\DoxyCodeLine{153 }
+\DoxyCodeLine{154 xbInt16 xbTruncate ( xbInt64 llSize );}
+\DoxyCodeLine{155 }
+\DoxyCodeLine{156 }
+\DoxyCodeLine{157 \textcolor{preprocessor}{ \#ifdef XB\_LOCKING\_SUPPORT}}
+\DoxyCodeLine{158 xbInt16 xbLock ( xbInt16 iFunction, xbInt64 llOffset, \textcolor{keywordtype}{size\_t} stLen );}
+\DoxyCodeLine{159 xbInt16 GetLockRetryCount() \textcolor{keyword}{const};}
+\DoxyCodeLine{160 \textcolor{keywordtype}{void} SetLockRetryCount( xbInt16 iLockRetries );}
+\DoxyCodeLine{161 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{162 }
+\DoxyCodeLine{163 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{164 xbInt16 DumpBlockToDisk( xbUInt32 ulBlockNo, \textcolor{keywordtype}{size\_t} lBlockSize );}
+\DoxyCodeLine{165 xbInt16 DumpMemToDisk ( \textcolor{keywordtype}{char} *p, \textcolor{keywordtype}{size\_t} lBlockSize );}
+\DoxyCodeLine{166 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{167 }
+\DoxyCodeLine{168 }
+\DoxyCodeLine{169 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{170 }
+\DoxyCodeLine{171 \mbox{\hyperlink{classxb_1_1xbXBase}{xbXBase}} *\mbox{\hyperlink{classxb_1_1xbFile_ae39a67ea391b46055d4ca299cb222004}{xbase}}; \textcolor{comment}{/* pointer to the main structures */}}
+\DoxyCodeLine{172 }
+\DoxyCodeLine{173 \textcolor{keyword}{private}:}
+\DoxyCodeLine{174 FILE *fp;}
+\DoxyCodeLine{175 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sFqFileName; \textcolor{comment}{/* fully qualified file name */}}
+\DoxyCodeLine{176 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sFileName; \textcolor{comment}{/* file name */}}
+\DoxyCodeLine{177 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sDirectory; \textcolor{comment}{/* directory, ends with / or \(\backslash\) */}}
+\DoxyCodeLine{178 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bFileOpen; \textcolor{comment}{/* true if file is open */}}
+\DoxyCodeLine{179 xbUInt32 ulBlockSize; \textcolor{comment}{/* used for memo and index files */}}
+\DoxyCodeLine{180 }
+\DoxyCodeLine{181 xbInt16 iOpenMode; \textcolor{comment}{/* XB\_READ || XB\_READ\_WRITE || XB\_WRITE */}}
+\DoxyCodeLine{182 xbInt16 iShareMode; \textcolor{comment}{/* XB\_SINGLE\_USER || XB\_MULTI\_USER -\/ set file buffering */}}
+\DoxyCodeLine{183 xbInt32 iFileNo; \textcolor{comment}{/* Library File No */}}
+\DoxyCodeLine{184 }
+\DoxyCodeLine{185 \textcolor{preprocessor}{ \#ifdef XB\_LOCKING\_SUPPORT}}
+\DoxyCodeLine{186 xbInt16 iLockRetries; \textcolor{comment}{/* file override number of lock attempts */}}
+\DoxyCodeLine{187 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{188 }
+\DoxyCodeLine{189 \textcolor{preprocessor}{ \#ifdef HAVE\_SETENDOFFILE\_F}}
+\DoxyCodeLine{190 HANDLE fHandle;}
+\DoxyCodeLine{191 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{192 }
+\DoxyCodeLine{193 }
+\DoxyCodeLine{194 \};}
+\DoxyCodeLine{195 }
+\DoxyCodeLine{196 \} \textcolor{comment}{/* namespace */}}
+\DoxyCodeLine{197 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XBFILE\_H\_\_ */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{198 }
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfilter_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfilter_8cpp.tex
new file mode 100644
index 0000000..fd07d41
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfilter_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbfilter_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbfilter.cpp File Reference}
+\label{xbfilter_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbfilter.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbfilter.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfilter_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfilter_8h.tex
new file mode 100644
index 0000000..85a7296
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfilter_8h.tex
@@ -0,0 +1,2 @@
+\hypertarget{xbfilter_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbfilter.h File Reference}
+\label{xbfilter_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbfilter.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbfilter.h}}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfilter_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfilter_8h_source.tex
new file mode 100644
index 0000000..7baffe4
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfilter_8h_source.tex
@@ -0,0 +1,84 @@
+\hypertarget{xbfilter_8h_source}{}\doxysection{xbfilter.\+h}
+\label{xbfilter_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbfilter.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbfilter.h}}
+\mbox{\hyperlink{xbfilter_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbfilter.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 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}{This class manages the user data area (UDA)}}
+\DoxyCodeLine{15 \textcolor{comment}{}}
+\DoxyCodeLine{16 \textcolor{comment}{*/}}
+\DoxyCodeLine{17 }
+\DoxyCodeLine{18 }
+\DoxyCodeLine{19 \textcolor{preprocessor}{\#ifndef \_\_XB\_XBFILTER\_H\_\_}}
+\DoxyCodeLine{20 \textcolor{preprocessor}{\#define \_\_XB\_XBFILTER\_H\_\_}}
+\DoxyCodeLine{21 }
+\DoxyCodeLine{22 \textcolor{preprocessor}{\#ifdef CMAKE\_COMPILER\_IS\_GNUCC}}
+\DoxyCodeLine{23 \textcolor{preprocessor}{\#pragma interface}}
+\DoxyCodeLine{24 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{25 }
+\DoxyCodeLine{26 }
+\DoxyCodeLine{27 \textcolor{preprocessor}{\#ifdef XB\_FILTER\_SUPPORT}}
+\DoxyCodeLine{28 }
+\DoxyCodeLine{29 }
+\DoxyCodeLine{30 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{31 }
+\DoxyCodeLine{32 \textcolor{comment}{//\#ifdef XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{33 \textcolor{comment}{//class XBDLLEXPORT xbIx;}}
+\DoxyCodeLine{34 \textcolor{comment}{//\#endif // XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{35 }
+\DoxyCodeLine{36 }
+\DoxyCodeLine{37 \textcolor{keyword}{class }XBDLLEXPORT xbFilter \{}
+\DoxyCodeLine{38 }
+\DoxyCodeLine{39 \textcolor{keyword}{public}:}
+\DoxyCodeLine{40 xbFilter( \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf );}
+\DoxyCodeLine{41 \string~xbFilter();}
+\DoxyCodeLine{42 xbInt16 Set( xbString \&sFilterExpression );}
+\DoxyCodeLine{43 xbInt16 Set( \textcolor{keyword}{const} \textcolor{keywordtype}{char} *sFilterExpression );}
+\DoxyCodeLine{44 xbInt16 GetFirstRecord( xbInt16 iOpt = 1 );}
+\DoxyCodeLine{45 xbInt16 GetNextRecord ( xbInt16 iOpt = 1 );}
+\DoxyCodeLine{46 xbInt16 GetPrevRecord ( xbInt16 iOpt = 1 );}
+\DoxyCodeLine{47 xbInt16 GetLastRecord ( xbInt16 iOpt = 1 );}
+\DoxyCodeLine{48 \textcolor{keywordtype}{void} SetLimit( xbInt32 ulLimit );}
+\DoxyCodeLine{49 xbInt32 GetLimit() \textcolor{keyword}{const};}
+\DoxyCodeLine{50 \textcolor{keywordtype}{void} ResetQryCnt();}
+\DoxyCodeLine{51 xbInt32 GetQryCnt() \textcolor{keyword}{const};}
+\DoxyCodeLine{52 }
+\DoxyCodeLine{53 \textcolor{preprocessor}{ \#ifdef XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{54 xbInt16 GetFirstRecordIx( xbInt16 iOpt = 1 );}
+\DoxyCodeLine{55 xbInt16 GetNextRecordIx ( xbInt16 iOpt = 1 );}
+\DoxyCodeLine{56 xbInt16 GetPrevRecordIx ( xbInt16 iOpt = 1 );}
+\DoxyCodeLine{57 xbInt16 GetLastRecordIx ( xbInt16 iOpt = 1 );}
+\DoxyCodeLine{58 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{59 }
+\DoxyCodeLine{60 }
+\DoxyCodeLine{61 \textcolor{keyword}{private}:}
+\DoxyCodeLine{62 \textcolor{comment}{// xbXBase *xbase;}}
+\DoxyCodeLine{63 \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf;}
+\DoxyCodeLine{64 xbExp *exp;}
+\DoxyCodeLine{65 }
+\DoxyCodeLine{66 xbInt32 lLimit; \textcolor{comment}{// max number rows returned}}
+\DoxyCodeLine{67 xbInt32 lCurQryCnt; \textcolor{comment}{// current count of rows returned, neg\# is moving from bottom to top}}
+\DoxyCodeLine{68 \textcolor{comment}{// pos\# is moving from top to bottom}}
+\DoxyCodeLine{69 \textcolor{preprocessor}{ \#ifdef XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{70 xbIx *pIx; \textcolor{comment}{// if index is set, the class uses the index tag, otherwise table}}
+\DoxyCodeLine{71 \textcolor{keywordtype}{void} *vpTag;}
+\DoxyCodeLine{72 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{73 }
+\DoxyCodeLine{74 }
+\DoxyCodeLine{75 \};}
+\DoxyCodeLine{76 \} \textcolor{comment}{/* namespace */}}
+\DoxyCodeLine{77 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* XB\_FILTER\_SUPPORT */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{78 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XBFILTER\_H\_\_ */}\textcolor{preprocessor}{}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfuncs_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfuncs_8cpp.tex
new file mode 100644
index 0000000..1ed3326
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbfuncs_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbfuncs_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbfuncs.cpp File Reference}
+\label{xbfuncs_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbfuncs.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbfuncs.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbindex_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbindex_8h.tex
new file mode 100644
index 0000000..92e2b3d
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbindex_8h.tex
@@ -0,0 +1,2 @@
+\hypertarget{xbindex_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbindex.h File Reference}
+\label{xbindex_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbindex.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbindex.h}}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbindex_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbindex_8h_source.tex
new file mode 100644
index 0000000..1572730
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbindex_8h_source.tex
@@ -0,0 +1,521 @@
+\hypertarget{xbindex_8h_source}{}\doxysection{xbindex.\+h}
+\label{xbindex_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbindex.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbindex.h}}
+\mbox{\hyperlink{xbindex_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbindex.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, 2018, 2022 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\_INDEX\_H\_\_}}
+\DoxyCodeLine{18 \textcolor{preprocessor}{\#define \_\_XB\_INDEX\_H\_\_}}
+\DoxyCodeLine{19 }
+\DoxyCodeLine{20 \textcolor{preprocessor}{\#ifdef XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{21 }
+\DoxyCodeLine{22 }
+\DoxyCodeLine{23 \textcolor{preprocessor}{\#define XB\_ADD\_KEY 1}}
+\DoxyCodeLine{24 \textcolor{preprocessor}{\#define XB\_UPD\_KEY 2}}
+\DoxyCodeLine{25 \textcolor{preprocessor}{\#define XB\_DEL\_KEY 3}}
+\DoxyCodeLine{26 }
+\DoxyCodeLine{27 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{28 }
+\DoxyCodeLine{29 }
+\DoxyCodeLine{30 }
+\DoxyCodeLine{32 \textcolor{comment}{// structure for index nodes, each node contains information regarding one block}}
+\DoxyCodeLine{33 \textcolor{keyword}{struct }XBDLLEXPORT xbIxNode \{}
+\DoxyCodeLine{34 xbIxNode *npPrev; \textcolor{comment}{// pointer to previous node in chain}}
+\DoxyCodeLine{35 xbIxNode *npNext; \textcolor{comment}{// pointer to next node in chain}}
+\DoxyCodeLine{36 xbUInt32 iCurKeyNo; \textcolor{comment}{// current key number in the node, 0 offset}}
+\DoxyCodeLine{37 xbUInt32 ulBlockNo; \textcolor{comment}{// this block number}}
+\DoxyCodeLine{38 xbUInt32 ulBufSize; \textcolor{comment}{// size of cpBlockData}}
+\DoxyCodeLine{39 \textcolor{keywordtype}{char} *cpBlockData; \textcolor{comment}{// pointer to memory version of block data stored in file}}
+\DoxyCodeLine{40 \};}
+\DoxyCodeLine{42 }
+\DoxyCodeLine{43 }
+\DoxyCodeLine{45 }
+\DoxyCodeLine{120 \textcolor{keyword}{class }XBDLLEXPORT xbIx : \textcolor{keyword}{public} xbFile \{}
+\DoxyCodeLine{121 \textcolor{keyword}{public}:}
+\DoxyCodeLine{122 xbIx( \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} * d );}
+\DoxyCodeLine{123 \textcolor{keyword}{virtual} \string~xbIx();}
+\DoxyCodeLine{124 }
+\DoxyCodeLine{125 \textcolor{keyword}{virtual} xbInt16 CheckTagIntegrity( \textcolor{keywordtype}{void} *vpTag, xbInt16 iOpt ) = 0;}
+\DoxyCodeLine{126 \textcolor{keyword}{virtual} xbInt16 Close();}
+\DoxyCodeLine{127 \textcolor{keyword}{virtual} xbInt16 CreateTag( \textcolor{keyword}{const} xbString \&sName, \textcolor{keyword}{const} xbString \&sKey, \textcolor{keyword}{const} xbString \&sFilter, xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverlay, \textcolor{keywordtype}{void} **vpTag ) = 0;}
+\DoxyCodeLine{128 \textcolor{keyword}{virtual} xbInt16 FindKey( \textcolor{keywordtype}{void} *vpTag, \textcolor{keyword}{const} xbString \&sKey, xbInt16 iRetrieveSw );}
+\DoxyCodeLine{129 \textcolor{keyword}{virtual} xbInt16 FindKey( \textcolor{keywordtype}{void} *vpTag, \textcolor{keyword}{const} \textcolor{keywordtype}{char} * cKey, xbInt32 lKeyLen, xbInt16 iRetrieveSw );}
+\DoxyCodeLine{130 \textcolor{keyword}{virtual} xbInt16 FindKey( \textcolor{keywordtype}{void} *vpTag, \textcolor{keyword}{const} xbBcd \&bcd, xbInt16 iRetrieveSw );}
+\DoxyCodeLine{131 \textcolor{keyword}{virtual} xbInt16 FindKey( \textcolor{keywordtype}{void} *vpTag, \textcolor{keyword}{const} xbDate \&dtKey, xbInt16 iRetrieveSw );}
+\DoxyCodeLine{132 \textcolor{keyword}{virtual} xbInt16 FindKey( \textcolor{keywordtype}{void} *vpTag, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dKey, xbInt16 iRetrieveSw );}
+\DoxyCodeLine{133 \textcolor{keyword}{virtual} xbInt16 FindKey( \textcolor{keywordtype}{void} *vpTag, \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vKey, xbInt32 lKeyLen, xbInt16 iRetrieveSw ) = 0;}
+\DoxyCodeLine{134 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} *GetCurTag() \textcolor{keyword}{const};}
+\DoxyCodeLine{135 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *GetDbf() \textcolor{keyword}{const};}
+\DoxyCodeLine{136 }
+\DoxyCodeLine{137 \textcolor{keyword}{virtual} xbString \&GetKeyExpression( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{138 \textcolor{keyword}{virtual} xbString \&GetKeyFilter( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{139 \textcolor{keyword}{virtual} \textcolor{keywordtype}{char} GetKeyType( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{140 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetLocked() \textcolor{keyword}{const};}
+\DoxyCodeLine{141 }
+\DoxyCodeLine{142 \textcolor{keyword}{virtual} xbInt16 GetFirstKey( \textcolor{keywordtype}{void} *vpTag, xbInt16 iRetrieveSw ) = 0;}
+\DoxyCodeLine{143 \textcolor{keyword}{virtual} xbInt16 GetFirstKey( \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{144 \textcolor{keyword}{virtual} xbInt16 GetFirstKey();}
+\DoxyCodeLine{145 }
+\DoxyCodeLine{146 \textcolor{keyword}{virtual} xbInt16 GetLastKey( \textcolor{keywordtype}{void} *vpTag, xbInt16 lRetrieveSw ) = 0;}
+\DoxyCodeLine{147 \textcolor{keyword}{virtual} xbInt16 GetLastKey( \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{148 \textcolor{keyword}{virtual} xbInt16 GetLastKey();}
+\DoxyCodeLine{149 }
+\DoxyCodeLine{150 \textcolor{keyword}{virtual} xbInt16 GetNextKey( \textcolor{keywordtype}{void} *vpTag, xbInt16 iRetrieveSw ) = 0;}
+\DoxyCodeLine{151 \textcolor{keyword}{virtual} xbInt16 GetNextKey( \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{152 \textcolor{keyword}{virtual} xbInt16 GetNextKey();}
+\DoxyCodeLine{153 }
+\DoxyCodeLine{154 \textcolor{keyword}{virtual} xbInt16 GetPrevKey( \textcolor{keywordtype}{void} *vpTag, xbInt16 iRetrieveSw ) = 0;}
+\DoxyCodeLine{155 \textcolor{keyword}{virtual} xbInt16 GetPrevKey( \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{156 \textcolor{keyword}{virtual} xbInt16 GetPrevKey();}
+\DoxyCodeLine{157 }
+\DoxyCodeLine{158 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} *GetTag( xbInt16 iTagNo ) \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{159 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} *GetTag( xbString \&sTagName ) \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{160 \textcolor{keyword}{virtual} xbInt16 GetTagCount() \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{161 }
+\DoxyCodeLine{162 \textcolor{keyword}{virtual} xbString \&GetTagName( \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{163 \textcolor{keyword}{virtual} \textcolor{keyword}{const} \textcolor{keywordtype}{char} * GetTagName( \textcolor{keywordtype}{void} *vpTag, xbInt16 iOpt ) \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{164 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} GetTagName( \textcolor{keywordtype}{void} *vpTag, xbString \&sTagName ) \{\};}
+\DoxyCodeLine{165 }
+\DoxyCodeLine{166 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetUnique( \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{167 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetSortOrder( \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{168 }
+\DoxyCodeLine{169 \textcolor{keyword}{virtual} xbInt16 Open( \textcolor{keyword}{const} xbString \&sFileName );}
+\DoxyCodeLine{170 \textcolor{keyword}{virtual} xbInt16 SetCurTag( xbInt16 iTagNo ) = 0;}
+\DoxyCodeLine{171 \textcolor{keyword}{virtual} xbInt16 SetCurTag( xbString \&sTagName ) = 0;}
+\DoxyCodeLine{172 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} SetCurTag( \textcolor{keywordtype}{void} * vpCurTag );}
+\DoxyCodeLine{173 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} SetLocked( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bLocked );}
+\DoxyCodeLine{174 }
+\DoxyCodeLine{175 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} TestStub( \textcolor{keywordtype}{char} *s, \textcolor{keywordtype}{void} *vpTag ) \{\};}
+\DoxyCodeLine{176 }
+\DoxyCodeLine{177 }
+\DoxyCodeLine{178 }
+\DoxyCodeLine{179 \textcolor{keyword}{virtual} xbInt16 Reindex( \textcolor{keywordtype}{void} **vpTag ) = 0;}
+\DoxyCodeLine{180 }
+\DoxyCodeLine{181 }
+\DoxyCodeLine{182 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{183 \textcolor{keyword}{virtual} xbInt16 DumpFreeBlocks( xbInt16 iOpt = 0 ) \{ \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}}; \}}
+\DoxyCodeLine{184 \textcolor{keyword}{virtual} xbInt16 DumpHeader( xbInt16 iDestOpt = 0, xbInt16 iFmtOpt = 0 ) = 0;}
+\DoxyCodeLine{185 \textcolor{keyword}{virtual} xbInt16 DumpIxForTag( \textcolor{keywordtype}{void} *vpTag, xbInt16 iOutputOpt ) = 0;}
+\DoxyCodeLine{186 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} DumpIxNodeChain( \textcolor{keywordtype}{void} *vpTag, xbInt16 iOutputOpt ) \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{187 \textcolor{keyword}{virtual} xbInt16 DumpNode( \textcolor{keywordtype}{void} * vpTag, xbIxNode * pNode, xbInt16 iOption ) \textcolor{keyword}{const};}
+\DoxyCodeLine{188 \textcolor{keyword}{virtual} xbInt16 DumpTagBlocks( xbInt16 iOpt = 1, \textcolor{keywordtype}{void} *vpTag = NULL ) = 0;}
+\DoxyCodeLine{189 }
+\DoxyCodeLine{190 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{191 }
+\DoxyCodeLine{192 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{193 \textcolor{keyword}{friend} \textcolor{keyword}{class }\mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}};}
+\DoxyCodeLine{194 }
+\DoxyCodeLine{195 \textcolor{keyword}{virtual} xbInt16 AddKey( \textcolor{keywordtype}{void} *vpTag, xbUInt32 ulRecNo ) = 0;}
+\DoxyCodeLine{196 \textcolor{keyword}{virtual} xbInt16 AddKeys( xbUInt32 ulRecNo );}
+\DoxyCodeLine{197 \textcolor{keyword}{virtual} xbIxNode *AllocateIxNode( xbUInt32 ulBufSize = 0, xbInt16 iOption = 0 );}
+\DoxyCodeLine{198 \textcolor{keyword}{virtual} xbInt16 BSearchBlock( \textcolor{keywordtype}{char} cKeyType, xbIxNode *npNode, xbInt32 lKeyLen, \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vpKey, xbInt32 lSearchKeyLen, xbInt16 \&iCompRc, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bDescending = \mbox{\hyperlink{xbtypes_8h_adc4b6ca5ad299f63675136d9e03938cc}{xbFalse}} ) \textcolor{keyword}{const};}
+\DoxyCodeLine{199 \textcolor{keyword}{virtual} xbInt16 CheckForDupKeys();}
+\DoxyCodeLine{200 \textcolor{keyword}{virtual} xbInt16 CheckForDupKey( \textcolor{keywordtype}{void} *vpTag ) = 0;}
+\DoxyCodeLine{201 \textcolor{keyword}{virtual} xbInt16 CompareKey( \textcolor{keywordtype}{char} cKeyType, \textcolor{keyword}{const} \textcolor{keywordtype}{void} *v1, \textcolor{keyword}{const} \textcolor{keywordtype}{void} *v2, \textcolor{keywordtype}{size\_t} lKeyLen ) \textcolor{keyword}{const};}
+\DoxyCodeLine{202 \textcolor{keyword}{virtual} xbInt16 CreateKeys( xbInt16 iOpt );}
+\DoxyCodeLine{203 \textcolor{keyword}{virtual} xbInt16 CreateKey( \textcolor{keywordtype}{void} * vpTag, xbInt16 iOpt ) = 0;}
+\DoxyCodeLine{204 \textcolor{keyword}{virtual} xbInt16 DeleteFromNode( \textcolor{keywordtype}{void} *vpTag, xbIxNode * npNode, xbInt16 iSlotNo ) = 0;}
+\DoxyCodeLine{205 \textcolor{keyword}{virtual} xbInt16 DeleteKeys();}
+\DoxyCodeLine{206 \textcolor{keyword}{virtual} xbInt16 DeleteKey( \textcolor{keywordtype}{void} *vpTag ) = 0;}
+\DoxyCodeLine{207 \textcolor{keyword}{virtual} xbInt16 DeleteTag( \textcolor{keywordtype}{void} *vpTag ) = 0;}
+\DoxyCodeLine{208 }
+\DoxyCodeLine{209 \textcolor{keyword}{virtual} xbInt16 FindKeyForCurRec( \textcolor{keywordtype}{void} *vpTag ) = 0;}
+\DoxyCodeLine{210 \textcolor{keyword}{virtual} xbIxNode *FreeNodeChain( xbIxNode *np );}
+\DoxyCodeLine{211 \textcolor{keyword}{virtual} xbInt16 GetBlock( \textcolor{keywordtype}{void} *vpTag, xbUInt32 ulBlockNo, xbInt16 iOpt, xbUInt32 ulAddlBuf = 0 );}
+\DoxyCodeLine{212 \textcolor{keyword}{virtual} xbInt32 GetKeyCount( xbIxNode *npNode ) \textcolor{keyword}{const};}
+\DoxyCodeLine{213 \textcolor{keyword}{virtual} \textcolor{keywordtype}{char} *GetKeyData( xbIxNode *npNode, xbInt16 iKeyNo, xbInt16 iKeyItemLen ) \textcolor{keyword}{const};}
+\DoxyCodeLine{214 \textcolor{keyword}{virtual} xbInt16 GetKeySts( \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{215 \textcolor{keyword}{virtual} xbInt16 GetLastKey( xbUInt32 ulNodeNo, \textcolor{keywordtype}{void} *vpTag, xbInt16 lRetrieveSw ) = 0;}
+\DoxyCodeLine{216 \textcolor{keyword}{virtual} xbInt16 InsertNodeL( \textcolor{keywordtype}{void} *vpTag, xbIxNode * npNode, xbInt16 iSlotNo, \textcolor{keywordtype}{char} * cpKeyBuf, xbUInt32 uiPtr ) = 0;}
+\DoxyCodeLine{217 \textcolor{keyword}{virtual} xbInt16 InsertNodeI( \textcolor{keywordtype}{void} *vpTag, xbIxNode * npNode, xbInt16 iSlotNo, xbUInt32 uiPtr ) = 0;}
+\DoxyCodeLine{218 \textcolor{keyword}{virtual} xbInt16 KeyExists( \textcolor{keywordtype}{void} * ) = 0;}
+\DoxyCodeLine{219 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} NodeFree( xbIxNode * ixNode );}
+\DoxyCodeLine{220 \textcolor{keyword}{virtual} xbInt16 ReadHeadBlock( xbInt16 iOpt = 0 ) = 0;}
+\DoxyCodeLine{221 \textcolor{comment}{// virtual xbInt16 Reindex( void **vpTag ) = 0;}}
+\DoxyCodeLine{222 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} SetDbf( \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf );}
+\DoxyCodeLine{223 \textcolor{keyword}{virtual} xbInt16 SplitNodeL( \textcolor{keywordtype}{void} *vpTag, xbIxNode * npLeft, xbIxNode *npRight, xbInt16 iSlotNo, \textcolor{keywordtype}{char} *cpKeyBuf, xbUInt32 uiPtr ) = 0;}
+\DoxyCodeLine{224 \textcolor{keyword}{virtual} xbInt16 SplitNodeI( \textcolor{keywordtype}{void} *vpTag, xbIxNode * npLeft, xbIxNode *npRight, xbInt16 iSlotNo, xbUInt32 uiPtr ) = 0;}
+\DoxyCodeLine{225 \textcolor{keyword}{virtual} xbInt16 UpdateTagKey( \textcolor{keywordtype}{char} cAction, \textcolor{keywordtype}{void} *vpTag, xbUInt32 ulRecNo = 0 ) = 0;}
+\DoxyCodeLine{226 \textcolor{keyword}{virtual} xbInt16 WriteHeadBlock( xbInt16 iOption ) = 0;}
+\DoxyCodeLine{227 }
+\DoxyCodeLine{228 \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf;}
+\DoxyCodeLine{229 \textcolor{keywordtype}{char} *cNodeBuf; \textcolor{comment}{// pointer to memory for processing in a block of index data}}
+\DoxyCodeLine{230 \textcolor{keywordtype}{void} *vpCurTag; \textcolor{comment}{// pointer to active tag. Single index files have only one tag}}
+\DoxyCodeLine{231 }
+\DoxyCodeLine{232 \textcolor{keyword}{private}:}
+\DoxyCodeLine{233 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} AppendNodeChain( \textcolor{keywordtype}{void} *vpTag, xbIxNode *npNode ) = 0;}
+\DoxyCodeLine{234 \textcolor{keyword}{virtual} xbInt16 GetKeyPtr( \textcolor{keywordtype}{void} *vpTag, xbInt16 iKeyNo, xbIxNode *npNode, xbUInt32 \&ulKeyPtr ) \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{235 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsLeaf( \textcolor{keywordtype}{void} *vpTag, xbIxNode *npNode ) \textcolor{keyword}{const} = 0;}
+\DoxyCodeLine{236 \textcolor{comment}{// virtual void SetCurNode( void *vpTag, xbIxNode *npNode ) = 0;}}
+\DoxyCodeLine{237 }
+\DoxyCodeLine{238 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bLocked; \textcolor{comment}{// index file locked?}}
+\DoxyCodeLine{239 \};}
+\DoxyCodeLine{240 }
+\DoxyCodeLine{241 \textcolor{preprocessor}{\#ifdef XB\_NDX\_SUPPORT}}
+\DoxyCodeLine{242 }
+\DoxyCodeLine{243 \textcolor{preprocessor}{\#define XB\_NDX\_BLOCK\_SIZE 512}}
+\DoxyCodeLine{244 }
+\DoxyCodeLine{245 }
+\DoxyCodeLine{247 \textcolor{keyword}{struct }XBDLLEXPORT xbNdxTag \{}
+\DoxyCodeLine{248 }
+\DoxyCodeLine{249 \textcolor{comment}{// NDX File Header Fields}}
+\DoxyCodeLine{250 xbUInt32 ulRootBlock; \textcolor{comment}{// header node is 0}}
+\DoxyCodeLine{251 xbUInt32 ulTotalBlocks; \textcolor{comment}{// includes header node}}
+\DoxyCodeLine{252 \textcolor{keywordtype}{char} cKeyType; \textcolor{comment}{// C = Char, F = Numeric, D = Date}}
+\DoxyCodeLine{253 xbInt16 iKeyLen; \textcolor{comment}{// length of key data}}
+\DoxyCodeLine{254 xbInt16 iKeysPerBlock; \textcolor{comment}{// max number keys per block <=100}}
+\DoxyCodeLine{255 xbInt16 iKeyType; \textcolor{comment}{// 00 = Char, 01 = Numeric}}
+\DoxyCodeLine{256 xbInt16 iKeyItemLen; \textcolor{comment}{// KeyLen + 8 bytes}}
+\DoxyCodeLine{257 \textcolor{keywordtype}{char} cSerNo; \textcolor{comment}{// rolling incrementing serial number +1 on each index update}}
+\DoxyCodeLine{258 xbInt16 iUnique; \textcolor{comment}{// True if unique}}
+\DoxyCodeLine{259 xbString sKeyExpression; \textcolor{comment}{// index expression}}
+\DoxyCodeLine{260 \textcolor{comment}{// end of NDX Header field}}
+\DoxyCodeLine{261 }
+\DoxyCodeLine{262 xbExp *exp; \textcolor{comment}{// pointer to expression for expression keys}}
+\DoxyCodeLine{263 time\_t tNodeChainTs; \textcolor{comment}{// node chain time stamp}}
+\DoxyCodeLine{264 xbIxNode *npNodeChain;}
+\DoxyCodeLine{265 xbIxNode *npCurNode;}
+\DoxyCodeLine{266 \textcolor{keywordtype}{char} *cpKeyBuf; \textcolor{comment}{// key buffer, for searches and adds}}
+\DoxyCodeLine{267 \textcolor{keywordtype}{char} *cpKeyBuf2; \textcolor{comment}{// key buffer, for deletes}}
+\DoxyCodeLine{268 xbString sTagName; \textcolor{comment}{// tag name -\/ is the file name without the extension}}
+\DoxyCodeLine{269 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bFoundSts; \textcolor{comment}{// key found? used to determine if new key should be added in XB\_EMULATE\_DBASE mode in AddKey}}
+\DoxyCodeLine{270 }
+\DoxyCodeLine{271 }
+\DoxyCodeLine{272 xbInt16 iKeySts; \textcolor{comment}{// key updated? set in method CreateKey, checked in AddKey and DeleteKey routines}}
+\DoxyCodeLine{273 \textcolor{comment}{// old key filtered new key filtered iKeySts}}
+\DoxyCodeLine{274 \textcolor{comment}{// Y Y XB\_UPD\_KEY 2 -\/ update key if changed (delete and add)}}
+\DoxyCodeLine{275 \textcolor{comment}{// Y N XB\_DEL\_KEY 3 -\/ delete key}}
+\DoxyCodeLine{276 \textcolor{comment}{// N Y XB\_ADD\_KEY 1 -\/ add key}}
+\DoxyCodeLine{277 \textcolor{comment}{// N N 0 -\/ no update}}
+\DoxyCodeLine{278 }
+\DoxyCodeLine{279 \};}
+\DoxyCodeLine{281 }
+\DoxyCodeLine{283 }
+\DoxyCodeLine{302 \textcolor{keyword}{class }XBDLLEXPORT xbIxNdx : \textcolor{keyword}{public} xbIx \{}
+\DoxyCodeLine{303 \textcolor{keyword}{public}:}
+\DoxyCodeLine{304 xbIxNdx( \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} * d );}
+\DoxyCodeLine{305 \string~xbIxNdx();}
+\DoxyCodeLine{306 xbInt16 CheckTagIntegrity( \textcolor{keywordtype}{void} *vpTag, xbInt16 iOpt );}
+\DoxyCodeLine{307 xbInt16 CreateTag( \textcolor{keyword}{const} xbString \&sName, \textcolor{keyword}{const} xbString \&sKey, \textcolor{keyword}{const} xbString \&sFilter, xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverlay, \textcolor{keywordtype}{void} **vpTag );}
+\DoxyCodeLine{308 xbInt16 FindKey( \textcolor{keywordtype}{void} *vpTag, \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vpKey, xbInt32 lKeyLen, xbInt16 iRetrieveSw );}
+\DoxyCodeLine{309 xbInt16 GetFirstKey( \textcolor{keywordtype}{void} *vpTag, xbInt16 iRetrieveSw );}
+\DoxyCodeLine{310 }
+\DoxyCodeLine{311 xbInt16 GetLastKey( \textcolor{keywordtype}{void} *vpTag, xbInt16 iRetrieveSw = 1 );}
+\DoxyCodeLine{312 xbInt16 GetNextKey( \textcolor{keywordtype}{void} *vpTag, xbInt16 iRetrieveSw = 1 );}
+\DoxyCodeLine{313 xbInt16 GetPrevKey( \textcolor{keywordtype}{void} *vpTag, xbInt16 iRetrieveSw = 1 );}
+\DoxyCodeLine{314 xbInt32 GetKeyLen ( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{315 \textcolor{keywordtype}{char} GetKeyType ( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{316 xbString \&GetKeyExpression( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{317 xbString \&GetKeyFilter( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{318 \textcolor{keywordtype}{void} *GetTag( xbInt16 iTagNo ) \textcolor{keyword}{const};}
+\DoxyCodeLine{319 \textcolor{keywordtype}{void} *GetTag( xbString \&sTagName ) \textcolor{keyword}{const};}
+\DoxyCodeLine{320 xbString \&GetTagName( \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{321 \textcolor{keyword}{const} \textcolor{keywordtype}{char} * GetTagName( \textcolor{keywordtype}{void} *vpTag, xbInt16 iOpt ) \textcolor{keyword}{const};}
+\DoxyCodeLine{322 }
+\DoxyCodeLine{323 xbInt16 GetTagCount() \textcolor{keyword}{const};}
+\DoxyCodeLine{324 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetUnique( \textcolor{keywordtype}{void} *vpTag = NULL ) \textcolor{keyword}{const};}
+\DoxyCodeLine{325 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetSortOrder( \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{326 xbInt16 SetCurTag( xbInt16 iTagNo );}
+\DoxyCodeLine{327 xbInt16 SetCurTag( xbString \&sTagName );}
+\DoxyCodeLine{328 }
+\DoxyCodeLine{329 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{330 xbInt16 DumpTagBlocks( xbInt16 iOpt = 1, \textcolor{keywordtype}{void} *vpTag = NULL );}
+\DoxyCodeLine{331 xbInt16 DumpHeader( xbInt16 iOpt = 0, xbInt16 iFmt = 0 );}
+\DoxyCodeLine{332 xbInt16 DumpIxForTag( \textcolor{keywordtype}{void} *vpTag, xbInt16 iOutputOpt );}
+\DoxyCodeLine{333 \textcolor{keywordtype}{void} DumpIxNodeChain( \textcolor{keywordtype}{void} *vpTag, xbInt16 iOutputOpt ) \textcolor{keyword}{const};}
+\DoxyCodeLine{334 xbInt16 DumpNode( \textcolor{keywordtype}{void} * vpTag, xbIxNode * pNode, xbInt16 iOption ) \textcolor{keyword}{const};}
+\DoxyCodeLine{335 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{336 }
+\DoxyCodeLine{337 xbInt16 Reindex( \textcolor{keywordtype}{void} **vpTag );}
+\DoxyCodeLine{338 }
+\DoxyCodeLine{339 }
+\DoxyCodeLine{340 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{341 \textcolor{keyword}{friend} \textcolor{keyword}{class }\mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}};}
+\DoxyCodeLine{342 xbInt16 AddKey( \textcolor{keywordtype}{void} *vpTag, xbUInt32 ulRecNo );}
+\DoxyCodeLine{343 xbIxNode *AllocateIxNode( xbUInt32 ulBufSize = 0, xbInt16 iOption = 0 );}
+\DoxyCodeLine{344 xbInt16 CheckForDupKey( \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{345 xbIxNode *CreateIxNode( xbUInt32 ulBufSize );}
+\DoxyCodeLine{346 xbInt16 CreateKey( \textcolor{keywordtype}{void} * vpTag, xbInt16 iOpt );}
+\DoxyCodeLine{347 xbInt16 DeleteFromNode( \textcolor{keywordtype}{void} *vpTag, xbIxNode * npNode, xbInt16 iSlotNo );}
+\DoxyCodeLine{348 xbInt16 DeleteKey( \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{349 xbInt16 DeleteTag( \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{350 xbInt16 FindKeyForCurRec( \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{351 xbInt16 GetKeyTypeN( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{352 xbInt16 GetKeySts( \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{353 xbInt16 GetLastKey( xbUInt32 ulNodeNo, \textcolor{keywordtype}{void} *vpTag, xbInt16 iRetrieveSw = 1 );}
+\DoxyCodeLine{354 xbInt16 InsertNodeI( \textcolor{keywordtype}{void} *vpTag, xbIxNode * npNode, xbInt16 iSlotNo, xbUInt32 uiPtr );}
+\DoxyCodeLine{355 xbInt16 InsertNodeL( \textcolor{keywordtype}{void} *vpTag, xbIxNode * npNode, xbInt16 iSlotNo, \textcolor{keywordtype}{char} * cpKeyBuf, xbUInt32 uiPtr );}
+\DoxyCodeLine{356 xbInt16 KeyExists( \textcolor{keywordtype}{void} *vpTag = NULL );}
+\DoxyCodeLine{357 xbInt16 ReadHeadBlock(xbInt16 iOpt); \textcolor{comment}{// read the header node of the disk NDX file}}
+\DoxyCodeLine{358 \textcolor{comment}{// xbInt16 Reindex( void **vpTag );}}
+\DoxyCodeLine{359 xbInt16 SplitNodeI( \textcolor{keywordtype}{void} *vpTag, xbIxNode * npLeft, xbIxNode *npRight, xbInt16 iSlotNo, xbUInt32 uiPtr );}
+\DoxyCodeLine{360 xbInt16 SplitNodeL( \textcolor{keywordtype}{void} *vpTag, xbIxNode * npLeft, xbIxNode *npRight, xbInt16 iSlotNo, \textcolor{keywordtype}{char} *cpKeyBuf, xbUInt32 uiPtr );}
+\DoxyCodeLine{361 xbInt16 UpdateTagKey( \textcolor{keywordtype}{char} cAction, \textcolor{keywordtype}{void} *vpTag, xbUInt32 ulRecNo = 0 );}
+\DoxyCodeLine{362 xbInt16 WriteHeadBlock( xbInt16 iOption );}
+\DoxyCodeLine{363 }
+\DoxyCodeLine{364 \textcolor{keyword}{private}:}
+\DoxyCodeLine{365 xbInt16 AddKeyNewRoot( xbNdxTag *npTag, xbIxNode *npLeft, xbIxNode *npRight );}
+\DoxyCodeLine{366 \textcolor{keywordtype}{void} AppendNodeChain( \textcolor{keywordtype}{void} *vpTag, xbIxNode *npNode );}
+\DoxyCodeLine{367 xbInt16 GetDbfPtr( \textcolor{keywordtype}{void} *vpTag, xbInt16 iKeyNo, xbIxNode *npNode, xbUInt32 \&ulDbfPtr ) \textcolor{keyword}{const};}
+\DoxyCodeLine{368 xbInt16 GetKeyPtr( \textcolor{keywordtype}{void} *vpTag, xbInt16 iKeyNo, xbIxNode *npNode, xbUInt32 \&ulKeyPtr ) \textcolor{keyword}{const};}
+\DoxyCodeLine{369 xbInt16 GetLastKeyForBlockNo( \textcolor{keywordtype}{void} *vpTag, xbUInt32 ulBlockNo, \textcolor{keywordtype}{char} *cpKeyBuf );}
+\DoxyCodeLine{370 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsLeaf( \textcolor{keywordtype}{void} *vpTag, xbIxNode *npNode ) \textcolor{keyword}{const};}
+\DoxyCodeLine{371 xbInt16 KeySetPosAdd( xbNdxTag *npTag, xbUInt32 ulAddKeyRecNo );}
+\DoxyCodeLine{372 xbInt16 KeySetPosDel( xbNdxTag *npTag );}
+\DoxyCodeLine{373 xbNdxTag *ndxTag;}
+\DoxyCodeLine{374 \};}
+\DoxyCodeLine{375 }
+\DoxyCodeLine{376 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* XB\_NDX\_SUPPORT */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{377 }
+\DoxyCodeLine{378 }
+\DoxyCodeLine{379 \textcolor{preprocessor}{\#ifdef XB\_MDX\_SUPPORT}}
+\DoxyCodeLine{380 \textcolor{comment}{//\#define XB\_MDX\_BLOCK\_SIZE 1024}}
+\DoxyCodeLine{381 }
+\DoxyCodeLine{382 \textcolor{keyword}{struct }XBDLLEXPORT xbMdxTag \{}
+\DoxyCodeLine{383 }
+\DoxyCodeLine{384 \textcolor{comment}{// next 7 fields comprise the tag table entry}}
+\DoxyCodeLine{385 xbUInt32 ulTagHdrPageNo; \textcolor{comment}{// 512 byte page number, NOT block number}}
+\DoxyCodeLine{386 \textcolor{keywordtype}{char} cTagName[11];}
+\DoxyCodeLine{387 \textcolor{keywordtype}{char} cKeyFmt; \textcolor{comment}{// always 0x10 w/ DBase V7}}
+\DoxyCodeLine{388 \textcolor{keywordtype}{char} cLeftChild; \textcolor{comment}{// cFwdTagThread}}
+\DoxyCodeLine{389 \textcolor{keywordtype}{char} cRightChild; \textcolor{comment}{// cFwdTagThread2}}
+\DoxyCodeLine{390 \textcolor{keywordtype}{char} cParent; \textcolor{comment}{// cBwdTagThread}}
+\DoxyCodeLine{391 \textcolor{keywordtype}{char} c2;}
+\DoxyCodeLine{392 \textcolor{keywordtype}{char} cKeyType; \textcolor{comment}{// C,D,N}}
+\DoxyCodeLine{393 }
+\DoxyCodeLine{394 xbUInt32 ulRootPage; \textcolor{comment}{// 512 byte page number, NOT block number}}
+\DoxyCodeLine{395 xbUInt32 ulTagSize; \textcolor{comment}{// Number of 512 byte pages allocated to the tag. Tag size of two is a single 1024 block}}
+\DoxyCodeLine{396 }
+\DoxyCodeLine{397 \textcolor{keywordtype}{char} cKeyFmt2; \textcolor{comment}{// 0x10 -\/ base}}
+\DoxyCodeLine{398 \textcolor{comment}{// 0x08 -\/ descending}}
+\DoxyCodeLine{399 \textcolor{comment}{// 0x40 -\/ unique}}
+\DoxyCodeLine{400 \textcolor{keywordtype}{char} cKeyType2;}
+\DoxyCodeLine{401 \textcolor{comment}{// one unused byte fits here}}
+\DoxyCodeLine{402 }
+\DoxyCodeLine{403 \textcolor{keywordtype}{char} cTag11; \textcolor{comment}{// dbase sets to 0x1B}}
+\DoxyCodeLine{404 xbInt16 iKeyLen;}
+\DoxyCodeLine{405 xbInt16 iKeysPerBlock;}
+\DoxyCodeLine{406 xbInt16 iSecKeyType;}
+\DoxyCodeLine{407 xbInt16 iKeyItemLen; \textcolor{comment}{// iKeyLen + 4}}
+\DoxyCodeLine{408 }
+\DoxyCodeLine{409 \textcolor{keywordtype}{char} cSerialNo; \textcolor{comment}{// Increments +1 for each tag update}}
+\DoxyCodeLine{410 \textcolor{keywordtype}{char} cUnique;}
+\DoxyCodeLine{411 xbString *sKeyExp; \textcolor{comment}{// Key expression}}
+\DoxyCodeLine{412 \textcolor{keywordtype}{char} cHasFilter; \textcolor{comment}{// 0x00 or 0x01}}
+\DoxyCodeLine{413 \textcolor{keywordtype}{char} cHasKeys; \textcolor{comment}{// 0x00 or 0x01}}
+\DoxyCodeLine{414 xbUInt32 ulLeftChild; \textcolor{comment}{// dbase 7 sets this to the root page on tag creation}}
+\DoxyCodeLine{415 xbUInt32 ulRightChild; \textcolor{comment}{// dbase 7 sets this to the root page on tag creation}}
+\DoxyCodeLine{416 }
+\DoxyCodeLine{417 \textcolor{keywordtype}{char} cTagYY;}
+\DoxyCodeLine{418 \textcolor{keywordtype}{char} cTagMM;}
+\DoxyCodeLine{419 \textcolor{keywordtype}{char} cTagDD;}
+\DoxyCodeLine{420 }
+\DoxyCodeLine{421 \textcolor{keywordtype}{char} cKeyFmt3; \textcolor{comment}{// dbase 7 sets this 0x01 if discreet field or 0x00 if calculated or combination field key expression on tag creation}}
+\DoxyCodeLine{422 }
+\DoxyCodeLine{423 xbString *sFiltExp; \textcolor{comment}{// Filter expression}}
+\DoxyCodeLine{424 }
+\DoxyCodeLine{425 time\_t tNodeChainTs;}
+\DoxyCodeLine{426 xbIxNode *npNodeChain;}
+\DoxyCodeLine{427 xbIxNode *npCurNode;}
+\DoxyCodeLine{428 xbExp *exp; \textcolor{comment}{// pointer to expression for expression based tags}}
+\DoxyCodeLine{429 xbExp *filter; \textcolor{comment}{// pointer to expression for index filter}}
+\DoxyCodeLine{430 }
+\DoxyCodeLine{431 \textcolor{keywordtype}{char} *cpKeyBuf; \textcolor{comment}{// key buffer}}
+\DoxyCodeLine{432 \textcolor{keywordtype}{char} *cpKeyBuf2; \textcolor{comment}{// key buffer}}
+\DoxyCodeLine{433 xbString *sTagName; \textcolor{comment}{// string tag name}}
+\DoxyCodeLine{434 }
+\DoxyCodeLine{435 }
+\DoxyCodeLine{436 xbMdxTag *next;}
+\DoxyCodeLine{437 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bFoundSts; \textcolor{comment}{// key found? used to determine if new key should be added in XB\_EMULATE\_DBASE mode in AddKey}}
+\DoxyCodeLine{438 }
+\DoxyCodeLine{439 }
+\DoxyCodeLine{440 xbInt16 iKeySts; \textcolor{comment}{// key updated? set in method CreateKey, checked in AddKey and DeleteKey routines}}
+\DoxyCodeLine{441 \textcolor{comment}{// old key filtered new key filtered iKeySts}}
+\DoxyCodeLine{442 \textcolor{comment}{// Y Y XB\_UPD\_KEY 2 -\/ update key if changed (delete and add)}}
+\DoxyCodeLine{443 \textcolor{comment}{// Y N XB\_DEL\_KEY 3 -\/ delete key}}
+\DoxyCodeLine{444 \textcolor{comment}{// N Y XB\_ADD\_KEY 1 -\/ add key}}
+\DoxyCodeLine{445 \textcolor{comment}{// N N 0 -\/ no update}}
+\DoxyCodeLine{446 }
+\DoxyCodeLine{447 }
+\DoxyCodeLine{448 \};}
+\DoxyCodeLine{449 }
+\DoxyCodeLine{450 }
+\DoxyCodeLine{451 \textcolor{keyword}{class }XBDLLEXPORT xbIxMdx : \textcolor{keyword}{public} xbIx \{}
+\DoxyCodeLine{452 \textcolor{keyword}{public}:}
+\DoxyCodeLine{453 xbIxMdx( \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} * d );}
+\DoxyCodeLine{454 \string~xbIxMdx();}
+\DoxyCodeLine{455 \textcolor{keyword}{virtual} xbInt16 CheckTagIntegrity( \textcolor{keywordtype}{void} *vpTag, xbInt16 iOpt );}
+\DoxyCodeLine{456 \textcolor{keyword}{virtual} xbInt16 CreateTag( \textcolor{keyword}{const} xbString \&sName, \textcolor{keyword}{const} xbString \&sKey, \textcolor{keyword}{const} xbString \&sFilter, xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverlay, \textcolor{keywordtype}{void} **vpTag );}
+\DoxyCodeLine{457 \textcolor{keyword}{virtual} xbInt16 FindKey( \textcolor{keywordtype}{void} *vpTag, \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vKey, xbInt32 lKeyLen, xbInt16 iRetrieveSw );}
+\DoxyCodeLine{458 \textcolor{keyword}{virtual} xbInt16 FindKey( \textcolor{keywordtype}{void} *vpTag, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dKey, xbInt16 iRetrieveSw );}
+\DoxyCodeLine{459 \textcolor{keyword}{virtual} xbInt16 GetFirstKey( \textcolor{keywordtype}{void} *vpTag, xbInt16 lRetrieveSw );}
+\DoxyCodeLine{460 \textcolor{keyword}{virtual} xbString \&GetKeyExpression( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{461 \textcolor{keyword}{virtual} xbString \&GetKeyFilter( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{462 \textcolor{keyword}{virtual} \textcolor{keywordtype}{char} GetKeyType( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{463 \textcolor{keyword}{virtual} xbInt16 GetLastKey( \textcolor{keywordtype}{void} *vpTag, xbInt16 lRetrieveSw );}
+\DoxyCodeLine{464 \textcolor{keyword}{virtual} xbInt16 GetNextKey( \textcolor{keywordtype}{void} *vpTag, xbInt16 lRetrieveSw );}
+\DoxyCodeLine{465 \textcolor{keyword}{virtual} xbInt16 GetPrevKey( \textcolor{keywordtype}{void} *vpTag, xbInt16 lRetrieveSw );}
+\DoxyCodeLine{466 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetReuseEmptyNodesSw() \textcolor{keyword}{const};}
+\DoxyCodeLine{467 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetSortOrder( \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{468 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} *GetTag( xbInt16 iTagNo ) \textcolor{keyword}{const};}
+\DoxyCodeLine{469 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} *GetTag( xbString \&sTagName ) \textcolor{keyword}{const};}
+\DoxyCodeLine{470 \textcolor{keyword}{virtual} xbInt16 GetTagCount() \textcolor{keyword}{const};}
+\DoxyCodeLine{471 }
+\DoxyCodeLine{472 \textcolor{keyword}{virtual} xbString \&GetTagName( \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{473 \textcolor{keyword}{virtual} \textcolor{keyword}{const} \textcolor{keywordtype}{char} * GetTagName( \textcolor{keywordtype}{void} *vpTag, xbInt16 iOpt ) \textcolor{keyword}{const};}
+\DoxyCodeLine{474 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} GetTagName( \textcolor{keywordtype}{void} *vpTag, xbString \&sTagName );}
+\DoxyCodeLine{475 }
+\DoxyCodeLine{476 \textcolor{keyword}{virtual} xbInt16 GetUnique( \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{477 \textcolor{keyword}{virtual} xbInt16 SetCurTag( xbInt16 iTagNo );}
+\DoxyCodeLine{478 \textcolor{keyword}{virtual} xbInt16 SetCurTag( xbString \&sTagName );}
+\DoxyCodeLine{479 \textcolor{keywordtype}{void} SetReuseEmptyNodesSw( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bReuse );}
+\DoxyCodeLine{480 }
+\DoxyCodeLine{481 \textcolor{keywordtype}{void} TestStub( \textcolor{keywordtype}{char} *s, \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{482 }
+\DoxyCodeLine{483 }
+\DoxyCodeLine{484 \textcolor{keyword}{virtual} xbInt16 Reindex( \textcolor{keywordtype}{void} **vpTag );}
+\DoxyCodeLine{485 }
+\DoxyCodeLine{486 }
+\DoxyCodeLine{487 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{488 \textcolor{keyword}{friend} \textcolor{keyword}{class }\mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}};}
+\DoxyCodeLine{489 }
+\DoxyCodeLine{490 xbInt16 AddKey( \textcolor{keywordtype}{void} *vpTag, xbUInt32 ulRecNo );}
+\DoxyCodeLine{491 xbIxNode *AllocateIxNode( xbMdxTag * mpTag, xbUInt32 ulBufSize, xbUInt32 ulBlock2 );}
+\DoxyCodeLine{492 \textcolor{keywordtype}{void} CalcBtreePointers();}
+\DoxyCodeLine{493 \textcolor{keywordtype}{char} CalcTagKeyFmt( xbExp \&exp );}
+\DoxyCodeLine{494 }
+\DoxyCodeLine{495 xbInt16 CheckForDupKey( \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{496 \textcolor{keyword}{virtual} xbInt16 Close();}
+\DoxyCodeLine{497 xbInt16 CreateKey( \textcolor{keywordtype}{void} * vpTag, xbInt16 iOpt );}
+\DoxyCodeLine{498 xbInt16 DeleteFromNode( \textcolor{keywordtype}{void} *vpTag, xbIxNode * npNode, xbInt16 iSlotNo );}
+\DoxyCodeLine{499 xbInt16 DeleteKey( \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{500 }
+\DoxyCodeLine{501 \textcolor{keyword}{virtual} xbInt16 DeleteTag( \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{502 }
+\DoxyCodeLine{503 xbInt16 FindKeyForCurRec( \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{504 xbInt16 GetKeySts( \textcolor{keywordtype}{void} *vpTag ) \textcolor{keyword}{const};}
+\DoxyCodeLine{505 xbInt16 GetLastKey( xbUInt32 ulBlockNo, \textcolor{keywordtype}{void} *vpTag, xbInt16 lRetrieveSw );}
+\DoxyCodeLine{506 \textcolor{keywordtype}{void} *GetTagTblPtr() \textcolor{keyword}{const};}
+\DoxyCodeLine{507 }
+\DoxyCodeLine{508 xbInt16 HarvestTagNodes( xbMdxTag *mpTag, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bRecycleRoot = \mbox{\hyperlink{xbtypes_8h_adc4b6ca5ad299f63675136d9e03938cc}{xbFalse}} );}
+\DoxyCodeLine{509 \textcolor{keywordtype}{void} Init( xbInt16 iOpt = 0 );}
+\DoxyCodeLine{510 xbInt16 InsertNodeI( \textcolor{keywordtype}{void} *vpTag, xbIxNode *npNode, xbInt16 iSlotNo, xbUInt32 uiPtr );}
+\DoxyCodeLine{511 xbInt16 InsertNodeL( \textcolor{keywordtype}{void} *vpTag, xbIxNode *npNode, xbInt16 iSlotNo, \textcolor{keywordtype}{char} *cpKeyBuf, xbUInt32 uiPtr );}
+\DoxyCodeLine{512 xbInt16 KeyExists( \textcolor{keywordtype}{void} * );}
+\DoxyCodeLine{513 xbInt16 LoadTagTable();}
+\DoxyCodeLine{514 xbInt16 ReadHeadBlock(xbInt16 iOpt); \textcolor{comment}{// read the header node of the disk file}}
+\DoxyCodeLine{515 \textcolor{comment}{//virtual xbInt16 Reindex( void **vpTag );}}
+\DoxyCodeLine{516 xbInt16 SplitNodeI( \textcolor{keywordtype}{void} *vpTag, xbIxNode * npLeft, xbIxNode *npRight, xbInt16 iSlotNo, xbUInt32 uiPtr );}
+\DoxyCodeLine{517 xbInt16 SplitNodeL( \textcolor{keywordtype}{void} *vpTag, xbIxNode * npLeft, xbIxNode *npRight, xbInt16 iSlotNo, \textcolor{keywordtype}{char} *cpKeyBuf, xbUInt32 uiPtr );}
+\DoxyCodeLine{518 xbInt16 UpdateTagKey( \textcolor{keywordtype}{char} cAction, \textcolor{keywordtype}{void} *vpTag, xbUInt32 ulRecNo = 0 );}
+\DoxyCodeLine{519 xbInt16 WriteHeadBlock( xbInt16 iOption );}
+\DoxyCodeLine{520 }
+\DoxyCodeLine{521 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{522 xbInt16 DumpTagBlocks( xbInt16 iOpt = 1, \textcolor{keywordtype}{void} *vpTag = NULL );}
+\DoxyCodeLine{523 xbInt16 DumpFreeBlocks( xbInt16 iOpt = 0 );}
+\DoxyCodeLine{524 xbInt16 DumpHeader( xbInt16 iOpt = 0, xbInt16 iFmtOpt = 0 );}
+\DoxyCodeLine{525 xbInt16 DumpIxForTag( \textcolor{keywordtype}{void} *vpTag, xbInt16 iOutputOpt );}
+\DoxyCodeLine{526 \textcolor{keywordtype}{void} DumpIxNodeChain( \textcolor{keywordtype}{void} *vpTag, xbInt16 iOutputOpt ) \textcolor{keyword}{const};}
+\DoxyCodeLine{527 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{528 }
+\DoxyCodeLine{529 }
+\DoxyCodeLine{530 xbMdxTag *mdxTagTbl;}
+\DoxyCodeLine{531 }
+\DoxyCodeLine{532 \textcolor{comment}{// MDX File Header Fields}}
+\DoxyCodeLine{533 \textcolor{keywordtype}{char} cVersion;}
+\DoxyCodeLine{534 \textcolor{keywordtype}{char} cCreateYY;}
+\DoxyCodeLine{535 \textcolor{keywordtype}{char} cCreateMM;}
+\DoxyCodeLine{536 \textcolor{keywordtype}{char} cCreateDD;}
+\DoxyCodeLine{537 xbString sFileName;}
+\DoxyCodeLine{538 xbInt16 iBlockFactor; \textcolor{comment}{// 1-\/32 \#of 512 byte segments in a block}}
+\DoxyCodeLine{539 }
+\DoxyCodeLine{540 \textcolor{comment}{// use file version}}
+\DoxyCodeLine{541 \textcolor{comment}{// xbInt16 iBlockSize; // Stored at the xbFile level}}
+\DoxyCodeLine{542 }
+\DoxyCodeLine{543 \textcolor{keywordtype}{char} cProdIxFlag;}
+\DoxyCodeLine{544 \textcolor{keywordtype}{char} cTagEntryCnt;}
+\DoxyCodeLine{545 xbInt16 iTagLen;}
+\DoxyCodeLine{546 xbInt16 iTagUseCnt;}
+\DoxyCodeLine{547 \textcolor{keywordtype}{char} cNextTag; \textcolor{comment}{// byte 28 +1}}
+\DoxyCodeLine{548 \textcolor{keywordtype}{char} c1B; \textcolor{comment}{// always 0x1B}}
+\DoxyCodeLine{549 xbUInt32 ulPageCnt; \textcolor{comment}{// number of 512 byte pages in the mdx file}}
+\DoxyCodeLine{550 xbUInt32 ulFirstFreePage; \textcolor{comment}{// page number corresponding to the next free block}}
+\DoxyCodeLine{551 xbUInt32 ulNoOfBlockAvail; \textcolor{comment}{// might be improperly named?? not sure how it is used}}
+\DoxyCodeLine{552 \textcolor{keywordtype}{char} cUpdateYY;}
+\DoxyCodeLine{553 \textcolor{keywordtype}{char} cUpdateMM;}
+\DoxyCodeLine{554 \textcolor{keywordtype}{char} cUpdateDD;}
+\DoxyCodeLine{555 \textcolor{comment}{// end of MDX Header fields}}
+\DoxyCodeLine{556 }
+\DoxyCodeLine{557 }
+\DoxyCodeLine{558 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bReuseEmptyNodes; \textcolor{comment}{// Reuese empty MDX nodes when all keys deleted?}}
+\DoxyCodeLine{559 \textcolor{comment}{// DBase 7.x and MS ODBC drivers do not reuse empty nodes, leaves them stranded in the file}}
+\DoxyCodeLine{560 \textcolor{comment}{// Codebase 6.x reuses empty nodes.}}
+\DoxyCodeLine{561 \textcolor{comment}{// Setting this to True will reuse empty nodes in the same manner Codebase 6.x reuses them.}}
+\DoxyCodeLine{562 }
+\DoxyCodeLine{563 }
+\DoxyCodeLine{564 \textcolor{keyword}{private}:}
+\DoxyCodeLine{565 xbInt16 AddKeyNewRoot( xbMdxTag *npTag, xbIxNode *npLeft, xbIxNode *npRight );}
+\DoxyCodeLine{566 \textcolor{keywordtype}{void} AppendNodeChain( \textcolor{keywordtype}{void} *vpTag, xbIxNode *npNode );}
+\DoxyCodeLine{567 xbUInt32 BlockToPage( xbUInt32 ulBlockNo );}
+\DoxyCodeLine{568 xbMdxTag *ClearTagTable();}
+\DoxyCodeLine{569 xbInt16 DumpBlock( xbInt16 iOpt, xbUInt32 ulBlockNo, xbMdxTag * mpTag );}
+\DoxyCodeLine{570 xbInt16 GetDbfPtr( \textcolor{keywordtype}{void} *vpTag, xbInt16 iKeyNo, xbIxNode *npNode, xbUInt32 \&ulDbfPtr ) \textcolor{keyword}{const};}
+\DoxyCodeLine{571 xbInt16 GetKeyPtr( \textcolor{keywordtype}{void} *vpTag, xbInt16 iKeyNo, xbIxNode *npNode, xbUInt32 \&ulKeyPtr ) \textcolor{keyword}{const};}
+\DoxyCodeLine{572 xbInt16 GetLastKeyForBlockNo( \textcolor{keywordtype}{void} *vpTag, xbUInt32 ulBlockNo, \textcolor{keywordtype}{char} *cpKeyBuf );}
+\DoxyCodeLine{573 xbInt16 HarvestEmptyNode( xbMdxTag *mpTag, xbIxNode *npNode, xbInt16 iOpt, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bHarvestRoot = \mbox{\hyperlink{xbtypes_8h_adc4b6ca5ad299f63675136d9e03938cc}{xbFalse}} );}
+\DoxyCodeLine{574 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsLeaf( \textcolor{keywordtype}{void} *vpTag, xbIxNode *npNode ) \textcolor{keyword}{const};}
+\DoxyCodeLine{575 xbInt16 KeySetPosAdd( xbMdxTag *mpTag, xbUInt32 ulAddKeyRecNo );}
+\DoxyCodeLine{576 xbInt16 KeySetPosDel( xbMdxTag *mpTag );}
+\DoxyCodeLine{577 xbInt16 LoadTagDetail( xbInt16 iOption, xbMdxTag *tte );}
+\DoxyCodeLine{578 xbUInt32 PageToBlock( xbUInt32 ulPageNo );}
+\DoxyCodeLine{579 xbInt16 TagSerialNo( xbInt16 iOption, xbMdxTag *mpTag );}
+\DoxyCodeLine{580 xbInt16 UpdateTagSize( xbMdxTag *mpTag, xbUInt32 ulTagSz );}
+\DoxyCodeLine{581 }
+\DoxyCodeLine{582 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{583 xbInt16 PrintKey( \textcolor{keywordtype}{void} *vpTag, xbIxNode *npNode, xbInt16 iKeyNo, xbInt16 iDepth, \textcolor{keywordtype}{char} cType, xbInt16 iOutputOpt );}
+\DoxyCodeLine{584 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{585 }
+\DoxyCodeLine{586 }
+\DoxyCodeLine{587 \};}
+\DoxyCodeLine{588 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{/* XB\_MDX\_SUPPORT */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{589 }
+\DoxyCodeLine{590 }
+\DoxyCodeLine{591 \textcolor{preprocessor}{\#ifdef XB\_TDX\_SUPPORT}}
+\DoxyCodeLine{592 }
+\DoxyCodeLine{593 \textcolor{keyword}{class }XBDLLEXPORT xbIxTdx : \textcolor{keyword}{public} xbIxMdx \{}
+\DoxyCodeLine{594 \textcolor{keyword}{public}:}
+\DoxyCodeLine{595 xbIxTdx( \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} * d );}
+\DoxyCodeLine{596 \string~xbIxTdx();}
+\DoxyCodeLine{597 }
+\DoxyCodeLine{598 xbInt16 CreateTag( \textcolor{keyword}{const} xbString \&sName, \textcolor{keyword}{const} xbString \&sKey, \textcolor{keyword}{const} xbString \&sFilter, xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverlay, \textcolor{keywordtype}{void} **vpTag );}
+\DoxyCodeLine{599 }
+\DoxyCodeLine{600 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{601 \textcolor{keyword}{friend} \textcolor{keyword}{class }\mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}};}
+\DoxyCodeLine{602 xbInt16 Close();}
+\DoxyCodeLine{603 xbInt16 DeleteTag( \textcolor{keywordtype}{void} *vpTag );}
+\DoxyCodeLine{604 }
+\DoxyCodeLine{605 \textcolor{keyword}{private}:}
+\DoxyCodeLine{606 \};}
+\DoxyCodeLine{607 }
+\DoxyCodeLine{608 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* XB\_TDX\_SUPPORT */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{609 }
+\DoxyCodeLine{610 }
+\DoxyCodeLine{611 \} \textcolor{comment}{/* namespace xb */}}
+\DoxyCodeLine{612 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{/* XB\_INDEX\_SUPPORT */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{613 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XB\_INDEX\_H\_\_ */}\textcolor{preprocessor}{}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbinsert_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbinsert_8cpp.tex
new file mode 100644
index 0000000..89624aa
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbinsert_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbinsert_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/sql/xbinsert.cpp File Reference}
+\label{xbinsert_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbinsert.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbinsert.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixbase_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixbase_8cpp.tex
new file mode 100644
index 0000000..ea21642
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixbase_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbixbase_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbixbase.cpp File Reference}
+\label{xbixbase_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbixbase.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbixbase.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixmdx_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixmdx_8cpp.tex
new file mode 100644
index 0000000..cc0f82b
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixmdx_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbixmdx_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbixmdx.cpp File Reference}
+\label{xbixmdx_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbixmdx.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbixmdx.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixndx_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixndx_8cpp.tex
new file mode 100644
index 0000000..a866f1e
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixndx_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbixndx_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbixndx.cpp File Reference}
+\label{xbixndx_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbixndx.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbixndx.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixtdx_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixtdx_8cpp.tex
new file mode 100644
index 0000000..403fb98
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbixtdx_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbixtdx_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbixtdx.cpp File Reference}
+\label{xbixtdx_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbixtdx.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbixtdx.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklst_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklst_8h.tex
new file mode 100644
index 0000000..24c4c5f
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklst_8h.tex
@@ -0,0 +1,2 @@
+\hypertarget{xblnklst_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xblnklst.h File Reference}
+\label{xblnklst_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblnklst.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblnklst.h}}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklst_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklst_8h_source.tex
new file mode 100644
index 0000000..7afdfce
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklst_8h_source.tex
@@ -0,0 +1,263 @@
+\hypertarget{xblnklst_8h_source}{}\doxysection{xblnklst.\+h}
+\label{xblnklst_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblnklst.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblnklst.h}}
+\mbox{\hyperlink{xblnklst_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xblnklst.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 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\_XBLNKLST\_H\_\_}}
+\DoxyCodeLine{18 \textcolor{preprocessor}{\#define \_\_XB\_XBLNKLST\_H\_\_}}
+\DoxyCodeLine{19 }
+\DoxyCodeLine{20 \textcolor{preprocessor}{\#ifdef XB\_LINKLIST\_SUPPORT}}
+\DoxyCodeLine{21 }
+\DoxyCodeLine{22 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{23 }
+\DoxyCodeLine{24 }
+\DoxyCodeLine{25 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{26 \textcolor{keyword}{class }XBDLLEXPORT xbLinkList \{}
+\DoxyCodeLine{27 \textcolor{keyword}{public}:}
+\DoxyCodeLine{28 xbLinkList();}
+\DoxyCodeLine{29 \string~xbLinkList();}
+\DoxyCodeLine{30 }
+\DoxyCodeLine{31 xbLinkListNode<xbNodeType> *GetHeadNode() \textcolor{keyword}{const};}
+\DoxyCodeLine{32 xbLinkListNode<xbNodeType> *GetEndNode() \textcolor{keyword}{const};}
+\DoxyCodeLine{33 xbLinkListNode<xbNodeType> *GetNodeForNo( xbUInt32 ulNodeNo ) \textcolor{keyword}{const};}
+\DoxyCodeLine{34 }
+\DoxyCodeLine{35 \textcolor{keywordtype}{void} Clear();}
+\DoxyCodeLine{36 xbUInt32 GetNodeCnt () \textcolor{keyword}{const};}
+\DoxyCodeLine{37 xbInt16 InsertAtEnd ( \textcolor{keyword}{const} xbNodeType \&xbLLN );}
+\DoxyCodeLine{38 xbInt16 InsertAtFront ( \textcolor{keyword}{const} xbNodeType \&xbLLN );}
+\DoxyCodeLine{39 xbInt16 RemoveByVal ( \textcolor{keyword}{const} xbNodeType \&xbLLN );}
+\DoxyCodeLine{40 xbInt16 RemoveFromEnd ();}
+\DoxyCodeLine{41 xbInt16 RemoveFromEnd ( xbNodeType \&xbLLN );}
+\DoxyCodeLine{42 xbInt16 RemoveFromFront( xbNodeType \&xbLLN );}
+\DoxyCodeLine{43 xbInt16 SearchFor ( \textcolor{keyword}{const} xbNodeType \&xbLLN );}
+\DoxyCodeLine{44 }
+\DoxyCodeLine{45 \textcolor{keyword}{private}:}
+\DoxyCodeLine{46 xbUInt32 ulNodeCnt;}
+\DoxyCodeLine{47 xbLinkListNode<xbNodeType> *llStartPtr;}
+\DoxyCodeLine{48 xbLinkListNode<xbNodeType> *llEndPtr;}
+\DoxyCodeLine{49 \};}
+\DoxyCodeLine{50 }
+\DoxyCodeLine{51 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{52 xbLinkList<xbNodeType>::xbLinkList()\{}
+\DoxyCodeLine{53 ulNodeCnt = 0;}
+\DoxyCodeLine{54 llStartPtr = NULL;}
+\DoxyCodeLine{55 llEndPtr = NULL;}
+\DoxyCodeLine{56 \}}
+\DoxyCodeLine{57 }
+\DoxyCodeLine{58 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{59 xbLinkList<xbNodeType>::\string~xbLinkList()\{}
+\DoxyCodeLine{60 Clear();}
+\DoxyCodeLine{61 \}}
+\DoxyCodeLine{62 }
+\DoxyCodeLine{63 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{64 \textcolor{keywordtype}{void} xbLinkList<xbNodeType>::Clear()\{}
+\DoxyCodeLine{65 xbLinkListNode<xbNodeType> *cPtr = llStartPtr, *tPtr;}
+\DoxyCodeLine{66 \textcolor{keywordflow}{for}( xbUInt32 i = 0; i < ulNodeCnt; i++ )\{}
+\DoxyCodeLine{67 tPtr = cPtr;}
+\DoxyCodeLine{68 cPtr = cPtr-\/>GetNextNode();}
+\DoxyCodeLine{69 \textcolor{keyword}{delete} tPtr;}
+\DoxyCodeLine{70 \}}
+\DoxyCodeLine{71 ulNodeCnt = 0;}
+\DoxyCodeLine{72 llStartPtr = NULL;}
+\DoxyCodeLine{73 llEndPtr = NULL;}
+\DoxyCodeLine{74 \}}
+\DoxyCodeLine{75 }
+\DoxyCodeLine{76 }
+\DoxyCodeLine{77 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{78 xbLinkListNode<xbNodeType> *xbLinkList<xbNodeType>::GetHeadNode()\textcolor{keyword}{ const}\{}
+\DoxyCodeLine{79 \textcolor{keywordflow}{return} llStartPtr;}
+\DoxyCodeLine{80 \}}
+\DoxyCodeLine{81 }
+\DoxyCodeLine{82 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{83 xbLinkListNode<xbNodeType> *xbLinkList<xbNodeType>::GetEndNode()\textcolor{keyword}{ const}\{}
+\DoxyCodeLine{84 \textcolor{keywordflow}{return} llEndPtr;}
+\DoxyCodeLine{85 \}}
+\DoxyCodeLine{86 }
+\DoxyCodeLine{87 }
+\DoxyCodeLine{88 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{89 xbLinkListNode<xbNodeType> *xbLinkList<xbNodeType>::GetNodeForNo( xbUInt32 ulNo )\textcolor{keyword}{ const}\{}
+\DoxyCodeLine{90 }
+\DoxyCodeLine{91 xbLinkListNode<xbNodeType> *cPtr = llStartPtr;}
+\DoxyCodeLine{92 xbUInt32 i;}
+\DoxyCodeLine{93 \textcolor{keywordflow}{for}( i = 0; i < ulNo \&\& i < ulNodeCnt; i++ )}
+\DoxyCodeLine{94 cPtr = cPtr-\/>GetNextNode();}
+\DoxyCodeLine{95 }
+\DoxyCodeLine{96 \textcolor{keywordflow}{if}( i == ulNo )}
+\DoxyCodeLine{97 \textcolor{keywordflow}{return} cPtr;}
+\DoxyCodeLine{98 \textcolor{keywordflow}{else} }
+\DoxyCodeLine{99 \textcolor{keywordflow}{return} 0;}
+\DoxyCodeLine{100 \}}
+\DoxyCodeLine{101 }
+\DoxyCodeLine{102 }
+\DoxyCodeLine{103 }
+\DoxyCodeLine{104 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{105 xbUInt32 xbLinkList<xbNodeType>::GetNodeCnt()\textcolor{keyword}{ const}\{}
+\DoxyCodeLine{106 \textcolor{keywordflow}{return} ulNodeCnt;}
+\DoxyCodeLine{107 \}}
+\DoxyCodeLine{108 }
+\DoxyCodeLine{109 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{110 xbInt16 xbLinkList<xbNodeType>::InsertAtFront( \textcolor{keyword}{const} xbNodeType \& ntKey )\{}
+\DoxyCodeLine{111 }
+\DoxyCodeLine{112 xbLinkListNode<xbNodeType> *p = \textcolor{keyword}{new} xbLinkListNode<xbNodeType>( ntKey );}
+\DoxyCodeLine{113 \textcolor{keywordflow}{if}( p == 0 )}
+\DoxyCodeLine{114 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ae687fc7d872ba0475a8477e4447f9b54}{XB\_NO\_MEMORY}};}
+\DoxyCodeLine{115 }
+\DoxyCodeLine{116 \textcolor{keywordflow}{if}( ulNodeCnt > 0 )\{}
+\DoxyCodeLine{117 llStartPtr-\/>SetPrevNode( p );}
+\DoxyCodeLine{118 p-\/>SetNextNode( llStartPtr );}
+\DoxyCodeLine{119 \} \textcolor{keywordflow}{else} \{}
+\DoxyCodeLine{120 llEndPtr = p;}
+\DoxyCodeLine{121 \}}
+\DoxyCodeLine{122 }
+\DoxyCodeLine{123 llStartPtr = p;}
+\DoxyCodeLine{124 ulNodeCnt++;}
+\DoxyCodeLine{125 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{126 \}}
+\DoxyCodeLine{127 }
+\DoxyCodeLine{128 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{129 xbInt16 xbLinkList<xbNodeType>::InsertAtEnd( \textcolor{keyword}{const} xbNodeType \& ntKey )\{}
+\DoxyCodeLine{130 }
+\DoxyCodeLine{131 xbLinkListNode<xbNodeType> *p = \textcolor{keyword}{new} xbLinkListNode<xbNodeType>( ntKey );}
+\DoxyCodeLine{132 \textcolor{keywordflow}{if}( p == 0 )}
+\DoxyCodeLine{133 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ae687fc7d872ba0475a8477e4447f9b54}{XB\_NO\_MEMORY}};}
+\DoxyCodeLine{134 }
+\DoxyCodeLine{135 \textcolor{keywordflow}{if}( ulNodeCnt > 0 )\{}
+\DoxyCodeLine{136 llEndPtr-\/>SetNextNode( p );}
+\DoxyCodeLine{137 p-\/>SetPrevNode( llEndPtr );}
+\DoxyCodeLine{138 llEndPtr = p;}
+\DoxyCodeLine{139 \} \textcolor{keywordflow}{else} \{}
+\DoxyCodeLine{140 llStartPtr = p;}
+\DoxyCodeLine{141 \}}
+\DoxyCodeLine{142 }
+\DoxyCodeLine{143 llEndPtr = p;}
+\DoxyCodeLine{144 ulNodeCnt++;}
+\DoxyCodeLine{145 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{146 \}}
+\DoxyCodeLine{147 }
+\DoxyCodeLine{148 }
+\DoxyCodeLine{149 }
+\DoxyCodeLine{150 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{151 xbInt16 xbLinkList<xbNodeType>::RemoveByVal( \textcolor{keyword}{const} xbNodeType \& ntKey )\{}
+\DoxyCodeLine{152 \textcolor{comment}{// Remove the first instance of ntKey from the node chain}}
+\DoxyCodeLine{153 xbLinkListNode<xbNodeType> *currPtr = llStartPtr;}
+\DoxyCodeLine{154 xbLinkListNode<xbNodeType> *prevPtr = NULL;}
+\DoxyCodeLine{155 }
+\DoxyCodeLine{156 \textcolor{keywordflow}{for}( xbUInt32 i = 0; i < ulNodeCnt; i++ )\{}
+\DoxyCodeLine{157 \textcolor{keywordflow}{if}( currPtr-\/>GetKey() == ntKey )\{}
+\DoxyCodeLine{158 \textcolor{keywordflow}{if}( prevPtr == NULL )\{ \textcolor{comment}{//then this is the first node}}
+\DoxyCodeLine{159 llStartPtr = currPtr-\/>GetNextNode();}
+\DoxyCodeLine{160 \textcolor{keywordflow}{if}( llStartPtr ) \textcolor{comment}{// if more than one link in the linked list}}
+\DoxyCodeLine{161 llStartPtr-\/>SetPrevNode( NULL );}
+\DoxyCodeLine{162 \textcolor{keyword}{delete} currPtr;}
+\DoxyCodeLine{163 ulNodeCnt-\/-\/;}
+\DoxyCodeLine{164 \textcolor{keywordflow}{return} i + 1;}
+\DoxyCodeLine{165 \}}
+\DoxyCodeLine{166 \textcolor{keywordflow}{else} \{}
+\DoxyCodeLine{167 prevPtr-\/>SetNextNode( currPtr-\/>GetNextNode());}
+\DoxyCodeLine{168 \textcolor{keywordflow}{if}( currPtr-\/>GetNextNode())}
+\DoxyCodeLine{169 currPtr-\/>GetNextNode()-\/>SetPrevNode( prevPtr );}
+\DoxyCodeLine{170 \textcolor{keyword}{delete} currPtr;}
+\DoxyCodeLine{171 ulNodeCnt-\/-\/;}
+\DoxyCodeLine{172 \textcolor{keywordflow}{return} i + 1;}
+\DoxyCodeLine{173 \}}
+\DoxyCodeLine{174 \}}
+\DoxyCodeLine{175 prevPtr = currPtr;}
+\DoxyCodeLine{176 currPtr = currPtr-\/>GetNextNode();}
+\DoxyCodeLine{177 \}}
+\DoxyCodeLine{178 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac2606659a54111334f5b02861e533700}{XB\_NOT\_FOUND}};}
+\DoxyCodeLine{179 \}}
+\DoxyCodeLine{180 }
+\DoxyCodeLine{181 }
+\DoxyCodeLine{182 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{183 xbInt16 xbLinkList<xbNodeType>::RemoveFromFront( xbNodeType \& ntKey )\{}
+\DoxyCodeLine{184 }
+\DoxyCodeLine{185 \textcolor{keywordflow}{if}( ulNodeCnt <= 0 )}
+\DoxyCodeLine{186 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_a13e6876470bd34c8c4e5533f115e04eb}{XB\_INVALID\_NODELINK}};}
+\DoxyCodeLine{187 xbLinkListNode<xbNodeType> *p = llStartPtr;}
+\DoxyCodeLine{188 llStartPtr = p-\/>GetNextNode();}
+\DoxyCodeLine{189 \textcolor{keywordflow}{if}( llStartPtr )}
+\DoxyCodeLine{190 llStartPtr-\/>SetPrevNode( NULL );}
+\DoxyCodeLine{191 ntKey = p-\/>GetKey();}
+\DoxyCodeLine{192 \textcolor{keyword}{delete} p;}
+\DoxyCodeLine{193 ulNodeCnt-\/-\/;}
+\DoxyCodeLine{194 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{195 \}}
+\DoxyCodeLine{196 }
+\DoxyCodeLine{197 }
+\DoxyCodeLine{198 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{199 xbInt16 xbLinkList<xbNodeType>::RemoveFromEnd( xbNodeType \& ntKey )\{}
+\DoxyCodeLine{200 }
+\DoxyCodeLine{201 \textcolor{keywordflow}{if}( ulNodeCnt <= 0 )}
+\DoxyCodeLine{202 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_a13e6876470bd34c8c4e5533f115e04eb}{XB\_INVALID\_NODELINK}};}
+\DoxyCodeLine{203 xbLinkListNode<xbNodeType> *p = llEndPtr;}
+\DoxyCodeLine{204 \textcolor{keywordflow}{if}( p-\/>GetPrevNode())\{}
+\DoxyCodeLine{205 llEndPtr = p-\/>GetPrevNode();}
+\DoxyCodeLine{206 llEndPtr-\/>SetNextNode( NULL );}
+\DoxyCodeLine{207 \} \textcolor{keywordflow}{else} \{}
+\DoxyCodeLine{208 \textcolor{comment}{// there are no more nodes}}
+\DoxyCodeLine{209 llStartPtr = NULL;}
+\DoxyCodeLine{210 llEndPtr = NULL;}
+\DoxyCodeLine{211 \}}
+\DoxyCodeLine{212 ntKey = p-\/>GetKey();}
+\DoxyCodeLine{213 \textcolor{keyword}{delete} p;}
+\DoxyCodeLine{214 ulNodeCnt-\/-\/;}
+\DoxyCodeLine{215 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{216 \}}
+\DoxyCodeLine{217 }
+\DoxyCodeLine{218 }
+\DoxyCodeLine{219 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{220 xbInt16 xbLinkList<xbNodeType>::RemoveFromEnd()\{}
+\DoxyCodeLine{221 }
+\DoxyCodeLine{222 \textcolor{keywordflow}{if}( ulNodeCnt <= 0 )}
+\DoxyCodeLine{223 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_a13e6876470bd34c8c4e5533f115e04eb}{XB\_INVALID\_NODELINK}};}
+\DoxyCodeLine{224 xbLinkListNode<xbNodeType> *p = llEndPtr;}
+\DoxyCodeLine{225 \textcolor{keywordflow}{if}( p-\/>GetPrevNode())\{}
+\DoxyCodeLine{226 llEndPtr = p-\/>GetPrevNode();}
+\DoxyCodeLine{227 llEndPtr-\/>SetNextNode( NULL );}
+\DoxyCodeLine{228 \} \textcolor{keywordflow}{else} \{}
+\DoxyCodeLine{229 \textcolor{comment}{// there are no more nodes}}
+\DoxyCodeLine{230 llStartPtr = NULL;}
+\DoxyCodeLine{231 llEndPtr = NULL;}
+\DoxyCodeLine{232 \}}
+\DoxyCodeLine{233 \textcolor{keyword}{delete} p-\/>GetKey();}
+\DoxyCodeLine{234 \textcolor{keyword}{delete} p;}
+\DoxyCodeLine{235 ulNodeCnt-\/-\/;}
+\DoxyCodeLine{236 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{237 \}}
+\DoxyCodeLine{238 }
+\DoxyCodeLine{239 }
+\DoxyCodeLine{240 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{241 xbInt16 xbLinkList<xbNodeType>::SearchFor( \textcolor{keyword}{const} xbNodeType \& ntKey )\{}
+\DoxyCodeLine{242 }
+\DoxyCodeLine{243 xbLinkListNode<xbNodeType> *cPtr = llStartPtr;}
+\DoxyCodeLine{244 \textcolor{keywordflow}{for}( xbUInt32 i = 0; i < ulNodeCnt; i++ )\{}
+\DoxyCodeLine{245 \textcolor{keywordflow}{if}( cPtr-\/>GetKey() == ntKey )}
+\DoxyCodeLine{246 \textcolor{keywordflow}{return} i+1;}
+\DoxyCodeLine{247 cPtr = cPtr-\/>GetNextNode();}
+\DoxyCodeLine{248 \}}
+\DoxyCodeLine{249 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{250 }
+\DoxyCodeLine{251 \}}
+\DoxyCodeLine{252 \} \textcolor{comment}{// namespace}}
+\DoxyCodeLine{253 }
+\DoxyCodeLine{254 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_LINKLIST\_SUPPORT}}
+\DoxyCodeLine{255 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_XBLNKLST\_H\_\_}}
+\DoxyCodeLine{256 }
+\DoxyCodeLine{257 }
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklstord_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklstord_8h.tex
new file mode 100644
index 0000000..a5a3847
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklstord_8h.tex
@@ -0,0 +1,2 @@
+\hypertarget{xblnklstord_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xblnklstord.h File Reference}
+\label{xblnklstord_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblnklstord.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblnklstord.h}}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklstord_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklstord_8h_source.tex
new file mode 100644
index 0000000..ab66e9c
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnklstord_8h_source.tex
@@ -0,0 +1,373 @@
+\hypertarget{xblnklstord_8h_source}{}\doxysection{xblnklstord.\+h}
+\label{xblnklstord_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblnklstord.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblnklstord.h}}
+\mbox{\hyperlink{xblnklstord_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xblnklstord.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,2019,2022 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{comment}{// Ordered link list}}
+\DoxyCodeLine{18 }
+\DoxyCodeLine{19 }
+\DoxyCodeLine{20 }
+\DoxyCodeLine{21 \textcolor{preprocessor}{\#ifndef \_\_XB\_XBLNKLSTORD\_H\_\_}}
+\DoxyCodeLine{22 \textcolor{preprocessor}{\#define \_\_XB\_XBLNKLSTORD\_H\_\_}}
+\DoxyCodeLine{23 }
+\DoxyCodeLine{24 \textcolor{preprocessor}{\#ifdef XB\_LINKLIST\_SUPPORT}}
+\DoxyCodeLine{25 }
+\DoxyCodeLine{26 }
+\DoxyCodeLine{27 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{28 }
+\DoxyCodeLine{29 }
+\DoxyCodeLine{30 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{31 \textcolor{keyword}{class }XBDLLEXPORT xbLinkListOrd \{}
+\DoxyCodeLine{32 \textcolor{keyword}{public}:}
+\DoxyCodeLine{33 xbLinkListOrd();}
+\DoxyCodeLine{34 \string~xbLinkListOrd();}
+\DoxyCodeLine{35 }
+\DoxyCodeLine{36 \textcolor{keywordtype}{void} Clear();}
+\DoxyCodeLine{37 xbLinkListNode<xbNodeType> *GetHeadNode() \textcolor{keyword}{const};}
+\DoxyCodeLine{38 xbLinkListNode<xbNodeType> *GetEndNode() \textcolor{keyword}{const};}
+\DoxyCodeLine{39 xbLinkListNode<xbNodeType> *GetNodeForKey( \textcolor{keyword}{const} xbString \&sKey ) \textcolor{keyword}{const};}
+\DoxyCodeLine{40 }
+\DoxyCodeLine{41 xbInt16 GetDataForKey ( \textcolor{keyword}{const} xbNodeType \&ntKey, xbString \&sData );}
+\DoxyCodeLine{42 }
+\DoxyCodeLine{43 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetDupKeys ();}
+\DoxyCodeLine{44 }
+\DoxyCodeLine{45 xbUInt32 GetNodeCnt () \textcolor{keyword}{const};}
+\DoxyCodeLine{46 xbUInt32 GetNodeCnt ( \textcolor{keyword}{const} xbString \&sNodeKey ) \textcolor{keyword}{const};}
+\DoxyCodeLine{47 xbInt16 InsertKey ( \textcolor{keyword}{const} xbNodeType \&ntKey );}
+\DoxyCodeLine{48 xbInt16 InsertKey ( \textcolor{keyword}{const} xbNodeType \&ntKey, \textcolor{keyword}{const} xbString \&sData );}
+\DoxyCodeLine{49 xbInt16 InsertKey ( \textcolor{keyword}{const} xbNodeType \&ntKey, xbUInt32 ulData );}
+\DoxyCodeLine{50 }
+\DoxyCodeLine{51 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} KeyExists ( \textcolor{keyword}{const} xbNodeType \&ntKey ) \textcolor{keyword}{const};}
+\DoxyCodeLine{52 xbInt16 RemoveKey ( \textcolor{keyword}{const} xbNodeType \&ntKey );}
+\DoxyCodeLine{53 xbInt16 RemoveFromEnd ( xbNodeType \&ntKey );}
+\DoxyCodeLine{54 xbInt16 RemoveFromFront( xbNodeType \&ntKey );}
+\DoxyCodeLine{55 xbInt16 RemoveFromFront();}
+\DoxyCodeLine{56 \textcolor{keywordtype}{void} SetDupKeys ( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bAllowDupKeys );}
+\DoxyCodeLine{57 xbInt16 UpdateForKey ( \textcolor{keyword}{const} xbNodeType \&ntKey, \textcolor{keyword}{const} xbString \&sData );}
+\DoxyCodeLine{58 }
+\DoxyCodeLine{59 }
+\DoxyCodeLine{60 \textcolor{keyword}{private}:}
+\DoxyCodeLine{61 xbUInt32 ulNodeCnt;}
+\DoxyCodeLine{62 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bAllowDupKeys;}
+\DoxyCodeLine{63 xbLinkListNode<xbNodeType> *llStartPtr;}
+\DoxyCodeLine{64 xbLinkListNode<xbNodeType> *llEndPtr;}
+\DoxyCodeLine{65 }
+\DoxyCodeLine{66 \};}
+\DoxyCodeLine{67 }
+\DoxyCodeLine{68 }
+\DoxyCodeLine{69 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{70 xbLinkListOrd<xbNodeType>::xbLinkListOrd()\{}
+\DoxyCodeLine{71 bAllowDupKeys = \mbox{\hyperlink{xbtypes_8h_ab0ae00665298fe7f5292691cb98ec2d9}{xbTrue}}; \textcolor{comment}{// default setting -\/ allow duplicate keys}}
+\DoxyCodeLine{72 ulNodeCnt = 0;}
+\DoxyCodeLine{73 llStartPtr = NULL;}
+\DoxyCodeLine{74 llEndPtr = NULL;}
+\DoxyCodeLine{75 \}}
+\DoxyCodeLine{76 }
+\DoxyCodeLine{77 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{78 xbLinkListOrd<xbNodeType>::\string~xbLinkListOrd()\{}
+\DoxyCodeLine{79 Clear();}
+\DoxyCodeLine{80 \}}
+\DoxyCodeLine{81 }
+\DoxyCodeLine{82 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{83 \textcolor{keywordtype}{void} xbLinkListOrd<xbNodeType>::Clear()\{}
+\DoxyCodeLine{84 xbLinkListNode<xbNodeType> *cPtr = llStartPtr, *tPtr;}
+\DoxyCodeLine{85 \textcolor{keywordflow}{for}( xbUInt32 i = 0; i < ulNodeCnt; i++ )\{}
+\DoxyCodeLine{86 tPtr = cPtr;}
+\DoxyCodeLine{87 cPtr = cPtr-\/>GetNextNode();}
+\DoxyCodeLine{88 }
+\DoxyCodeLine{89 \textcolor{comment}{// next line might cause seg faults}}
+\DoxyCodeLine{90 \textcolor{comment}{// delete tPtr-\/>GetData();}}
+\DoxyCodeLine{91 }
+\DoxyCodeLine{92 \textcolor{keyword}{delete} tPtr;}
+\DoxyCodeLine{93 \}}
+\DoxyCodeLine{94 ulNodeCnt = 0;}
+\DoxyCodeLine{95 llStartPtr = NULL;}
+\DoxyCodeLine{96 llEndPtr = NULL;}
+\DoxyCodeLine{97 \}}
+\DoxyCodeLine{98 }
+\DoxyCodeLine{99 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{100 xbLinkListNode<xbNodeType> * xbLinkListOrd<xbNodeType>::GetHeadNode()\textcolor{keyword}{ const}\{}
+\DoxyCodeLine{101 \textcolor{keywordflow}{return} llStartPtr;}
+\DoxyCodeLine{102 \}}
+\DoxyCodeLine{103 }
+\DoxyCodeLine{104 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{105 xbLinkListNode<xbNodeType> * xbLinkListOrd<xbNodeType>::GetEndNode()\textcolor{keyword}{ const}\{}
+\DoxyCodeLine{106 \textcolor{keywordflow}{return} llEndPtr;}
+\DoxyCodeLine{107 \}}
+\DoxyCodeLine{108 }
+\DoxyCodeLine{109 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{110 xbUInt32 xbLinkListOrd<xbNodeType>::GetNodeCnt()\textcolor{keyword}{ const}\{}
+\DoxyCodeLine{111 \textcolor{keywordflow}{return} ulNodeCnt;}
+\DoxyCodeLine{112 \}}
+\DoxyCodeLine{113 }
+\DoxyCodeLine{114 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{115 xbUInt32 xbLinkListOrd<xbNodeType>::GetNodeCnt( \textcolor{keyword}{const} xbString \&sNodeKey )\textcolor{keyword}{ const}\{}
+\DoxyCodeLine{116 }
+\DoxyCodeLine{117 \textcolor{comment}{// won't work if nodekey is not a string}}
+\DoxyCodeLine{118 xbLinkListNode<xbNodeType> *currPtr = llStartPtr;}
+\DoxyCodeLine{119 \textcolor{comment}{// skip to sNodeKey}}
+\DoxyCodeLine{120 \textcolor{keywordflow}{while}( currPtr \&\& ( sNodeKey > currPtr-\/>GetKey())) \{}
+\DoxyCodeLine{121 currPtr = currPtr-\/>GetNextNode();}
+\DoxyCodeLine{122 \}}
+\DoxyCodeLine{123 \textcolor{comment}{// count entries for sNodeKey}}
+\DoxyCodeLine{124 xbInt16 iKeyCnt = 0;}
+\DoxyCodeLine{125 \textcolor{keywordflow}{while}( currPtr \&\& ( sNodeKey == currPtr-\/>GetKey())) \{}
+\DoxyCodeLine{126 iKeyCnt++;}
+\DoxyCodeLine{127 currPtr = currPtr-\/>GetNextNode();}
+\DoxyCodeLine{128 \}}
+\DoxyCodeLine{129 \textcolor{keywordflow}{return} iKeyCnt;}
+\DoxyCodeLine{130 \}}
+\DoxyCodeLine{131 }
+\DoxyCodeLine{132 }
+\DoxyCodeLine{133 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{134 xbInt16 xbLinkListOrd<xbNodeType>::InsertKey( \textcolor{keyword}{const} xbNodeType \&ntKey )\{}
+\DoxyCodeLine{135 xbString s;}
+\DoxyCodeLine{136 \textcolor{keywordflow}{return} InsertKey( ntKey, s );}
+\DoxyCodeLine{137 \}}
+\DoxyCodeLine{138 }
+\DoxyCodeLine{139 }
+\DoxyCodeLine{140 }
+\DoxyCodeLine{141 }
+\DoxyCodeLine{142 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{143 xbInt16 xbLinkListOrd<xbNodeType>::InsertKey( \textcolor{keyword}{const} xbNodeType \&ntKey, xbUInt32 ul )\{}
+\DoxyCodeLine{144 }
+\DoxyCodeLine{145 xbString s;}
+\DoxyCodeLine{146 s.Sprintf( \textcolor{stringliteral}{"{}\%ld"{}}, ul );}
+\DoxyCodeLine{147 \textcolor{keywordflow}{return} InsertKey( ntKey, s );}
+\DoxyCodeLine{148 \}}
+\DoxyCodeLine{149 }
+\DoxyCodeLine{150 }
+\DoxyCodeLine{151 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{152 xbInt16 xbLinkListOrd<xbNodeType>::InsertKey( \textcolor{keyword}{const} xbNodeType \&ntKey, \textcolor{keyword}{const} xbString \&sData )\{}
+\DoxyCodeLine{153 }
+\DoxyCodeLine{154 xbLinkListNode<xbNodeType> *p = \textcolor{keyword}{new} xbLinkListNode<xbNodeType>( ntKey, sData );}
+\DoxyCodeLine{155 \textcolor{keywordflow}{if}( p == 0 )}
+\DoxyCodeLine{156 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ae687fc7d872ba0475a8477e4447f9b54}{XB\_NO\_MEMORY}};}
+\DoxyCodeLine{157 }
+\DoxyCodeLine{158 \textcolor{keywordflow}{if}( ulNodeCnt > 0 )\{}
+\DoxyCodeLine{159 xbLinkListNode<xbNodeType> *currPtr = llStartPtr;}
+\DoxyCodeLine{160 xbLinkListNode<xbNodeType> *prevPtr = NULL;}
+\DoxyCodeLine{161 }
+\DoxyCodeLine{162 \textcolor{comment}{// find location in the chain}}
+\DoxyCodeLine{163 \textcolor{keywordflow}{while}( currPtr \&\& ntKey > currPtr-\/>GetKey() )\{}
+\DoxyCodeLine{164 prevPtr = currPtr;}
+\DoxyCodeLine{165 currPtr = currPtr-\/>GetNextNode();}
+\DoxyCodeLine{166 \}}
+\DoxyCodeLine{167 \textcolor{keywordflow}{if}( currPtr \&\& ntKey == currPtr-\/>GetKey() \&\& bAllowDupKeys == 0 )\{}
+\DoxyCodeLine{168 \textcolor{keyword}{delete} p;}
+\DoxyCodeLine{169 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ad60dbb1862c0c1c2dc0464cfbfd93a34}{XB\_KEY\_NOT\_UNIQUE}};}
+\DoxyCodeLine{170 \}}
+\DoxyCodeLine{171 }
+\DoxyCodeLine{172 \textcolor{keywordflow}{if}( currPtr == NULL )\{}
+\DoxyCodeLine{173 \textcolor{comment}{// std::cout << "{}at the end of the chain\(\backslash\)n"{};}}
+\DoxyCodeLine{174 llEndPtr = p;}
+\DoxyCodeLine{175 prevPtr-\/>SetNextNode( p );}
+\DoxyCodeLine{176 p-\/>SetPrevNode( prevPtr );}
+\DoxyCodeLine{177 }
+\DoxyCodeLine{178 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if}( currPtr-\/>GetPrevNode() == NULL )\{}
+\DoxyCodeLine{179 \textcolor{comment}{// std::cout << "{}at the beginning of the chain\(\backslash\)n"{};}}
+\DoxyCodeLine{180 p-\/>SetNextNode( llStartPtr );}
+\DoxyCodeLine{181 llStartPtr-\/>SetPrevNode( p );}
+\DoxyCodeLine{182 llStartPtr = p;}
+\DoxyCodeLine{183 }
+\DoxyCodeLine{184 \} \textcolor{keywordflow}{else} \{}
+\DoxyCodeLine{185 \textcolor{comment}{// std::cout << "{}in the middle of the chain\(\backslash\)n"{};}}
+\DoxyCodeLine{186 p-\/>SetNextNode( currPtr ); }
+\DoxyCodeLine{187 p-\/>SetPrevNode( currPtr-\/>GetPrevNode());}
+\DoxyCodeLine{188 currPtr-\/>SetPrevNode( p );}
+\DoxyCodeLine{189 prevPtr-\/>SetNextNode( p );}
+\DoxyCodeLine{190 \}}
+\DoxyCodeLine{191 \} \textcolor{keywordflow}{else} \{}
+\DoxyCodeLine{192 \textcolor{comment}{// std::cout << "{}first addition to the chain\(\backslash\)n"{};}}
+\DoxyCodeLine{193 llStartPtr = p;}
+\DoxyCodeLine{194 llEndPtr = p;}
+\DoxyCodeLine{195 \}}
+\DoxyCodeLine{196 ulNodeCnt++;}
+\DoxyCodeLine{197 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{198 \}}
+\DoxyCodeLine{199 }
+\DoxyCodeLine{200 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{201 xbInt16 xbLinkListOrd<xbNodeType>::RemoveKey( \textcolor{keyword}{const} xbNodeType \&ntKey )\{}
+\DoxyCodeLine{202 \textcolor{comment}{// Remove the first instance of ntKey from the node chain}}
+\DoxyCodeLine{203 xbLinkListNode<xbNodeType> *currPtr = llStartPtr;}
+\DoxyCodeLine{204 xbLinkListNode<xbNodeType> *prevPtr = NULL;}
+\DoxyCodeLine{205 }
+\DoxyCodeLine{206 \textcolor{keywordflow}{while}( currPtr \&\& ntKey > currPtr-\/>GetKey() )\{}
+\DoxyCodeLine{207 prevPtr = currPtr;}
+\DoxyCodeLine{208 currPtr = currPtr-\/>GetNextNode();}
+\DoxyCodeLine{209 \}}
+\DoxyCodeLine{210 }
+\DoxyCodeLine{211 \textcolor{keywordflow}{if}( currPtr \&\& ntKey == currPtr-\/>GetKey())\{}
+\DoxyCodeLine{212 \textcolor{comment}{// ntKey = currPtr-\/>GetKey();}}
+\DoxyCodeLine{213 \textcolor{keywordflow}{if}( prevPtr == NULL )\{ \textcolor{comment}{// this is the first node}}
+\DoxyCodeLine{214 llStartPtr = currPtr-\/>GetNextNode();}
+\DoxyCodeLine{215 \textcolor{comment}{// next line fails}}
+\DoxyCodeLine{216 \textcolor{keywordflow}{if}( llStartPtr )\{}
+\DoxyCodeLine{217 llStartPtr-\/>SetPrevNode( NULL );}
+\DoxyCodeLine{218 \}}
+\DoxyCodeLine{219 \textcolor{keyword}{delete} currPtr;}
+\DoxyCodeLine{220 ulNodeCnt-\/-\/;}
+\DoxyCodeLine{221 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{222 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if}( currPtr-\/>GetNextNode() == NULL )\{ \textcolor{comment}{// this is the last node}}
+\DoxyCodeLine{223 llEndPtr = prevPtr;}
+\DoxyCodeLine{224 prevPtr-\/>SetNextNode( NULL );}
+\DoxyCodeLine{225 \textcolor{keyword}{delete} currPtr;}
+\DoxyCodeLine{226 ulNodeCnt-\/-\/;}
+\DoxyCodeLine{227 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{228 \} \textcolor{keywordflow}{else} \{}
+\DoxyCodeLine{229 }
+\DoxyCodeLine{230 prevPtr-\/>SetNextNode( currPtr-\/>GetNextNode());}
+\DoxyCodeLine{231 currPtr-\/>GetNextNode()-\/>SetPrevNode( prevPtr );}
+\DoxyCodeLine{232 \textcolor{keyword}{delete} currPtr;}
+\DoxyCodeLine{233 ulNodeCnt-\/-\/;}
+\DoxyCodeLine{234 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{235 \}}
+\DoxyCodeLine{236 \} \textcolor{keywordflow}{else} \{}
+\DoxyCodeLine{237 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac2606659a54111334f5b02861e533700}{XB\_NOT\_FOUND}};}
+\DoxyCodeLine{238 \}}
+\DoxyCodeLine{239 \}}
+\DoxyCodeLine{240 }
+\DoxyCodeLine{241 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{242 xbInt16 xbLinkListOrd<xbNodeType>::RemoveFromFront( xbNodeType \&ntKey )\{}
+\DoxyCodeLine{243 }
+\DoxyCodeLine{244 \textcolor{keywordflow}{if}( ulNodeCnt <= 0 )}
+\DoxyCodeLine{245 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_a13e6876470bd34c8c4e5533f115e04eb}{XB\_INVALID\_NODELINK}};}
+\DoxyCodeLine{246 xbLinkListNode<xbNodeType> *p = llStartPtr;}
+\DoxyCodeLine{247 llStartPtr = p-\/>GetNextNode();}
+\DoxyCodeLine{248 \textcolor{keywordflow}{if}( llStartPtr )}
+\DoxyCodeLine{249 llStartPtr-\/>SetPrevNode( NULL );}
+\DoxyCodeLine{250 ntKey = p-\/>GetKey();}
+\DoxyCodeLine{251 \textcolor{keyword}{delete} p;}
+\DoxyCodeLine{252 ulNodeCnt-\/-\/;}
+\DoxyCodeLine{253 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{254 \}}
+\DoxyCodeLine{255 }
+\DoxyCodeLine{256 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{257 xbInt16 xbLinkListOrd<xbNodeType>::RemoveFromFront()\{}
+\DoxyCodeLine{258 }
+\DoxyCodeLine{259 \textcolor{keywordflow}{if}( ulNodeCnt <= 0 )}
+\DoxyCodeLine{260 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_a13e6876470bd34c8c4e5533f115e04eb}{XB\_INVALID\_NODELINK}};}
+\DoxyCodeLine{261 xbLinkListNode<xbNodeType> *p = llStartPtr;}
+\DoxyCodeLine{262 llStartPtr = p-\/>GetNextNode();}
+\DoxyCodeLine{263 \textcolor{keywordflow}{if}( llStartPtr )}
+\DoxyCodeLine{264 llStartPtr-\/>SetPrevNode( NULL );}
+\DoxyCodeLine{265 }
+\DoxyCodeLine{266 \textcolor{keywordflow}{if}( p-\/>GetKey())}
+\DoxyCodeLine{267 \textcolor{keyword}{delete} p-\/>GetKey();}
+\DoxyCodeLine{268 }
+\DoxyCodeLine{269 \textcolor{keyword}{delete} p;}
+\DoxyCodeLine{270 ulNodeCnt-\/-\/;}
+\DoxyCodeLine{271 }
+\DoxyCodeLine{272 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{273 \}}
+\DoxyCodeLine{274 }
+\DoxyCodeLine{275 }
+\DoxyCodeLine{276 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{277 xbInt16 xbLinkListOrd<xbNodeType>::RemoveFromEnd( xbNodeType \&ntKey )\{}
+\DoxyCodeLine{278 }
+\DoxyCodeLine{279 \textcolor{keywordflow}{if}( ulNodeCnt <= 0 )}
+\DoxyCodeLine{280 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_a13e6876470bd34c8c4e5533f115e04eb}{XB\_INVALID\_NODELINK}};}
+\DoxyCodeLine{281 xbLinkListNode<xbNodeType> *p = llEndPtr;}
+\DoxyCodeLine{282 llEndPtr = p-\/>GetPrevNode();}
+\DoxyCodeLine{283 llEndPtr-\/>SetNextNode( NULL );}
+\DoxyCodeLine{284 ntKey = p-\/>GetKey();}
+\DoxyCodeLine{285 \textcolor{keyword}{delete} p;}
+\DoxyCodeLine{286 ulNodeCnt-\/-\/;}
+\DoxyCodeLine{287 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{288 \}}
+\DoxyCodeLine{289 }
+\DoxyCodeLine{290 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{291 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} xbLinkListOrd<xbNodeType>::GetDupKeys()\{}
+\DoxyCodeLine{292 \textcolor{keywordflow}{return} bAllowDupKeys;}
+\DoxyCodeLine{293 \}}
+\DoxyCodeLine{294 }
+\DoxyCodeLine{295 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{296 \textcolor{keywordtype}{void} xbLinkListOrd<xbNodeType>::SetDupKeys( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bAllowDupKeys )\{}
+\DoxyCodeLine{297 this-\/>bAllowDupKeys = bAllowDupKeys;}
+\DoxyCodeLine{298 \}}
+\DoxyCodeLine{299 }
+\DoxyCodeLine{300 }
+\DoxyCodeLine{301 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{302 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} xbLinkListOrd<xbNodeType>::KeyExists( \textcolor{keyword}{const} xbNodeType \&ntKey )\textcolor{keyword}{ const }\{}
+\DoxyCodeLine{303 }
+\DoxyCodeLine{304 xbLinkListNode<xbNodeType> *currPtr = llStartPtr;}
+\DoxyCodeLine{305 \textcolor{keywordflow}{while}( currPtr \&\& ntKey > currPtr-\/>GetKey() )\{}
+\DoxyCodeLine{306 currPtr = currPtr-\/>GetNextNode();}
+\DoxyCodeLine{307 \}}
+\DoxyCodeLine{308 \textcolor{keywordflow}{if}( currPtr \&\& ntKey == currPtr-\/>GetKey())\{}
+\DoxyCodeLine{309 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbtypes_8h_ab0ae00665298fe7f5292691cb98ec2d9}{xbTrue}};}
+\DoxyCodeLine{310 \} \textcolor{keywordflow}{else} \{}
+\DoxyCodeLine{311 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbtypes_8h_adc4b6ca5ad299f63675136d9e03938cc}{xbFalse}};}
+\DoxyCodeLine{312 \}}
+\DoxyCodeLine{313 \}}
+\DoxyCodeLine{314 }
+\DoxyCodeLine{315 }
+\DoxyCodeLine{316 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{317 xbInt16 xbLinkListOrd<xbNodeType>::GetDataForKey( \textcolor{keyword}{const} xbNodeType \&ntKey, xbString \&sData )\{}
+\DoxyCodeLine{318 }
+\DoxyCodeLine{319 xbLinkListNode<xbNodeType> *currPtr = llStartPtr;}
+\DoxyCodeLine{320 \textcolor{keywordflow}{while}( currPtr \&\& ntKey > currPtr-\/>GetKey() )\{}
+\DoxyCodeLine{321 currPtr = currPtr-\/>GetNextNode();}
+\DoxyCodeLine{322 \}}
+\DoxyCodeLine{323 }
+\DoxyCodeLine{324 \textcolor{keywordflow}{if}( currPtr \&\& ntKey == currPtr-\/>GetKey())\{}
+\DoxyCodeLine{325 sData = currPtr-\/>GetData();}
+\DoxyCodeLine{326 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{327 \} \textcolor{keywordflow}{else} \{}
+\DoxyCodeLine{328 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac2606659a54111334f5b02861e533700}{XB\_NOT\_FOUND}};}
+\DoxyCodeLine{329 \}}
+\DoxyCodeLine{330 \}}
+\DoxyCodeLine{331 }
+\DoxyCodeLine{332 }
+\DoxyCodeLine{333 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{334 xbInt16 xbLinkListOrd<xbNodeType>::UpdateForKey( \textcolor{keyword}{const} xbNodeType \&ntKey, \textcolor{keyword}{const} xbString \&sData )\{}
+\DoxyCodeLine{335 }
+\DoxyCodeLine{336 \textcolor{keywordflow}{if}( ulNodeCnt == 0 )}
+\DoxyCodeLine{337 \textcolor{keywordflow}{return} InsertKey( ntKey, sData );}
+\DoxyCodeLine{338 xbLinkListNode<xbNodeType> * currPtr = llStartPtr;}
+\DoxyCodeLine{339 xbLinkListNode<xbNodeType> * prevPtr = NULL;}
+\DoxyCodeLine{340 \textcolor{keywordflow}{while}( currPtr \&\& ntKey > currPtr-\/>GetKey() ) \{}
+\DoxyCodeLine{341 prevPtr = currPtr;}
+\DoxyCodeLine{342 currPtr = currPtr-\/>GetNextNode();}
+\DoxyCodeLine{343 \}}
+\DoxyCodeLine{344 }
+\DoxyCodeLine{345 \textcolor{keywordflow}{if}( currPtr \&\& ntKey == currPtr-\/>GetKey() ) \{}
+\DoxyCodeLine{346 xbLinkListNode<xbNodeType> *p = \textcolor{keyword}{new} xbLinkListNode<xbNodeType>( ntKey, sData );}
+\DoxyCodeLine{347 \textcolor{keywordflow}{if}( prevPtr )}
+\DoxyCodeLine{348 prevPtr-\/>SetNextNode( p );}
+\DoxyCodeLine{349 \textcolor{keywordflow}{else}}
+\DoxyCodeLine{350 llStartPtr = p;}
+\DoxyCodeLine{351 p-\/>SetNextNode( currPtr-\/>GetNextNode() );}
+\DoxyCodeLine{352 p-\/>SetPrevNode( currPtr-\/>GetPrevNode() );}
+\DoxyCodeLine{353 \textcolor{keyword}{delete} currPtr;}
+\DoxyCodeLine{354 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
+\DoxyCodeLine{355 \}}
+\DoxyCodeLine{356 }
+\DoxyCodeLine{357 \textcolor{keywordflow}{return} InsertKey( ntKey, sData );}
+\DoxyCodeLine{358 }
+\DoxyCodeLine{359 \textcolor{comment}{// return 0;}}
+\DoxyCodeLine{360 \}}
+\DoxyCodeLine{361 }
+\DoxyCodeLine{362 \} \textcolor{comment}{// namespace}}
+\DoxyCodeLine{363 }
+\DoxyCodeLine{364 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_LINKLIST\_SUPPORT}}
+\DoxyCodeLine{365 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_XBLNKLSTORD\_H\_\_}}
+\DoxyCodeLine{366 }
+\DoxyCodeLine{367 }
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnknod_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnknod_8h.tex
new file mode 100644
index 0000000..cccd96b
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnknod_8h.tex
@@ -0,0 +1,2 @@
+\hypertarget{xblnknod_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xblnknod.h File Reference}
+\label{xblnknod_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblnknod.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblnknod.h}}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnknod_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnknod_8h_source.tex
new file mode 100644
index 0000000..911fcbc
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblnknod_8h_source.tex
@@ -0,0 +1,100 @@
+\hypertarget{xblnknod_8h_source}{}\doxysection{xblnknod.\+h}
+\label{xblnknod_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblnknod.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblnknod.h}}
+\mbox{\hyperlink{xblnknod_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xblnknod.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 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\_XBLNKNOD\_H\_\_}}
+\DoxyCodeLine{18 \textcolor{preprocessor}{\#define \_\_XB\_XBLNKNOD\_H\_\_}}
+\DoxyCodeLine{19 }
+\DoxyCodeLine{20 }
+\DoxyCodeLine{21 }
+\DoxyCodeLine{22 \textcolor{preprocessor}{\#ifdef XB\_LINKLIST\_SUPPORT}}
+\DoxyCodeLine{23 }
+\DoxyCodeLine{24 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{25 }
+\DoxyCodeLine{26 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{27 \textcolor{keyword}{class }XBDLLEXPORT xbLinkListNode \{}
+\DoxyCodeLine{28 \textcolor{keyword}{public}:}
+\DoxyCodeLine{29 xbLinkListNode( \textcolor{keyword}{const} xbNodeType \& );}
+\DoxyCodeLine{30 xbLinkListNode( \textcolor{keyword}{const} xbNodeType \&, \textcolor{keyword}{const} xbString \& );}
+\DoxyCodeLine{31 xbNodeType GetKey() \textcolor{keyword}{const};}
+\DoxyCodeLine{32 xbString \&GetData();}
+\DoxyCodeLine{33 xbLinkListNode<xbNodeType> *GetNextNode() \textcolor{keyword}{const};}
+\DoxyCodeLine{34 xbLinkListNode<xbNodeType> *GetPrevNode() \textcolor{keyword}{const};}
+\DoxyCodeLine{35 \textcolor{keywordtype}{void} SetNextNode( xbLinkListNode<xbNodeType> *llNext );}
+\DoxyCodeLine{36 \textcolor{keywordtype}{void} SetPrevNode( xbLinkListNode<xbNodeType> *llPrev );}
+\DoxyCodeLine{37 }
+\DoxyCodeLine{38 \textcolor{keyword}{private}:}
+\DoxyCodeLine{39 xbNodeType ntKey;}
+\DoxyCodeLine{40 xbString sData;}
+\DoxyCodeLine{41 xbLinkListNode *llNext;}
+\DoxyCodeLine{42 xbLinkListNode *llPrev;}
+\DoxyCodeLine{43 \};}
+\DoxyCodeLine{44 }
+\DoxyCodeLine{45 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{46 xbLinkListNode<xbNodeType>::xbLinkListNode( \textcolor{keyword}{const} xbNodeType \&key )\{}
+\DoxyCodeLine{47 ntKey = key;}
+\DoxyCodeLine{48 llNext = NULL;}
+\DoxyCodeLine{49 llPrev = NULL;}
+\DoxyCodeLine{50 \}}
+\DoxyCodeLine{51 }
+\DoxyCodeLine{52 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{53 xbLinkListNode<xbNodeType>::xbLinkListNode( \textcolor{keyword}{const} xbNodeType \&key, \textcolor{keyword}{const} xbString \&s )\{}
+\DoxyCodeLine{54 ntKey = key;}
+\DoxyCodeLine{55 sData = s;}
+\DoxyCodeLine{56 llNext = NULL;}
+\DoxyCodeLine{57 llPrev = NULL;}
+\DoxyCodeLine{58 \}}
+\DoxyCodeLine{59 }
+\DoxyCodeLine{60 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{61 xbNodeType xbLinkListNode<xbNodeType>::GetKey()\textcolor{keyword}{ const }\{}
+\DoxyCodeLine{62 \textcolor{keywordflow}{return} ntKey;}
+\DoxyCodeLine{63 \}}
+\DoxyCodeLine{64 }
+\DoxyCodeLine{65 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{66 xbString \&xbLinkListNode<xbNodeType>::GetData()\{}
+\DoxyCodeLine{67 \textcolor{keywordflow}{return} sData;}
+\DoxyCodeLine{68 \}}
+\DoxyCodeLine{69 }
+\DoxyCodeLine{70 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{71 xbLinkListNode<xbNodeType> *xbLinkListNode<xbNodeType>::GetNextNode()\textcolor{keyword}{ const }\{}
+\DoxyCodeLine{72 \textcolor{keywordflow}{return} llNext;}
+\DoxyCodeLine{73 \}}
+\DoxyCodeLine{74 }
+\DoxyCodeLine{75 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{76 xbLinkListNode<xbNodeType> *xbLinkListNode<xbNodeType>::GetPrevNode()\textcolor{keyword}{ const }\{}
+\DoxyCodeLine{77 \textcolor{keywordflow}{return} llPrev;}
+\DoxyCodeLine{78 \}}
+\DoxyCodeLine{79 }
+\DoxyCodeLine{80 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{81 \textcolor{keywordtype}{void} xbLinkListNode<xbNodeType>::SetNextNode( xbLinkListNode<xbNodeType> *lln )\{}
+\DoxyCodeLine{82 llNext = lln;}
+\DoxyCodeLine{83 \}}
+\DoxyCodeLine{84 }
+\DoxyCodeLine{85 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
+\DoxyCodeLine{86 \textcolor{keywordtype}{void} xbLinkListNode<xbNodeType>::SetPrevNode( xbLinkListNode<xbNodeType> *llp )\{}
+\DoxyCodeLine{87 llPrev = llp;}
+\DoxyCodeLine{88 \}}
+\DoxyCodeLine{89 }
+\DoxyCodeLine{90 \} \textcolor{comment}{// namespace}}
+\DoxyCodeLine{91 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_LINKLIST\_SUPPORT}}
+\DoxyCodeLine{92 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_XBLNKNOD\_H\_\_}}
+\DoxyCodeLine{93 }
+\DoxyCodeLine{94 }
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblog_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblog_8cpp.tex
new file mode 100644
index 0000000..38f3fb7
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblog_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xblog_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xblog.cpp File Reference}
+\label{xblog_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xblog.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xblog.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblog_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblog_8h.tex
new file mode 100644
index 0000000..1317096
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblog_8h.tex
@@ -0,0 +1,7 @@
+\hypertarget{xblog_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xblog.h File Reference}
+\label{xblog_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblog.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblog.h}}
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblog_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblog_8h_source.tex
new file mode 100644
index 0000000..bd8ac89
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xblog_8h_source.tex
@@ -0,0 +1,60 @@
+\hypertarget{xblog_8h_source}{}\doxysection{xblog.\+h}
+\label{xblog_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblog.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xblog.h}}
+\mbox{\hyperlink{xblog_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xblog.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 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 \textcolor{preprocessor}{\#ifndef \_\_XB\_XBLOG\_H\_\_}}
+\DoxyCodeLine{17 \textcolor{preprocessor}{\#define \_\_XB\_XBLOG\_H\_\_}}
+\DoxyCodeLine{18 }
+\DoxyCodeLine{19 \textcolor{preprocessor}{\#ifdef CMAKE\_COMPILER\_IS\_GNUCC}}
+\DoxyCodeLine{20 \textcolor{preprocessor}{\#pragma interface}}
+\DoxyCodeLine{21 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{22 }
+\DoxyCodeLine{23 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{24 }
+\DoxyCodeLine{25 \textcolor{preprocessor}{\#ifdef XB\_LOGGING\_SUPPORT}}
+\DoxyCodeLine{26 }
+\DoxyCodeLine{28 }
+\DoxyCodeLine{41 \textcolor{keyword}{class }XBDLLEXPORT \mbox{\hyperlink{namespacexb_a4a31fbe9110c9e55495ce71e642d785c}{xbLog}} : \textcolor{keyword}{public} xbFile \{}
+\DoxyCodeLine{42 \textcolor{keyword}{public}:}
+\DoxyCodeLine{43 \mbox{\hyperlink{namespacexb_a4a31fbe9110c9e55495ce71e642d785c}{xbLog}}();}
+\DoxyCodeLine{44 \mbox{\hyperlink{namespacexb_a4a31fbe9110c9e55495ce71e642d785c}{xbLog}}( \textcolor{keyword}{const} xbString \&sLogFileName );}
+\DoxyCodeLine{45 \string~xbLog();}
+\DoxyCodeLine{46 }
+\DoxyCodeLine{47 xbInt16 LogClose ();}
+\DoxyCodeLine{48 xbInt16 LogGetStatus ();}
+\DoxyCodeLine{49 xbInt16 LogOpen ();}
+\DoxyCodeLine{50 \textcolor{keywordtype}{void} LogSetStatus ( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bLogStatus );}
+\DoxyCodeLine{51 \textcolor{keywordtype}{void} LogSetLogSize( \textcolor{keywordtype}{size\_t} lSize ); \textcolor{comment}{// \{ LogSize = size; \}}}
+\DoxyCodeLine{52 xbInt16 LogWrite ( \textcolor{keyword}{const} xbString \&LogEntry, xbInt16 iOutputOption = 0 );}
+\DoxyCodeLine{53 xbInt16 LogWriteBytes( xbUInt32 lByteCnt, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *p );}
+\DoxyCodeLine{54 \textcolor{keywordtype}{size\_t} LogGetLogSize()\textcolor{keyword}{ const }\{ \textcolor{keywordflow}{return} lLogSize; \}}
+\DoxyCodeLine{55 }
+\DoxyCodeLine{56 \textcolor{keyword}{private}:}
+\DoxyCodeLine{57 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bLoggingStatus; \textcolor{comment}{// false = logging off}}
+\DoxyCodeLine{58 \textcolor{comment}{// true = logging on}}
+\DoxyCodeLine{59 \textcolor{keywordtype}{size\_t} lLogSize;}
+\DoxyCodeLine{60 xbInt16 iShareMode;}
+\DoxyCodeLine{61 \};}
+\DoxyCodeLine{62 }
+\DoxyCodeLine{63 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_LOGGING\_SUPPORT}}
+\DoxyCodeLine{64 \} \textcolor{comment}{// namespace}}
+\DoxyCodeLine{65 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_XBLOG\_H\_\_}}
+\DoxyCodeLine{66 }
+\DoxyCodeLine{67 }
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo3_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo3_8cpp.tex
new file mode 100644
index 0000000..5301f05
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo3_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbmemo3_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbmemo3.cpp File Reference}
+\label{xbmemo3_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbmemo3.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbmemo3.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo4_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo4_8cpp.tex
new file mode 100644
index 0000000..ab18a1c
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo4_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbmemo4_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbmemo4.cpp File Reference}
+\label{xbmemo4_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbmemo4.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbmemo4.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo_8cpp.tex
new file mode 100644
index 0000000..1ba2932
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbmemo_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbmemo.cpp File Reference}
+\label{xbmemo_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbmemo.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbmemo.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo_8h.tex
new file mode 100644
index 0000000..fed4cff
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo_8h.tex
@@ -0,0 +1,2 @@
+\hypertarget{xbmemo_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbmemo.h File Reference}
+\label{xbmemo_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbmemo.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbmemo.h}}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo_8h_source.tex
new file mode 100644
index 0000000..a394de6
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbmemo_8h_source.tex
@@ -0,0 +1,187 @@
+\hypertarget{xbmemo_8h_source}{}\doxysection{xbmemo.\+h}
+\label{xbmemo_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbmemo.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbmemo.h}}
+\mbox{\hyperlink{xbmemo_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbmemo.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 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\_XBMEMO\_H\_\_}}
+\DoxyCodeLine{18 \textcolor{preprocessor}{\#define \_\_XB\_XBMEMO\_H\_\_}}
+\DoxyCodeLine{19 }
+\DoxyCodeLine{20 }
+\DoxyCodeLine{21 \textcolor{comment}{// dont use "{}\#pragma interface"{} with abstract classes}}
+\DoxyCodeLine{22 \textcolor{comment}{// \#ifdef CMAKE\_COMPILER\_IS\_GNUCC}}
+\DoxyCodeLine{23 \textcolor{comment}{// \#pragma interface}}
+\DoxyCodeLine{24 \textcolor{comment}{// \#endif}}
+\DoxyCodeLine{25 }
+\DoxyCodeLine{26 \textcolor{preprocessor}{\#ifdef XB\_MEMO\_SUPPORT}}
+\DoxyCodeLine{27 }
+\DoxyCodeLine{28 }
+\DoxyCodeLine{29 }
+\DoxyCodeLine{30 }
+\DoxyCodeLine{31 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{32 }
+\DoxyCodeLine{34 }
+\DoxyCodeLine{55 \textcolor{keyword}{class }XBDLLEXPORT xbMemo : \textcolor{keyword}{public} xbFile \{}
+\DoxyCodeLine{56 \textcolor{keyword}{public}:}
+\DoxyCodeLine{57 }
+\DoxyCodeLine{58 xbMemo( \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf, xbString \textcolor{keyword}{const} \&sFileName );}
+\DoxyCodeLine{59 }
+\DoxyCodeLine{60 \textcolor{comment}{/* virtual methods */}}
+\DoxyCodeLine{61 \textcolor{keyword}{virtual} \string~xbMemo();}
+\DoxyCodeLine{62 \textcolor{keyword}{virtual} xbInt16 Abort () = 0;}
+\DoxyCodeLine{63 \textcolor{keyword}{virtual} xbInt16 CloseMemoFile ();}
+\DoxyCodeLine{64 \textcolor{keyword}{virtual} xbInt16 Commit () = 0;}
+\DoxyCodeLine{65 \textcolor{keyword}{virtual} xbInt16 CreateMemoFile () = 0;}
+\DoxyCodeLine{66 }
+\DoxyCodeLine{67 \textcolor{keyword}{virtual} xbInt16 DumpMemoHeader () = 0;}
+\DoxyCodeLine{68 }
+\DoxyCodeLine{69 }
+\DoxyCodeLine{70 \textcolor{keyword}{virtual} xbInt16 GetMemoField ( xbInt16 iFieldNo, xbString \&sMemoData ) = 0;}
+\DoxyCodeLine{71 \textcolor{keyword}{virtual} xbInt16 GetMemoFieldLen ( xbInt16 iFieldNo, xbUInt32 \&ulMemoFieldLen ) = 0;}
+\DoxyCodeLine{72 \textcolor{keyword}{virtual} xbInt16 OpenMemoFile () = 0;}
+\DoxyCodeLine{73 \textcolor{keyword}{virtual} xbInt16 GetMemoFileType ();}
+\DoxyCodeLine{74 \textcolor{keyword}{virtual} xbInt16 PackMemo ( \textcolor{keywordtype}{void} (*memoStatusFunc)(xbUInt32 ulItemNum, xbUInt32 ulNumItems)) = 0;}
+\DoxyCodeLine{75 \textcolor{keyword}{virtual} xbInt16 UpdateMemoField ( xbInt16 iFieldNo, \textcolor{keyword}{const} xbString \&sMemoData ) = 0;}
+\DoxyCodeLine{76 }
+\DoxyCodeLine{77 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{78 \textcolor{keyword}{virtual} xbInt16 DumpMemoFreeChain() = 0;}
+\DoxyCodeLine{79 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{80 }
+\DoxyCodeLine{81 \textcolor{preprocessor}{ \#ifdef XB\_LOCKING\_SUPPORT}}
+\DoxyCodeLine{82 \textcolor{keyword}{virtual} xbInt16 LockMemo ( xbInt16 iLockFunction );}
+\DoxyCodeLine{83 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetMemoLocked () \textcolor{keyword}{const};}
+\DoxyCodeLine{84 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{85 }
+\DoxyCodeLine{86 }
+\DoxyCodeLine{87 }
+\DoxyCodeLine{88 \textcolor{comment}{// *********** FIXME *************}}
+\DoxyCodeLine{89 \textcolor{comment}{// next two methods should be protected but are called in the xb\_test\_xxxx programs testing routines}}
+\DoxyCodeLine{90 \textcolor{comment}{// so for now, they are kept as public}}
+\DoxyCodeLine{91 \textcolor{keyword}{virtual} xbInt16 CalcLastDataBlock ( xbUInt32 \&lLastDataBlock );}
+\DoxyCodeLine{92 \textcolor{keyword}{virtual} xbInt16 GetHdrNextBlock ( xbUInt32 \&ulBlockNo );}
+\DoxyCodeLine{93 }
+\DoxyCodeLine{94 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{95 \textcolor{keyword}{friend} \textcolor{keyword}{class }\mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}};}
+\DoxyCodeLine{96 }
+\DoxyCodeLine{97 \textcolor{keyword}{virtual} xbInt16 ReadDbtHeader ( xbInt16 iOption ) = 0;}
+\DoxyCodeLine{98 \textcolor{keyword}{virtual} xbInt16 UpdateHeaderName () = 0;}
+\DoxyCodeLine{99 \textcolor{keyword}{virtual} xbInt16 UpdateHeadNextNode();}
+\DoxyCodeLine{100 \textcolor{keyword}{virtual} xbInt16 Zap () = 0;}
+\DoxyCodeLine{101 }
+\DoxyCodeLine{102 \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf; \textcolor{comment}{/* pointer to related dbf instance */}}
+\DoxyCodeLine{103 \textcolor{keywordtype}{char} cVersion; \textcolor{comment}{/* byte 16 off the header block, 0x03 for V3, version IV -\/ ? */}}
+\DoxyCodeLine{104 xbInt16 iMemoFileType; \textcolor{comment}{/* 3 = version III, 4 = version IV */}}
+\DoxyCodeLine{105 xbUInt32 ulHdrNextBlock; \textcolor{comment}{/* next available block , bytes 0-\/3 of the memo header */}}
+\DoxyCodeLine{106 \textcolor{keywordtype}{void} * mbb; \textcolor{comment}{/* memo block buffer */}}
+\DoxyCodeLine{107 }
+\DoxyCodeLine{108 }
+\DoxyCodeLine{109 \textcolor{keyword}{private}:}
+\DoxyCodeLine{110 }
+\DoxyCodeLine{111 \textcolor{preprocessor}{ \#ifdef XB\_LOCKING\_SUPPORT}}
+\DoxyCodeLine{112 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bFileLocked; \textcolor{comment}{/* memo file locked */}}
+\DoxyCodeLine{113 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{114 }
+\DoxyCodeLine{115 \};}
+\DoxyCodeLine{116 }
+\DoxyCodeLine{117 }
+\DoxyCodeLine{118 }
+\DoxyCodeLine{119 \textcolor{preprocessor}{\#ifdef XB\_DBF3\_SUPPORT}}
+\DoxyCodeLine{121 }
+\DoxyCodeLine{133 \textcolor{keyword}{class }XBDLLEXPORT xbMemoDbt3 : \textcolor{keyword}{public} xbMemo \{}
+\DoxyCodeLine{134 \textcolor{keyword}{public}:}
+\DoxyCodeLine{135 xbMemoDbt3( \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf, xbString \textcolor{keyword}{const} \&sFileName );}
+\DoxyCodeLine{136 \string~xbMemoDbt3();}
+\DoxyCodeLine{137 \textcolor{keyword}{virtual} xbInt16 Abort ();}
+\DoxyCodeLine{138 \textcolor{keyword}{virtual} xbInt16 Commit ();}
+\DoxyCodeLine{139 \textcolor{keyword}{virtual} xbInt16 CreateMemoFile ();}
+\DoxyCodeLine{140 \textcolor{keyword}{virtual} xbInt16 DumpMemoHeader ();}
+\DoxyCodeLine{141 \textcolor{keyword}{virtual} xbInt16 GetMemoField ( xbInt16 iFieldNo, xbString \&sMemoData );}
+\DoxyCodeLine{142 \textcolor{keyword}{virtual} xbInt16 GetMemoFieldLen( xbInt16 iFieldNo, xbUInt32 \&ulMemoFieldLen );}
+\DoxyCodeLine{143 \textcolor{keyword}{virtual} xbInt16 OpenMemoFile ();}
+\DoxyCodeLine{144 \textcolor{keyword}{virtual} xbInt16 PackMemo ( \textcolor{keywordtype}{void} (*memoStatusFunc) (xbUInt32 ulItemNum, xbUInt32 ulNumItems));}
+\DoxyCodeLine{145 \textcolor{keyword}{virtual} xbInt16 UpdateMemoField( xbInt16 iFieldNo, \textcolor{keyword}{const} xbString \&sMemoData );}
+\DoxyCodeLine{146 }
+\DoxyCodeLine{147 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{148 \textcolor{keyword}{virtual} xbInt16 DumpMemoFreeChain();}
+\DoxyCodeLine{149 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{150 }
+\DoxyCodeLine{151 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{152 \textcolor{keyword}{virtual} xbInt16 ReadDbtHeader( xbInt16 iOption );}
+\DoxyCodeLine{153 \textcolor{keyword}{virtual} xbInt16 UpdateHeaderName();}
+\DoxyCodeLine{154 \textcolor{keyword}{virtual} xbInt16 Zap();}
+\DoxyCodeLine{155 }
+\DoxyCodeLine{156 \textcolor{keyword}{private}:}
+\DoxyCodeLine{157 \};}
+\DoxyCodeLine{158 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{159 }
+\DoxyCodeLine{160 }
+\DoxyCodeLine{161 \textcolor{preprocessor}{\#ifdef XB\_DBF4\_SUPPORT}}
+\DoxyCodeLine{162 }
+\DoxyCodeLine{164 }
+\DoxyCodeLine{174 \textcolor{keyword}{class }XBDLLEXPORT xbMemoDbt4 : \textcolor{keyword}{public} xbMemo \{}
+\DoxyCodeLine{175 \textcolor{keyword}{public}:}
+\DoxyCodeLine{176 xbMemoDbt4( \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *dbf, xbString \textcolor{keyword}{const} \&sFileName );}
+\DoxyCodeLine{177 \string~xbMemoDbt4();}
+\DoxyCodeLine{178 \textcolor{keyword}{virtual} xbInt16 Abort ();}
+\DoxyCodeLine{179 \textcolor{keyword}{virtual} xbInt16 Commit ();}
+\DoxyCodeLine{180 \textcolor{keyword}{virtual} xbInt16 CreateMemoFile ();}
+\DoxyCodeLine{181 \textcolor{keyword}{virtual} xbInt16 DumpMemoHeader ();}
+\DoxyCodeLine{182 \textcolor{keyword}{virtual} xbInt16 GetMemoField ( xbInt16 iFieldNo, xbString \&sMemoData );}
+\DoxyCodeLine{183 \textcolor{keyword}{virtual} xbInt16 GetMemoFieldLen ( xbInt16 iFieldNo, xbUInt32 \&ulMemoFieldLen );}
+\DoxyCodeLine{184 \textcolor{keyword}{virtual} xbInt16 GetMemoFieldLen ( xbInt16 iFieldNo, xbUInt32 \&ulMemoFieldLen, xbUInt32 \&lBlockNo );}
+\DoxyCodeLine{185 \textcolor{keyword}{virtual} xbInt16 OpenMemoFile ();}
+\DoxyCodeLine{186 \textcolor{keyword}{virtual} xbInt16 PackMemo ( \textcolor{keywordtype}{void} (*memoStatusFunc) (xbUInt32 ulItemNum, xbUInt32 ulNumItems));}
+\DoxyCodeLine{187 \textcolor{keyword}{virtual} xbInt16 UpdateMemoField ( xbInt16 iFieldNo, \textcolor{keyword}{const} xbString \&sMemoData );}
+\DoxyCodeLine{188 }
+\DoxyCodeLine{189 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{190 \textcolor{keyword}{virtual} xbInt16 DumpMemoFreeChain ();}
+\DoxyCodeLine{191 \textcolor{keyword}{virtual} xbInt16 DumpMemoInternals ();}
+\DoxyCodeLine{192 \textcolor{keyword}{virtual} xbInt16 ReadFreeBlockHeader( xbUInt32 ulBlockNo, xbUInt32 \&ulNextBlock, xbUInt32 \&ulFreeBlockCnt );}
+\DoxyCodeLine{193 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{194 }
+\DoxyCodeLine{195 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{196 \textcolor{keyword}{virtual} xbInt16 FindBlockSetInChain( xbUInt32 ulBlocksNeeded, xbUInt32 \&ulLastDataBlock, xbUInt32 \&ulLocation, xbUInt32 \&ulPrevNode, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bFound );}
+\DoxyCodeLine{197 \textcolor{keyword}{virtual} xbInt16 FreeMemoBlockChain( xbUInt32 ulBlockNo );}
+\DoxyCodeLine{198 \textcolor{keyword}{virtual} xbInt16 FreeMemoBlockChain( xbUInt32 ulBlockNo, xbUInt32 \&ulLastDataBlock );}
+\DoxyCodeLine{199 \textcolor{keyword}{virtual} xbInt16 GetBlockSetFromChain( xbUInt32 ulBlocksNeeded, xbUInt32 ulLocation, xbUInt32 ulPrevNode );}
+\DoxyCodeLine{200 \textcolor{keyword}{virtual} xbInt16 ReadDbtHeader( xbInt16 iOption );}
+\DoxyCodeLine{201 \textcolor{keyword}{virtual} xbInt16 ReadBlockHeader( xbUInt32 ulBlockNo, xbInt16 iOption );}
+\DoxyCodeLine{202 \textcolor{keyword}{virtual} xbInt16 UpdateHeaderName ();}
+\DoxyCodeLine{203 \textcolor{keyword}{virtual} xbInt16 WriteBlockHeader( xbUInt32 ulBlockNo, xbInt16 iOption );}
+\DoxyCodeLine{204 \textcolor{keyword}{virtual} xbInt16 Zap();}
+\DoxyCodeLine{205 }
+\DoxyCodeLine{206 \textcolor{keyword}{private}:}
+\DoxyCodeLine{207 xbString sDbfFileNameWoExt;}
+\DoxyCodeLine{208 xbUInt32 ulNextFreeBlock;}
+\DoxyCodeLine{209 xbUInt32 ulFreeBlockCnt;}
+\DoxyCodeLine{210 xbInt16 iField1;}
+\DoxyCodeLine{211 xbInt16 iStartPos;}
+\DoxyCodeLine{212 xbUInt32 ulFieldLen;}
+\DoxyCodeLine{213 }
+\DoxyCodeLine{214 xbLinkList<xbUInt32> llOldBlocks; \textcolor{comment}{// list of previously used memo blocks for field, used by Commit() / Abort()}}
+\DoxyCodeLine{215 xbLinkList<xbUInt32> llNewBlocks; \textcolor{comment}{// list of newly updated memo blocks for field, used by Commit() / Abort()}}
+\DoxyCodeLine{216 }
+\DoxyCodeLine{217 \};}
+\DoxyCodeLine{218 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{219 }
+\DoxyCodeLine{220 }
+\DoxyCodeLine{221 \} \textcolor{comment}{/* namespace xb */}}
+\DoxyCodeLine{222 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* XB\_MEMO\_SUPPORT */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{223 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XB\_MEMO\_H\_\_ */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{224 }
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbretcod_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbretcod_8h.tex
new file mode 100644
index 0000000..ee2e1fc
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbretcod_8h.tex
@@ -0,0 +1,477 @@
+\hypertarget{xbretcod_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbretcod.h File Reference}
+\label{xbretcod_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbretcod.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbretcod.h}}
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Macros}
+\begin{DoxyCompactItemize}
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\+\_\+\+NO\+\_\+\+ERROR}}~0
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_ae687fc7d872ba0475a8477e4447f9b54}{XB\+\_\+\+NO\+\_\+\+MEMORY}}~-\/100
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_af1cd0baf346cad686fa4dd11f700012a}{XB\+\_\+\+INVALID\+\_\+\+OPTION}}~-\/101
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a1b78533ada854b4185c51ad8a5ce9f02}{XB\+\_\+\+INVALID\+\_\+\+PARAMETER}}~-\/102
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_ac18036408d10e5eee1bf76cf92352b95}{XB\+\_\+\+DUP\+\_\+\+TABLE\+\_\+\+OR\+\_\+\+ALIAS}}~-\/110
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a13e6876470bd34c8c4e5533f115e04eb}{XB\+\_\+\+INVALID\+\_\+\+NODELINK}}~-\/120
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_ad60dbb1862c0c1c2dc0464cfbfd93a34}{XB\+\_\+\+KEY\+\_\+\+NOT\+\_\+\+UNIQUE}}~-\/121
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_aa2925f035e3b186d7efa14648ea0e86d}{XB\+\_\+\+MEMCPY\+\_\+\+ERROR}}~-\/122
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a54303a9677dbd5342233f33dd08c64d0}{XB\+\_\+\+FILE\+\_\+\+EXISTS}}~-\/200
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_aa2ff8301503f446c6a5f6510090e520f}{XB\+\_\+\+ALREADY\+\_\+\+OPEN}}~-\/201
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a8104510b347c87998eadd0b27201e3c2}{XB\+\_\+\+DBF\+\_\+\+FILE\+\_\+\+NOT\+\_\+\+OPEN}}~-\/202
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_ad090af330c93111d12f6de35dbb065bc}{XB\+\_\+\+FILE\+\_\+\+NOT\+\_\+\+FOUND}}~-\/203
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_ab7b9130a5f1df9975cfeaf6241933596}{XB\+\_\+\+FILE\+\_\+\+TYPE\+\_\+\+NOT\+\_\+\+SUPPORTED}}~-\/204
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a373f30b2efcbbab9f6d060fb3fe8cba3}{XB\+\_\+\+RENAME\+\_\+\+ERROR}}~-\/205
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a418c047353bc683d0fd6ecbbdd5b7885}{XB\+\_\+\+INVALID\+\_\+\+OBJECT}}~-\/206
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a9474b400f647bdefbbb07e5177e8d7a1}{XB\+\_\+\+NOT\+\_\+\+OPEN}}~-\/207
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_ac2606659a54111334f5b02861e533700}{XB\+\_\+\+NOT\+\_\+\+FOUND}}~-\/208
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_aaab55236993a1d3acb29206252a904c8}{XB\+\_\+\+OPEN\+\_\+\+ERROR}}~-\/209
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a030684d5541cf6127a76d81b0684b235}{XB\+\_\+\+CLOSE\+\_\+\+ERROR}}~-\/210
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a0455ad8719e153b08ec68b10c81e9f41}{XB\+\_\+\+SEEK\+\_\+\+ERROR}}~-\/211
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_adbd40585db8bb748d191f94a33bac710}{XB\+\_\+\+READ\+\_\+\+ERROR}}~-\/212
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_aef34ebe6726057f805d6063130280549}{XB\+\_\+\+WRITE\+\_\+\+ERROR}}~-\/213
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a8b47031e90c3f86306c7058e4490d3b7}{XB\+\_\+\+EOF}}~-\/214
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_ade5f3a7cf1467d12761e4e21b5e4200f}{XB\+\_\+\+BOF}}~-\/215
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a1bd22921612389c37f6b2eac438c62c5}{XB\+\_\+\+INVALID\+\_\+\+BLOCK\+\_\+\+SIZE}}~-\/216
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a4e13b529b486c43ca600ce7d8ddbf3c2}{XB\+\_\+\+INVALID\+\_\+\+BLOCK\+\_\+\+NO}}~-\/217
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a0fd212f912b2e62700a66bae95bd73a1}{XB\+\_\+\+INVALID\+\_\+\+RECORD}}~-\/218
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_ada15513935d5ede9216f07c0438f34d2}{XB\+\_\+\+DELETE\+\_\+\+FAILED}}~-\/219
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a53891c95a78483704d2a8e14c4499f92}{XB\+\_\+\+INVALID\+\_\+\+TABLE\+\_\+\+NAME}}~-\/220
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a18068d0cbe0c7a1b4dd3176220180c29}{XB\+\_\+\+EMPTY}}~-\/221
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a59f1a8a6aca19595c2d1804349a24850}{XB\+\_\+\+LIMIT\+\_\+\+REACHED}}~-\/222
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_aae9241d91cfb37f5d236128b3bce0a4a}{XB\+\_\+\+BLOCKREAD\+\_\+\+NOT\+\_\+\+ENABLED}}~-\/223
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_af532df74147ce2d872f61abfee49c53e}{XB\+\_\+\+DIRECTORY\+\_\+\+ERROR}}~-\/224
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a79e2588f067d6e236c0e5a2c0728ba9f}{XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE}}~-\/300
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a09d6c08a44316f551108a74003efd381}{XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO}}~-\/301
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_afb40bbed323ecb369dd430a2e1242f9a}{XB\+\_\+\+INVALID\+\_\+\+DATA}}~-\/302
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a59403978784130834cf39434cb73f96e}{XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME}}~-\/303
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a187c50745f51bfe4aa6f70a92f16c59f}{XB\+\_\+\+INVALID\+\_\+\+MEMO\+\_\+\+FIELD}}~-\/304
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a34180b2e2bd350ba2ebcdd1335e15d7e}{XB\+\_\+\+INVALID\+\_\+\+FIELD}}~-\/305
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a7bd322c0efbba17f68ccccd6cf624411}{XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+LEN}}~-\/306
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a702475500357a27b8a34463be3e11925}{XB\+\_\+\+INVALID\+\_\+\+DATE}}~-\/307
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_ab45735e63c208eb7e6d6df31fd527aec}{XB\+\_\+\+INVALID\+\_\+\+LOCK\+\_\+\+OPTION}}~-\/400
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a001e24b39e0f155fb1e892f5b1b9cff1}{XB\+\_\+\+LOCK\+\_\+\+FAILED}}~-\/401
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_af6aaf779fddecca521d785666f6dc56b}{XB\+\_\+\+TABLE\+\_\+\+NOT\+\_\+\+LOCKED}}~-\/402
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_aec713cac2b03a0d536a2d16336ae7c0b}{XB\+\_\+\+PARSE\+\_\+\+ERROR}}~-\/500
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a2b7e5e440dbcf5e6dc885b24dbe28742}{XB\+\_\+\+INVALID\+\_\+\+FUNCTION}}~-\/501
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a4cedf96581c9cbc9c14d07494143702d}{XB\+\_\+\+INVALID\+\_\+\+PARM}}~-\/502
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_adc4b24bfffa202f8df25409894e547b9}{XB\+\_\+\+INCONSISTENT\+\_\+\+PARM\+\_\+\+LENS}}~-\/503
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_af141ec58b7ca7360e0be6c61d015ea74}{XB\+\_\+\+INCOMPATIBLE\+\_\+\+OPERANDS}}~-\/504
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_aff5646a6b0884ff81004de6961473ea6}{XB\+\_\+\+UNBALANCED\+\_\+\+PARENS}}~-\/505
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_aedfa20a6c4eb9ba3063ba56be8280eac}{XB\+\_\+\+UNBALANCED\+\_\+\+QUOTES}}~-\/506
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a54db562c3cae97581812b4fccd52b71a}{XB\+\_\+\+INVALID\+\_\+\+EXPRESSION}}~-\/507
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_aec2c0ac2bd62e0329ef130e4fbda39f8}{XB\+\_\+\+INVALID\+\_\+\+KEYNO}}~-\/600
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_acd175ef0541e2cad424791bd87619dd4}{XB\+\_\+\+INVALID\+\_\+\+INDEX}}~-\/601
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a176d917912d3433f065483f905a4c50a}{XB\+\_\+\+INVALID\+\_\+\+TAG}}~-\/602
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_ad0aba12b5ae2137f8d6abd28b47f95f0}{XB\+\_\+\+INVALID\+\_\+\+PAGE}}~-\/603
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a5db3a90f215534143bdde81253729c7f}{XB\+\_\+\+SYNTAX\+\_\+\+ERROR}}~-\/700
+\item
+\#define \mbox{\hyperlink{xbretcod_8h_a299419a9c80e000b74bf97a2d24d6a3d}{XB\+\_\+\+MAX\+\_\+\+ERROR\+\_\+\+NO}}~-\/999
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Macro Definition Documentation}
+\mbox{\Hypertarget{xbretcod_8h_aa2ff8301503f446c6a5f6510090e520f}\label{xbretcod_8h_aa2ff8301503f446c6a5f6510090e520f}}
+\index{xbretcod.h@{xbretcod.h}!XB\_ALREADY\_OPEN@{XB\_ALREADY\_OPEN}}
+\index{XB\_ALREADY\_OPEN@{XB\_ALREADY\_OPEN}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_ALREADY\_OPEN}{XB\_ALREADY\_OPEN}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+ALREADY\+\_\+\+OPEN~-\/201}
+
+\mbox{\Hypertarget{xbretcod_8h_aae9241d91cfb37f5d236128b3bce0a4a}\label{xbretcod_8h_aae9241d91cfb37f5d236128b3bce0a4a}}
+\index{xbretcod.h@{xbretcod.h}!XB\_BLOCKREAD\_NOT\_ENABLED@{XB\_BLOCKREAD\_NOT\_ENABLED}}
+\index{XB\_BLOCKREAD\_NOT\_ENABLED@{XB\_BLOCKREAD\_NOT\_ENABLED}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_BLOCKREAD\_NOT\_ENABLED}{XB\_BLOCKREAD\_NOT\_ENABLED}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+BLOCKREAD\+\_\+\+NOT\+\_\+\+ENABLED~-\/223}
+
+\mbox{\Hypertarget{xbretcod_8h_ade5f3a7cf1467d12761e4e21b5e4200f}\label{xbretcod_8h_ade5f3a7cf1467d12761e4e21b5e4200f}}
+\index{xbretcod.h@{xbretcod.h}!XB\_BOF@{XB\_BOF}}
+\index{XB\_BOF@{XB\_BOF}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_BOF}{XB\_BOF}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+BOF~-\/215}
+
+\mbox{\Hypertarget{xbretcod_8h_a030684d5541cf6127a76d81b0684b235}\label{xbretcod_8h_a030684d5541cf6127a76d81b0684b235}}
+\index{xbretcod.h@{xbretcod.h}!XB\_CLOSE\_ERROR@{XB\_CLOSE\_ERROR}}
+\index{XB\_CLOSE\_ERROR@{XB\_CLOSE\_ERROR}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_CLOSE\_ERROR}{XB\_CLOSE\_ERROR}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+CLOSE\+\_\+\+ERROR~-\/210}
+
+\mbox{\Hypertarget{xbretcod_8h_a8104510b347c87998eadd0b27201e3c2}\label{xbretcod_8h_a8104510b347c87998eadd0b27201e3c2}}
+\index{xbretcod.h@{xbretcod.h}!XB\_DBF\_FILE\_NOT\_OPEN@{XB\_DBF\_FILE\_NOT\_OPEN}}
+\index{XB\_DBF\_FILE\_NOT\_OPEN@{XB\_DBF\_FILE\_NOT\_OPEN}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_DBF\_FILE\_NOT\_OPEN}{XB\_DBF\_FILE\_NOT\_OPEN}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+DBF\+\_\+\+FILE\+\_\+\+NOT\+\_\+\+OPEN~-\/202}
+
+\mbox{\Hypertarget{xbretcod_8h_ada15513935d5ede9216f07c0438f34d2}\label{xbretcod_8h_ada15513935d5ede9216f07c0438f34d2}}
+\index{xbretcod.h@{xbretcod.h}!XB\_DELETE\_FAILED@{XB\_DELETE\_FAILED}}
+\index{XB\_DELETE\_FAILED@{XB\_DELETE\_FAILED}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_DELETE\_FAILED}{XB\_DELETE\_FAILED}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+DELETE\+\_\+\+FAILED~-\/219}
+
+\mbox{\Hypertarget{xbretcod_8h_af532df74147ce2d872f61abfee49c53e}\label{xbretcod_8h_af532df74147ce2d872f61abfee49c53e}}
+\index{xbretcod.h@{xbretcod.h}!XB\_DIRECTORY\_ERROR@{XB\_DIRECTORY\_ERROR}}
+\index{XB\_DIRECTORY\_ERROR@{XB\_DIRECTORY\_ERROR}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_DIRECTORY\_ERROR}{XB\_DIRECTORY\_ERROR}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+DIRECTORY\+\_\+\+ERROR~-\/224}
+
+\mbox{\Hypertarget{xbretcod_8h_ac18036408d10e5eee1bf76cf92352b95}\label{xbretcod_8h_ac18036408d10e5eee1bf76cf92352b95}}
+\index{xbretcod.h@{xbretcod.h}!XB\_DUP\_TABLE\_OR\_ALIAS@{XB\_DUP\_TABLE\_OR\_ALIAS}}
+\index{XB\_DUP\_TABLE\_OR\_ALIAS@{XB\_DUP\_TABLE\_OR\_ALIAS}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_DUP\_TABLE\_OR\_ALIAS}{XB\_DUP\_TABLE\_OR\_ALIAS}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+DUP\+\_\+\+TABLE\+\_\+\+OR\+\_\+\+ALIAS~-\/110}
+
+\mbox{\Hypertarget{xbretcod_8h_a18068d0cbe0c7a1b4dd3176220180c29}\label{xbretcod_8h_a18068d0cbe0c7a1b4dd3176220180c29}}
+\index{xbretcod.h@{xbretcod.h}!XB\_EMPTY@{XB\_EMPTY}}
+\index{XB\_EMPTY@{XB\_EMPTY}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_EMPTY}{XB\_EMPTY}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+EMPTY~-\/221}
+
+\mbox{\Hypertarget{xbretcod_8h_a8b47031e90c3f86306c7058e4490d3b7}\label{xbretcod_8h_a8b47031e90c3f86306c7058e4490d3b7}}
+\index{xbretcod.h@{xbretcod.h}!XB\_EOF@{XB\_EOF}}
+\index{XB\_EOF@{XB\_EOF}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_EOF}{XB\_EOF}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+EOF~-\/214}
+
+\mbox{\Hypertarget{xbretcod_8h_a54303a9677dbd5342233f33dd08c64d0}\label{xbretcod_8h_a54303a9677dbd5342233f33dd08c64d0}}
+\index{xbretcod.h@{xbretcod.h}!XB\_FILE\_EXISTS@{XB\_FILE\_EXISTS}}
+\index{XB\_FILE\_EXISTS@{XB\_FILE\_EXISTS}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_FILE\_EXISTS}{XB\_FILE\_EXISTS}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+FILE\+\_\+\+EXISTS~-\/200}
+
+\mbox{\Hypertarget{xbretcod_8h_ad090af330c93111d12f6de35dbb065bc}\label{xbretcod_8h_ad090af330c93111d12f6de35dbb065bc}}
+\index{xbretcod.h@{xbretcod.h}!XB\_FILE\_NOT\_FOUND@{XB\_FILE\_NOT\_FOUND}}
+\index{XB\_FILE\_NOT\_FOUND@{XB\_FILE\_NOT\_FOUND}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_FILE\_NOT\_FOUND}{XB\_FILE\_NOT\_FOUND}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+FILE\+\_\+\+NOT\+\_\+\+FOUND~-\/203}
+
+\mbox{\Hypertarget{xbretcod_8h_ab7b9130a5f1df9975cfeaf6241933596}\label{xbretcod_8h_ab7b9130a5f1df9975cfeaf6241933596}}
+\index{xbretcod.h@{xbretcod.h}!XB\_FILE\_TYPE\_NOT\_SUPPORTED@{XB\_FILE\_TYPE\_NOT\_SUPPORTED}}
+\index{XB\_FILE\_TYPE\_NOT\_SUPPORTED@{XB\_FILE\_TYPE\_NOT\_SUPPORTED}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_FILE\_TYPE\_NOT\_SUPPORTED}{XB\_FILE\_TYPE\_NOT\_SUPPORTED}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+FILE\+\_\+\+TYPE\+\_\+\+NOT\+\_\+\+SUPPORTED~-\/204}
+
+\mbox{\Hypertarget{xbretcod_8h_af141ec58b7ca7360e0be6c61d015ea74}\label{xbretcod_8h_af141ec58b7ca7360e0be6c61d015ea74}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INCOMPATIBLE\_OPERANDS@{XB\_INCOMPATIBLE\_OPERANDS}}
+\index{XB\_INCOMPATIBLE\_OPERANDS@{XB\_INCOMPATIBLE\_OPERANDS}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INCOMPATIBLE\_OPERANDS}{XB\_INCOMPATIBLE\_OPERANDS}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INCOMPATIBLE\+\_\+\+OPERANDS~-\/504}
+
+\mbox{\Hypertarget{xbretcod_8h_adc4b24bfffa202f8df25409894e547b9}\label{xbretcod_8h_adc4b24bfffa202f8df25409894e547b9}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INCONSISTENT\_PARM\_LENS@{XB\_INCONSISTENT\_PARM\_LENS}}
+\index{XB\_INCONSISTENT\_PARM\_LENS@{XB\_INCONSISTENT\_PARM\_LENS}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INCONSISTENT\_PARM\_LENS}{XB\_INCONSISTENT\_PARM\_LENS}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INCONSISTENT\+\_\+\+PARM\+\_\+\+LENS~-\/503}
+
+\mbox{\Hypertarget{xbretcod_8h_a4e13b529b486c43ca600ce7d8ddbf3c2}\label{xbretcod_8h_a4e13b529b486c43ca600ce7d8ddbf3c2}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_BLOCK\_NO@{XB\_INVALID\_BLOCK\_NO}}
+\index{XB\_INVALID\_BLOCK\_NO@{XB\_INVALID\_BLOCK\_NO}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_BLOCK\_NO}{XB\_INVALID\_BLOCK\_NO}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+BLOCK\+\_\+\+NO~-\/217}
+
+\mbox{\Hypertarget{xbretcod_8h_a1bd22921612389c37f6b2eac438c62c5}\label{xbretcod_8h_a1bd22921612389c37f6b2eac438c62c5}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_BLOCK\_SIZE@{XB\_INVALID\_BLOCK\_SIZE}}
+\index{XB\_INVALID\_BLOCK\_SIZE@{XB\_INVALID\_BLOCK\_SIZE}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_BLOCK\_SIZE}{XB\_INVALID\_BLOCK\_SIZE}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+BLOCK\+\_\+\+SIZE~-\/216}
+
+\mbox{\Hypertarget{xbretcod_8h_afb40bbed323ecb369dd430a2e1242f9a}\label{xbretcod_8h_afb40bbed323ecb369dd430a2e1242f9a}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_DATA@{XB\_INVALID\_DATA}}
+\index{XB\_INVALID\_DATA@{XB\_INVALID\_DATA}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_DATA}{XB\_INVALID\_DATA}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+DATA~-\/302}
+
+\mbox{\Hypertarget{xbretcod_8h_a702475500357a27b8a34463be3e11925}\label{xbretcod_8h_a702475500357a27b8a34463be3e11925}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_DATE@{XB\_INVALID\_DATE}}
+\index{XB\_INVALID\_DATE@{XB\_INVALID\_DATE}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_DATE}{XB\_INVALID\_DATE}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+DATE~-\/307}
+
+\mbox{\Hypertarget{xbretcod_8h_a54db562c3cae97581812b4fccd52b71a}\label{xbretcod_8h_a54db562c3cae97581812b4fccd52b71a}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_EXPRESSION@{XB\_INVALID\_EXPRESSION}}
+\index{XB\_INVALID\_EXPRESSION@{XB\_INVALID\_EXPRESSION}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_EXPRESSION}{XB\_INVALID\_EXPRESSION}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+EXPRESSION~-\/507}
+
+\mbox{\Hypertarget{xbretcod_8h_a34180b2e2bd350ba2ebcdd1335e15d7e}\label{xbretcod_8h_a34180b2e2bd350ba2ebcdd1335e15d7e}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_FIELD@{XB\_INVALID\_FIELD}}
+\index{XB\_INVALID\_FIELD@{XB\_INVALID\_FIELD}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_FIELD}{XB\_INVALID\_FIELD}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+FIELD~-\/305}
+
+\mbox{\Hypertarget{xbretcod_8h_a7bd322c0efbba17f68ccccd6cf624411}\label{xbretcod_8h_a7bd322c0efbba17f68ccccd6cf624411}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_FIELD\_LEN@{XB\_INVALID\_FIELD\_LEN}}
+\index{XB\_INVALID\_FIELD\_LEN@{XB\_INVALID\_FIELD\_LEN}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_FIELD\_LEN}{XB\_INVALID\_FIELD\_LEN}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+LEN~-\/306}
+
+\mbox{\Hypertarget{xbretcod_8h_a59403978784130834cf39434cb73f96e}\label{xbretcod_8h_a59403978784130834cf39434cb73f96e}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_FIELD\_NAME@{XB\_INVALID\_FIELD\_NAME}}
+\index{XB\_INVALID\_FIELD\_NAME@{XB\_INVALID\_FIELD\_NAME}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_FIELD\_NAME}{XB\_INVALID\_FIELD\_NAME}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~-\/303}
+
+\mbox{\Hypertarget{xbretcod_8h_a09d6c08a44316f551108a74003efd381}\label{xbretcod_8h_a09d6c08a44316f551108a74003efd381}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_FIELD\_NO@{XB\_INVALID\_FIELD\_NO}}
+\index{XB\_INVALID\_FIELD\_NO@{XB\_INVALID\_FIELD\_NO}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_FIELD\_NO}{XB\_INVALID\_FIELD\_NO}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~-\/301}
+
+\mbox{\Hypertarget{xbretcod_8h_a79e2588f067d6e236c0e5a2c0728ba9f}\label{xbretcod_8h_a79e2588f067d6e236c0e5a2c0728ba9f}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_FIELD\_TYPE@{XB\_INVALID\_FIELD\_TYPE}}
+\index{XB\_INVALID\_FIELD\_TYPE@{XB\_INVALID\_FIELD\_TYPE}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_FIELD\_TYPE}{XB\_INVALID\_FIELD\_TYPE}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~-\/300}
+
+\mbox{\Hypertarget{xbretcod_8h_a2b7e5e440dbcf5e6dc885b24dbe28742}\label{xbretcod_8h_a2b7e5e440dbcf5e6dc885b24dbe28742}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_FUNCTION@{XB\_INVALID\_FUNCTION}}
+\index{XB\_INVALID\_FUNCTION@{XB\_INVALID\_FUNCTION}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_FUNCTION}{XB\_INVALID\_FUNCTION}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+FUNCTION~-\/501}
+
+\mbox{\Hypertarget{xbretcod_8h_acd175ef0541e2cad424791bd87619dd4}\label{xbretcod_8h_acd175ef0541e2cad424791bd87619dd4}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_INDEX@{XB\_INVALID\_INDEX}}
+\index{XB\_INVALID\_INDEX@{XB\_INVALID\_INDEX}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_INDEX}{XB\_INVALID\_INDEX}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+INDEX~-\/601}
+
+\mbox{\Hypertarget{xbretcod_8h_aec2c0ac2bd62e0329ef130e4fbda39f8}\label{xbretcod_8h_aec2c0ac2bd62e0329ef130e4fbda39f8}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_KEYNO@{XB\_INVALID\_KEYNO}}
+\index{XB\_INVALID\_KEYNO@{XB\_INVALID\_KEYNO}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_KEYNO}{XB\_INVALID\_KEYNO}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+KEYNO~-\/600}
+
+\mbox{\Hypertarget{xbretcod_8h_ab45735e63c208eb7e6d6df31fd527aec}\label{xbretcod_8h_ab45735e63c208eb7e6d6df31fd527aec}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_LOCK\_OPTION@{XB\_INVALID\_LOCK\_OPTION}}
+\index{XB\_INVALID\_LOCK\_OPTION@{XB\_INVALID\_LOCK\_OPTION}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_LOCK\_OPTION}{XB\_INVALID\_LOCK\_OPTION}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+LOCK\+\_\+\+OPTION~-\/400}
+
+\mbox{\Hypertarget{xbretcod_8h_a187c50745f51bfe4aa6f70a92f16c59f}\label{xbretcod_8h_a187c50745f51bfe4aa6f70a92f16c59f}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_MEMO\_FIELD@{XB\_INVALID\_MEMO\_FIELD}}
+\index{XB\_INVALID\_MEMO\_FIELD@{XB\_INVALID\_MEMO\_FIELD}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_MEMO\_FIELD}{XB\_INVALID\_MEMO\_FIELD}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+MEMO\+\_\+\+FIELD~-\/304}
+
+\mbox{\Hypertarget{xbretcod_8h_a13e6876470bd34c8c4e5533f115e04eb}\label{xbretcod_8h_a13e6876470bd34c8c4e5533f115e04eb}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_NODELINK@{XB\_INVALID\_NODELINK}}
+\index{XB\_INVALID\_NODELINK@{XB\_INVALID\_NODELINK}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_NODELINK}{XB\_INVALID\_NODELINK}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+NODELINK~-\/120}
+
+\mbox{\Hypertarget{xbretcod_8h_a418c047353bc683d0fd6ecbbdd5b7885}\label{xbretcod_8h_a418c047353bc683d0fd6ecbbdd5b7885}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_OBJECT@{XB\_INVALID\_OBJECT}}
+\index{XB\_INVALID\_OBJECT@{XB\_INVALID\_OBJECT}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_OBJECT}{XB\_INVALID\_OBJECT}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+OBJECT~-\/206}
+
+\mbox{\Hypertarget{xbretcod_8h_af1cd0baf346cad686fa4dd11f700012a}\label{xbretcod_8h_af1cd0baf346cad686fa4dd11f700012a}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_OPTION@{XB\_INVALID\_OPTION}}
+\index{XB\_INVALID\_OPTION@{XB\_INVALID\_OPTION}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_OPTION}{XB\_INVALID\_OPTION}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+OPTION~-\/101}
+
+\mbox{\Hypertarget{xbretcod_8h_ad0aba12b5ae2137f8d6abd28b47f95f0}\label{xbretcod_8h_ad0aba12b5ae2137f8d6abd28b47f95f0}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_PAGE@{XB\_INVALID\_PAGE}}
+\index{XB\_INVALID\_PAGE@{XB\_INVALID\_PAGE}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_PAGE}{XB\_INVALID\_PAGE}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+PAGE~-\/603}
+
+\mbox{\Hypertarget{xbretcod_8h_a1b78533ada854b4185c51ad8a5ce9f02}\label{xbretcod_8h_a1b78533ada854b4185c51ad8a5ce9f02}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_PARAMETER@{XB\_INVALID\_PARAMETER}}
+\index{XB\_INVALID\_PARAMETER@{XB\_INVALID\_PARAMETER}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_PARAMETER}{XB\_INVALID\_PARAMETER}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+PARAMETER~-\/102}
+
+\mbox{\Hypertarget{xbretcod_8h_a4cedf96581c9cbc9c14d07494143702d}\label{xbretcod_8h_a4cedf96581c9cbc9c14d07494143702d}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_PARM@{XB\_INVALID\_PARM}}
+\index{XB\_INVALID\_PARM@{XB\_INVALID\_PARM}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_PARM}{XB\_INVALID\_PARM}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+PARM~-\/502}
+
+\mbox{\Hypertarget{xbretcod_8h_a0fd212f912b2e62700a66bae95bd73a1}\label{xbretcod_8h_a0fd212f912b2e62700a66bae95bd73a1}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_RECORD@{XB\_INVALID\_RECORD}}
+\index{XB\_INVALID\_RECORD@{XB\_INVALID\_RECORD}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_RECORD}{XB\_INVALID\_RECORD}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+RECORD~-\/218}
+
+\mbox{\Hypertarget{xbretcod_8h_a53891c95a78483704d2a8e14c4499f92}\label{xbretcod_8h_a53891c95a78483704d2a8e14c4499f92}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_TABLE\_NAME@{XB\_INVALID\_TABLE\_NAME}}
+\index{XB\_INVALID\_TABLE\_NAME@{XB\_INVALID\_TABLE\_NAME}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_TABLE\_NAME}{XB\_INVALID\_TABLE\_NAME}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+TABLE\+\_\+\+NAME~-\/220}
+
+\mbox{\Hypertarget{xbretcod_8h_a176d917912d3433f065483f905a4c50a}\label{xbretcod_8h_a176d917912d3433f065483f905a4c50a}}
+\index{xbretcod.h@{xbretcod.h}!XB\_INVALID\_TAG@{XB\_INVALID\_TAG}}
+\index{XB\_INVALID\_TAG@{XB\_INVALID\_TAG}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_INVALID\_TAG}{XB\_INVALID\_TAG}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+INVALID\+\_\+\+TAG~-\/602}
+
+\mbox{\Hypertarget{xbretcod_8h_ad60dbb1862c0c1c2dc0464cfbfd93a34}\label{xbretcod_8h_ad60dbb1862c0c1c2dc0464cfbfd93a34}}
+\index{xbretcod.h@{xbretcod.h}!XB\_KEY\_NOT\_UNIQUE@{XB\_KEY\_NOT\_UNIQUE}}
+\index{XB\_KEY\_NOT\_UNIQUE@{XB\_KEY\_NOT\_UNIQUE}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_KEY\_NOT\_UNIQUE}{XB\_KEY\_NOT\_UNIQUE}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+KEY\+\_\+\+NOT\+\_\+\+UNIQUE~-\/121}
+
+\mbox{\Hypertarget{xbretcod_8h_a59f1a8a6aca19595c2d1804349a24850}\label{xbretcod_8h_a59f1a8a6aca19595c2d1804349a24850}}
+\index{xbretcod.h@{xbretcod.h}!XB\_LIMIT\_REACHED@{XB\_LIMIT\_REACHED}}
+\index{XB\_LIMIT\_REACHED@{XB\_LIMIT\_REACHED}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_LIMIT\_REACHED}{XB\_LIMIT\_REACHED}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+LIMIT\+\_\+\+REACHED~-\/222}
+
+\mbox{\Hypertarget{xbretcod_8h_a001e24b39e0f155fb1e892f5b1b9cff1}\label{xbretcod_8h_a001e24b39e0f155fb1e892f5b1b9cff1}}
+\index{xbretcod.h@{xbretcod.h}!XB\_LOCK\_FAILED@{XB\_LOCK\_FAILED}}
+\index{XB\_LOCK\_FAILED@{XB\_LOCK\_FAILED}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_LOCK\_FAILED}{XB\_LOCK\_FAILED}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+LOCK\+\_\+\+FAILED~-\/401}
+
+\mbox{\Hypertarget{xbretcod_8h_a299419a9c80e000b74bf97a2d24d6a3d}\label{xbretcod_8h_a299419a9c80e000b74bf97a2d24d6a3d}}
+\index{xbretcod.h@{xbretcod.h}!XB\_MAX\_ERROR\_NO@{XB\_MAX\_ERROR\_NO}}
+\index{XB\_MAX\_ERROR\_NO@{XB\_MAX\_ERROR\_NO}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_MAX\_ERROR\_NO}{XB\_MAX\_ERROR\_NO}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+MAX\+\_\+\+ERROR\+\_\+\+NO~-\/999}
+
+\mbox{\Hypertarget{xbretcod_8h_aa2925f035e3b186d7efa14648ea0e86d}\label{xbretcod_8h_aa2925f035e3b186d7efa14648ea0e86d}}
+\index{xbretcod.h@{xbretcod.h}!XB\_MEMCPY\_ERROR@{XB\_MEMCPY\_ERROR}}
+\index{XB\_MEMCPY\_ERROR@{XB\_MEMCPY\_ERROR}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_MEMCPY\_ERROR}{XB\_MEMCPY\_ERROR}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+MEMCPY\+\_\+\+ERROR~-\/122}
+
+\mbox{\Hypertarget{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}\label{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}}
+\index{xbretcod.h@{xbretcod.h}!XB\_NO\_ERROR@{XB\_NO\_ERROR}}
+\index{XB\_NO\_ERROR@{XB\_NO\_ERROR}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_NO\_ERROR}{XB\_NO\_ERROR}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+NO\+\_\+\+ERROR~0}
+
+\mbox{\Hypertarget{xbretcod_8h_ae687fc7d872ba0475a8477e4447f9b54}\label{xbretcod_8h_ae687fc7d872ba0475a8477e4447f9b54}}
+\index{xbretcod.h@{xbretcod.h}!XB\_NO\_MEMORY@{XB\_NO\_MEMORY}}
+\index{XB\_NO\_MEMORY@{XB\_NO\_MEMORY}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_NO\_MEMORY}{XB\_NO\_MEMORY}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+NO\+\_\+\+MEMORY~-\/100}
+
+\mbox{\Hypertarget{xbretcod_8h_ac2606659a54111334f5b02861e533700}\label{xbretcod_8h_ac2606659a54111334f5b02861e533700}}
+\index{xbretcod.h@{xbretcod.h}!XB\_NOT\_FOUND@{XB\_NOT\_FOUND}}
+\index{XB\_NOT\_FOUND@{XB\_NOT\_FOUND}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_NOT\_FOUND}{XB\_NOT\_FOUND}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+NOT\+\_\+\+FOUND~-\/208}
+
+\mbox{\Hypertarget{xbretcod_8h_a9474b400f647bdefbbb07e5177e8d7a1}\label{xbretcod_8h_a9474b400f647bdefbbb07e5177e8d7a1}}
+\index{xbretcod.h@{xbretcod.h}!XB\_NOT\_OPEN@{XB\_NOT\_OPEN}}
+\index{XB\_NOT\_OPEN@{XB\_NOT\_OPEN}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_NOT\_OPEN}{XB\_NOT\_OPEN}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+NOT\+\_\+\+OPEN~-\/207}
+
+\mbox{\Hypertarget{xbretcod_8h_aaab55236993a1d3acb29206252a904c8}\label{xbretcod_8h_aaab55236993a1d3acb29206252a904c8}}
+\index{xbretcod.h@{xbretcod.h}!XB\_OPEN\_ERROR@{XB\_OPEN\_ERROR}}
+\index{XB\_OPEN\_ERROR@{XB\_OPEN\_ERROR}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_OPEN\_ERROR}{XB\_OPEN\_ERROR}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+OPEN\+\_\+\+ERROR~-\/209}
+
+\mbox{\Hypertarget{xbretcod_8h_aec713cac2b03a0d536a2d16336ae7c0b}\label{xbretcod_8h_aec713cac2b03a0d536a2d16336ae7c0b}}
+\index{xbretcod.h@{xbretcod.h}!XB\_PARSE\_ERROR@{XB\_PARSE\_ERROR}}
+\index{XB\_PARSE\_ERROR@{XB\_PARSE\_ERROR}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_PARSE\_ERROR}{XB\_PARSE\_ERROR}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+PARSE\+\_\+\+ERROR~-\/500}
+
+\mbox{\Hypertarget{xbretcod_8h_adbd40585db8bb748d191f94a33bac710}\label{xbretcod_8h_adbd40585db8bb748d191f94a33bac710}}
+\index{xbretcod.h@{xbretcod.h}!XB\_READ\_ERROR@{XB\_READ\_ERROR}}
+\index{XB\_READ\_ERROR@{XB\_READ\_ERROR}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_READ\_ERROR}{XB\_READ\_ERROR}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+READ\+\_\+\+ERROR~-\/212}
+
+\mbox{\Hypertarget{xbretcod_8h_a373f30b2efcbbab9f6d060fb3fe8cba3}\label{xbretcod_8h_a373f30b2efcbbab9f6d060fb3fe8cba3}}
+\index{xbretcod.h@{xbretcod.h}!XB\_RENAME\_ERROR@{XB\_RENAME\_ERROR}}
+\index{XB\_RENAME\_ERROR@{XB\_RENAME\_ERROR}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_RENAME\_ERROR}{XB\_RENAME\_ERROR}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+RENAME\+\_\+\+ERROR~-\/205}
+
+\mbox{\Hypertarget{xbretcod_8h_a0455ad8719e153b08ec68b10c81e9f41}\label{xbretcod_8h_a0455ad8719e153b08ec68b10c81e9f41}}
+\index{xbretcod.h@{xbretcod.h}!XB\_SEEK\_ERROR@{XB\_SEEK\_ERROR}}
+\index{XB\_SEEK\_ERROR@{XB\_SEEK\_ERROR}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_SEEK\_ERROR}{XB\_SEEK\_ERROR}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+SEEK\+\_\+\+ERROR~-\/211}
+
+\mbox{\Hypertarget{xbretcod_8h_a5db3a90f215534143bdde81253729c7f}\label{xbretcod_8h_a5db3a90f215534143bdde81253729c7f}}
+\index{xbretcod.h@{xbretcod.h}!XB\_SYNTAX\_ERROR@{XB\_SYNTAX\_ERROR}}
+\index{XB\_SYNTAX\_ERROR@{XB\_SYNTAX\_ERROR}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_SYNTAX\_ERROR}{XB\_SYNTAX\_ERROR}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+SYNTAX\+\_\+\+ERROR~-\/700}
+
+\mbox{\Hypertarget{xbretcod_8h_af6aaf779fddecca521d785666f6dc56b}\label{xbretcod_8h_af6aaf779fddecca521d785666f6dc56b}}
+\index{xbretcod.h@{xbretcod.h}!XB\_TABLE\_NOT\_LOCKED@{XB\_TABLE\_NOT\_LOCKED}}
+\index{XB\_TABLE\_NOT\_LOCKED@{XB\_TABLE\_NOT\_LOCKED}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_TABLE\_NOT\_LOCKED}{XB\_TABLE\_NOT\_LOCKED}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+TABLE\+\_\+\+NOT\+\_\+\+LOCKED~-\/402}
+
+\mbox{\Hypertarget{xbretcod_8h_aff5646a6b0884ff81004de6961473ea6}\label{xbretcod_8h_aff5646a6b0884ff81004de6961473ea6}}
+\index{xbretcod.h@{xbretcod.h}!XB\_UNBALANCED\_PARENS@{XB\_UNBALANCED\_PARENS}}
+\index{XB\_UNBALANCED\_PARENS@{XB\_UNBALANCED\_PARENS}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_UNBALANCED\_PARENS}{XB\_UNBALANCED\_PARENS}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+UNBALANCED\+\_\+\+PARENS~-\/505}
+
+\mbox{\Hypertarget{xbretcod_8h_aedfa20a6c4eb9ba3063ba56be8280eac}\label{xbretcod_8h_aedfa20a6c4eb9ba3063ba56be8280eac}}
+\index{xbretcod.h@{xbretcod.h}!XB\_UNBALANCED\_QUOTES@{XB\_UNBALANCED\_QUOTES}}
+\index{XB\_UNBALANCED\_QUOTES@{XB\_UNBALANCED\_QUOTES}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_UNBALANCED\_QUOTES}{XB\_UNBALANCED\_QUOTES}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+UNBALANCED\+\_\+\+QUOTES~-\/506}
+
+\mbox{\Hypertarget{xbretcod_8h_aef34ebe6726057f805d6063130280549}\label{xbretcod_8h_aef34ebe6726057f805d6063130280549}}
+\index{xbretcod.h@{xbretcod.h}!XB\_WRITE\_ERROR@{XB\_WRITE\_ERROR}}
+\index{XB\_WRITE\_ERROR@{XB\_WRITE\_ERROR}!xbretcod.h@{xbretcod.h}}
+\doxysubsubsection{\texorpdfstring{XB\_WRITE\_ERROR}{XB\_WRITE\_ERROR}}
+{\footnotesize\ttfamily \#define XB\+\_\+\+WRITE\+\_\+\+ERROR~-\/213}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbretcod_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbretcod_8h_source.tex
new file mode 100644
index 0000000..54e20a0
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbretcod_8h_source.tex
@@ -0,0 +1,104 @@
+\hypertarget{xbretcod_8h_source}{}\doxysection{xbretcod.\+h}
+\label{xbretcod_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbretcod.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbretcod.h}}
+\mbox{\hyperlink{xbretcod_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbretcod.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 \textcolor{preprocessor}{\#ifndef \_\_XB\_RETCODES\_H\_\_}}
+\DoxyCodeLine{17 \textcolor{preprocessor}{\#define \_\_XB\_RETCODES\_H\_\_}}
+\DoxyCodeLine{18 }
+\DoxyCodeLine{19 \textcolor{comment}{/***********************************************/}}
+\DoxyCodeLine{20 \textcolor{comment}{/* Return Codes and Error Messages */}}
+\DoxyCodeLine{21 }
+\DoxyCodeLine{22 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{23 }
+\DoxyCodeLine{24 \textcolor{preprocessor}{ \#define XB\_NO\_ERROR 0 }\textcolor{comment}{// general}}
+\DoxyCodeLine{25 \textcolor{preprocessor}{ \#define XB\_NO\_MEMORY -\/100 }\textcolor{comment}{// general}}
+\DoxyCodeLine{26 \textcolor{preprocessor}{ \#define XB\_INVALID\_OPTION -\/101 }\textcolor{comment}{// general}}
+\DoxyCodeLine{27 \textcolor{preprocessor}{ \#define XB\_INVALID\_PARAMETER -\/102 }\textcolor{comment}{// general}}
+\DoxyCodeLine{28 \textcolor{preprocessor}{ \#define XB\_DUP\_TABLE\_OR\_ALIAS -\/110 }\textcolor{comment}{// table manager}}
+\DoxyCodeLine{29 \textcolor{preprocessor}{ \#define XB\_INVALID\_NODELINK -\/120 }\textcolor{comment}{// linklist}}
+\DoxyCodeLine{30 \textcolor{preprocessor}{ \#define XB\_KEY\_NOT\_UNIQUE -\/121 }\textcolor{comment}{// linklist, index}}
+\DoxyCodeLine{31 \textcolor{preprocessor}{ \#define XB\_MEMCPY\_ERROR -\/122 }\textcolor{comment}{// memcpy failure}}
+\DoxyCodeLine{32 }
+\DoxyCodeLine{33 \textcolor{preprocessor}{ \#define XB\_FILE\_EXISTS -\/200 }\textcolor{comment}{// file}}
+\DoxyCodeLine{34 \textcolor{preprocessor}{ \#define XB\_ALREADY\_OPEN -\/201 }\textcolor{comment}{// file}}
+\DoxyCodeLine{35 \textcolor{preprocessor}{ \#define XB\_DBF\_FILE\_NOT\_OPEN -\/202 }\textcolor{comment}{// file}}
+\DoxyCodeLine{36 \textcolor{preprocessor}{ \#define XB\_FILE\_NOT\_FOUND -\/203 }\textcolor{comment}{// file}}
+\DoxyCodeLine{37 \textcolor{preprocessor}{ \#define XB\_FILE\_TYPE\_NOT\_SUPPORTED -\/204 }\textcolor{comment}{// file}}
+\DoxyCodeLine{38 \textcolor{preprocessor}{ \#define XB\_RENAME\_ERROR -\/205 }\textcolor{comment}{// file}}
+\DoxyCodeLine{39 \textcolor{preprocessor}{ \#define XB\_INVALID\_OBJECT -\/206 }\textcolor{comment}{// file}}
+\DoxyCodeLine{40 \textcolor{preprocessor}{ \#define XB\_NOT\_OPEN -\/207 }\textcolor{comment}{// file}}
+\DoxyCodeLine{41 \textcolor{preprocessor}{ \#define XB\_NOT\_FOUND -\/208 }\textcolor{comment}{// file}}
+\DoxyCodeLine{42 \textcolor{preprocessor}{ \#define XB\_OPEN\_ERROR -\/209 }\textcolor{comment}{// file}}
+\DoxyCodeLine{43 \textcolor{preprocessor}{ \#define XB\_CLOSE\_ERROR -\/210 }\textcolor{comment}{// file}}
+\DoxyCodeLine{44 \textcolor{preprocessor}{ \#define XB\_SEEK\_ERROR -\/211 }\textcolor{comment}{// file}}
+\DoxyCodeLine{45 \textcolor{preprocessor}{ \#define XB\_READ\_ERROR -\/212 }\textcolor{comment}{// file}}
+\DoxyCodeLine{46 \textcolor{preprocessor}{ \#define XB\_WRITE\_ERROR -\/213 }\textcolor{comment}{// file}}
+\DoxyCodeLine{47 \textcolor{preprocessor}{ \#define XB\_EOF -\/214 }\textcolor{comment}{// file}}
+\DoxyCodeLine{48 \textcolor{preprocessor}{ \#define XB\_BOF -\/215 }\textcolor{comment}{// file}}
+\DoxyCodeLine{49 \textcolor{preprocessor}{ \#define XB\_INVALID\_BLOCK\_SIZE -\/216 }\textcolor{comment}{// file}}
+\DoxyCodeLine{50 \textcolor{preprocessor}{ \#define XB\_INVALID\_BLOCK\_NO -\/217 }\textcolor{comment}{// file}}
+\DoxyCodeLine{51 \textcolor{preprocessor}{ \#define XB\_INVALID\_RECORD -\/218 }\textcolor{comment}{// file}}
+\DoxyCodeLine{52 \textcolor{preprocessor}{ \#define XB\_DELETE\_FAILED -\/219 }\textcolor{comment}{// file}}
+\DoxyCodeLine{53 \textcolor{preprocessor}{ \#define XB\_INVALID\_TABLE\_NAME -\/220 }\textcolor{comment}{// file}}
+\DoxyCodeLine{54 \textcolor{preprocessor}{ \#define XB\_EMPTY -\/221 }\textcolor{comment}{// file}}
+\DoxyCodeLine{55 \textcolor{preprocessor}{ \#define XB\_LIMIT\_REACHED -\/222 }\textcolor{comment}{// file}}
+\DoxyCodeLine{56 \textcolor{preprocessor}{ \#define XB\_BLOCKREAD\_NOT\_ENABLED -\/223 }\textcolor{comment}{// file}}
+\DoxyCodeLine{57 \textcolor{preprocessor}{ \#define XB\_DIRECTORY\_ERROR -\/224 }\textcolor{comment}{// file}}
+\DoxyCodeLine{58 }
+\DoxyCodeLine{59 \textcolor{preprocessor}{ \#define XB\_INVALID\_FIELD\_TYPE -\/300 }\textcolor{comment}{// field}}
+\DoxyCodeLine{60 \textcolor{preprocessor}{ \#define XB\_INVALID\_FIELD\_NO -\/301 }\textcolor{comment}{// field}}
+\DoxyCodeLine{61 \textcolor{preprocessor}{ \#define XB\_INVALID\_DATA -\/302 }\textcolor{comment}{// field}}
+\DoxyCodeLine{62 \textcolor{preprocessor}{ \#define XB\_INVALID\_FIELD\_NAME -\/303 }\textcolor{comment}{// field}}
+\DoxyCodeLine{63 \textcolor{preprocessor}{ \#define XB\_INVALID\_MEMO\_FIELD -\/304 }\textcolor{comment}{// field}}
+\DoxyCodeLine{64 \textcolor{preprocessor}{ \#define XB\_INVALID\_FIELD -\/305 }\textcolor{comment}{// field}}
+\DoxyCodeLine{65 \textcolor{preprocessor}{ \#define XB\_INVALID\_FIELD\_LEN -\/306 }\textcolor{comment}{// field}}
+\DoxyCodeLine{66 \textcolor{preprocessor}{ \#define XB\_INVALID\_DATE -\/307 }\textcolor{comment}{// date field}}
+\DoxyCodeLine{67 }
+\DoxyCodeLine{68 \textcolor{preprocessor}{ \#define XB\_INVALID\_LOCK\_OPTION -\/400 }\textcolor{comment}{// lock}}
+\DoxyCodeLine{69 \textcolor{preprocessor}{ \#define XB\_LOCK\_FAILED -\/401 }\textcolor{comment}{// lock}}
+\DoxyCodeLine{70 \textcolor{preprocessor}{ \#define XB\_TABLE\_NOT\_LOCKED -\/402 }\textcolor{comment}{// lock -\/ need table locked for operation}}
+\DoxyCodeLine{71 }
+\DoxyCodeLine{72 \textcolor{preprocessor}{ \#define XB\_PARSE\_ERROR -\/500 }\textcolor{comment}{// expression}}
+\DoxyCodeLine{73 \textcolor{preprocessor}{ \#define XB\_INVALID\_FUNCTION -\/501 }\textcolor{comment}{// expression}}
+\DoxyCodeLine{74 \textcolor{preprocessor}{ \#define XB\_INVALID\_PARM -\/502 }\textcolor{comment}{// expression}}
+\DoxyCodeLine{75 \textcolor{preprocessor}{ \#define XB\_INCONSISTENT\_PARM\_LENS -\/503 }\textcolor{comment}{// expression}}
+\DoxyCodeLine{76 \textcolor{preprocessor}{ \#define XB\_INCOMPATIBLE\_OPERANDS -\/504 }\textcolor{comment}{// expression}}
+\DoxyCodeLine{77 \textcolor{preprocessor}{ \#define XB\_UNBALANCED\_PARENS -\/505 }\textcolor{comment}{// expression}}
+\DoxyCodeLine{78 \textcolor{preprocessor}{ \#define XB\_UNBALANCED\_QUOTES -\/506 }\textcolor{comment}{// expression}}
+\DoxyCodeLine{79 \textcolor{preprocessor}{ \#define XB\_INVALID\_EXPRESSION -\/507 }\textcolor{comment}{// expression}}
+\DoxyCodeLine{80 }
+\DoxyCodeLine{81 \textcolor{preprocessor}{ \#define XB\_INVALID\_KEYNO -\/600 }\textcolor{comment}{// index}}
+\DoxyCodeLine{82 \textcolor{preprocessor}{ \#define XB\_INVALID\_INDEX -\/601 }\textcolor{comment}{// index file error}}
+\DoxyCodeLine{83 \textcolor{preprocessor}{ \#define XB\_INVALID\_TAG -\/602 }\textcolor{comment}{// invalid index tag name, must be <= 10 bytes}}
+\DoxyCodeLine{84 \textcolor{preprocessor}{ \#define XB\_INVALID\_PAGE -\/603 }\textcolor{comment}{// invalid index page}}
+\DoxyCodeLine{85 }
+\DoxyCodeLine{86 }
+\DoxyCodeLine{87 \textcolor{preprocessor}{ \#define XB\_SYNTAX\_ERROR -\/700 }\textcolor{comment}{// sql syntax error}}
+\DoxyCodeLine{88 }
+\DoxyCodeLine{89 }
+\DoxyCodeLine{90 \textcolor{preprocessor}{ \#define XB\_MAX\_ERROR\_NO -\/999}}
+\DoxyCodeLine{91 }
+\DoxyCodeLine{92 }
+\DoxyCodeLine{93 \textcolor{comment}{/* when updating this table, also need to update messages in xbssv.cpp */}}
+\DoxyCodeLine{94 }
+\DoxyCodeLine{95 }
+\DoxyCodeLine{96 \} \textcolor{comment}{/* namespace */}}
+\DoxyCodeLine{97 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XB\_RETCODES\_H\_\_ */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{98 }
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbselect_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbselect_8cpp.tex
new file mode 100644
index 0000000..220f74f
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbselect_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbselect_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/sql/xbselect.cpp File Reference}
+\label{xbselect_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbselect.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbselect.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbset_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbset_8cpp.tex
new file mode 100644
index 0000000..173e7aa
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbset_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbset_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/sql/xbset.cpp File Reference}
+\label{xbset_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbset.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbset.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbsql_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbsql_8cpp.tex
new file mode 100644
index 0000000..7838282
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbsql_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbsql_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/sql/xbsql.cpp File Reference}
+\label{xbsql_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbsql.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbsql.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbsql_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbsql_8h.tex
new file mode 100644
index 0000000..aa01591
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbsql_8h.tex
@@ -0,0 +1,2 @@
+\hypertarget{xbsql_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbsql.h File Reference}
+\label{xbsql_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbsql.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbsql.h}}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbsql_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbsql_8h_source.tex
new file mode 100644
index 0000000..44b5335
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbsql_8h_source.tex
@@ -0,0 +1,167 @@
+\hypertarget{xbsql_8h_source}{}\doxysection{xbsql.\+h}
+\label{xbsql_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbsql.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbsql.h}}
+\mbox{\hyperlink{xbsql_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbsql.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 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}{This class manages a list of open tables, open indices are connected to the open tables}}
+\DoxyCodeLine{15 \textcolor{comment}{}}
+\DoxyCodeLine{16 \textcolor{comment}{*/}}
+\DoxyCodeLine{17 }
+\DoxyCodeLine{18 }
+\DoxyCodeLine{19 \textcolor{preprocessor}{\#ifndef \_\_XB\_XBSQL\_H\_\_}}
+\DoxyCodeLine{20 \textcolor{preprocessor}{\#define \_\_XB\_XBSQL\_H\_\_}}
+\DoxyCodeLine{21 }
+\DoxyCodeLine{22 \textcolor{preprocessor}{\#ifdef CMAKE\_COMPILER\_IS\_GNUCC}}
+\DoxyCodeLine{23 \textcolor{preprocessor}{\#pragma interface}}
+\DoxyCodeLine{24 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{25 }
+\DoxyCodeLine{26 }
+\DoxyCodeLine{27 \textcolor{preprocessor}{\#ifdef XB\_SQL\_SUPPORT}}
+\DoxyCodeLine{28 }
+\DoxyCodeLine{29 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{30 }
+\DoxyCodeLine{31 }
+\DoxyCodeLine{32 \textcolor{keyword}{struct }XBDLLEXPORT xbSqlFld\{}
+\DoxyCodeLine{33 \textcolor{keywordtype}{char} cType; \textcolor{comment}{// F -\/ Database field}}
+\DoxyCodeLine{34 \textcolor{comment}{// L -\/ Literal}}
+\DoxyCodeLine{35 \textcolor{comment}{// E -\/ Expression}}
+\DoxyCodeLine{36 xbInt16 iFldNo; \textcolor{comment}{// Field number if db field}}
+\DoxyCodeLine{37 xbExp * pExp; \textcolor{comment}{// If cType=E, pointer to parsed expression}}
+\DoxyCodeLine{38 xbString sFldAlias; \textcolor{comment}{// Alias name for query display}}
+\DoxyCodeLine{39 xbSqlFld * Next; \textcolor{comment}{// Next field in list}}
+\DoxyCodeLine{40 \};}
+\DoxyCodeLine{41 }
+\DoxyCodeLine{42 \textcolor{keyword}{class }xbStmt;}
+\DoxyCodeLine{43 }
+\DoxyCodeLine{44 }
+\DoxyCodeLine{45 \textcolor{keyword}{struct }XBDLLEXPORT xbTblJoin \{ \textcolor{comment}{// structure for defining joined tables in the query}}
+\DoxyCodeLine{46 }
+\DoxyCodeLine{47 xbString sTableName;}
+\DoxyCodeLine{48 xbString sAlias;}
+\DoxyCodeLine{49 xbString sJoinExp; \textcolor{comment}{// table join expression}}
+\DoxyCodeLine{50 \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *pDbf; \textcolor{comment}{// pointer the the dbf structure for this table}}
+\DoxyCodeLine{51 xbTag *pTag; \textcolor{comment}{// pointer to relevant tag for this table, null for record order}}
+\DoxyCodeLine{52 xbExp *pLinkExp; \textcolor{comment}{// pointer to parsed linkage expression}}
+\DoxyCodeLine{53 \textcolor{keywordtype}{char} cJoinType; \textcolor{comment}{// M -\/ Master}}
+\DoxyCodeLine{54 \textcolor{comment}{// L -\/ Left or Full Left}}
+\DoxyCodeLine{55 \textcolor{comment}{// R -\/ Right or Full Right}}
+\DoxyCodeLine{56 \textcolor{comment}{// I -\/ Inner}}
+\DoxyCodeLine{57 \textcolor{comment}{// O -\/ Outer or Full Outer Outer}}
+\DoxyCodeLine{58 }
+\DoxyCodeLine{59 xbTblJoin *pMaster; \textcolor{comment}{// pointer to master table, null if this is the primary master}}
+\DoxyCodeLine{60 xbLinkList<xbTblJoin *> llSubList; \textcolor{comment}{// linked list of subordinate tables}}
+\DoxyCodeLine{61 \textcolor{comment}{// xbStmt *pSubQuery; // pointer to sub query}}
+\DoxyCodeLine{62 xbTblJoin *next; \textcolor{comment}{// next tbl}}
+\DoxyCodeLine{63 \};}
+\DoxyCodeLine{64 }
+\DoxyCodeLine{65 }
+\DoxyCodeLine{66 \textcolor{keyword}{class }XBDLLEXPORT xbStmt : \textcolor{keyword}{public} xbSsv\{}
+\DoxyCodeLine{67 }
+\DoxyCodeLine{68 \textcolor{keyword}{public}:}
+\DoxyCodeLine{69 xbStmt( \mbox{\hyperlink{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}{xbXBase}} *x );}
+\DoxyCodeLine{70 \string~xbStmt();}
+\DoxyCodeLine{71 }
+\DoxyCodeLine{72 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{73 xbInt16 DumpStmtInternals();}
+\DoxyCodeLine{74 xbInt16 Test();}
+\DoxyCodeLine{75 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{76 }
+\DoxyCodeLine{77 xbInt16 ExecuteQuery( \textcolor{keyword}{const} xbString \&sCmdLine ); }
+\DoxyCodeLine{78 }
+\DoxyCodeLine{79 \textcolor{comment}{// xbInt16 FetchFirst();}}
+\DoxyCodeLine{80 \textcolor{comment}{// xbInt16 FetchNext();}}
+\DoxyCodeLine{81 \textcolor{comment}{// xbInt16 FetchPrev();}}
+\DoxyCodeLine{82 \textcolor{comment}{// xbInt16 FetchLast();}}
+\DoxyCodeLine{83 \textcolor{comment}{// xbString \&GetField( const xbString sFldName );}}
+\DoxyCodeLine{84 }
+\DoxyCodeLine{85 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{86 }
+\DoxyCodeLine{87 \textcolor{keyword}{private}:}
+\DoxyCodeLine{88 }
+\DoxyCodeLine{89 xbInt16 AddQryTbl( \textcolor{keyword}{const} xbString \&sTable, \textcolor{keyword}{const} xbString \&sAlias, \textcolor{keyword}{const} xbString \&sExpression, \textcolor{keyword}{const} \textcolor{keywordtype}{char} cJoinType );}
+\DoxyCodeLine{90 xbInt16 CvtSqlExp2DbaseExp( \textcolor{keyword}{const} xbString \&sExpIn, xbString \&sExpOut );}
+\DoxyCodeLine{91 xbInt16 GetNextFromSeg( \textcolor{keyword}{const} xbString \&sLineIn, xbString \&sFromSegOut );}
+\DoxyCodeLine{92 xbUInt32 GetNextToken( \textcolor{keyword}{const} xbString \&sCmdLineIn, xbString \&sTokenOut, xbUInt32 ulStartPos );}
+\DoxyCodeLine{93 xbInt16 GetParenCnt( \textcolor{keyword}{const} xbString \&sToken );}
+\DoxyCodeLine{94 xbInt16 ParseFromStmt( \textcolor{keyword}{const} xbString \&sFromLine );}
+\DoxyCodeLine{95 xbInt16 ParseStmt( \textcolor{keyword}{const} xbString \&sCmdLine );}
+\DoxyCodeLine{96 xbInt16 ProcessFromSeg( \textcolor{keyword}{const} xbString \&sFromStmtSeg );}
+\DoxyCodeLine{97 xbInt16 UpdateJoinList( \textcolor{keywordtype}{char} cType, \textcolor{keyword}{const} xbString \&sTableName, \textcolor{keyword}{const} xbString \&sAlias, \textcolor{keyword}{const} xbString \&sExp, \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} *d, xbExp *e ); \textcolor{comment}{//, xbTag *t);}}
+\DoxyCodeLine{98 }
+\DoxyCodeLine{99 \mbox{\hyperlink{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}{xbXBase}} *xbase; \textcolor{comment}{// pointer to xbase structure}}
+\DoxyCodeLine{100 }
+\DoxyCodeLine{101 }
+\DoxyCodeLine{102 xbTblJoin * pTblList;}
+\DoxyCodeLine{103 xbSqlFld *fl; \textcolor{comment}{// field list in sql select statement}}
+\DoxyCodeLine{104 xbString sStmt; \textcolor{comment}{// complete query statment}}
+\DoxyCodeLine{105 xbString sFields; \textcolor{comment}{// list of fields}}
+\DoxyCodeLine{106 xbString sFrom; \textcolor{comment}{// from statment}}
+\DoxyCodeLine{107 xbString sWhere; \textcolor{comment}{// where clause}}
+\DoxyCodeLine{108 xbString sOrderBy; \textcolor{comment}{// sort order}}
+\DoxyCodeLine{109 xbString sGroupBy; \textcolor{comment}{// group by}}
+\DoxyCodeLine{110 xbString sHaving; \textcolor{comment}{// having}}
+\DoxyCodeLine{111 xbUInt32 ulFromPos;}
+\DoxyCodeLine{112 xbUInt32 ulWherePos;}
+\DoxyCodeLine{113 xbUInt32 ulOrderByPos;}
+\DoxyCodeLine{114 xbUInt32 ulGroupByPos;}
+\DoxyCodeLine{115 xbUInt32 ulHavingPos;}
+\DoxyCodeLine{116 }
+\DoxyCodeLine{117 }
+\DoxyCodeLine{118 \};}
+\DoxyCodeLine{119 }
+\DoxyCodeLine{120 }
+\DoxyCodeLine{121 \textcolor{keyword}{class }XBDLLEXPORT xbSql : \textcolor{keyword}{public} xbSsv \{}
+\DoxyCodeLine{122 \textcolor{keyword}{public}:}
+\DoxyCodeLine{123 \textcolor{comment}{// xbSql();}}
+\DoxyCodeLine{124 xbSql( \mbox{\hyperlink{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}{xbXBase}} *x );}
+\DoxyCodeLine{125 \string~xbSql();}
+\DoxyCodeLine{126 }
+\DoxyCodeLine{127 xbInt16 ExecuteNonQuery( \textcolor{keyword}{const} xbString \&sCmdLine );}
+\DoxyCodeLine{128 \mbox{\hyperlink{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}{xbXBase}} *GetXbasePtr() \textcolor{keyword}{const};}
+\DoxyCodeLine{129 }
+\DoxyCodeLine{130 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{131 }
+\DoxyCodeLine{132 \textcolor{keyword}{private}:}
+\DoxyCodeLine{133 }
+\DoxyCodeLine{134 xbInt16 SqlAlterTable( \textcolor{keyword}{const} xbString \&sCmdLine );}
+\DoxyCodeLine{135 xbInt16 SqlCreateTable( \textcolor{keyword}{const} xbString \&sCmdLine );}
+\DoxyCodeLine{136 xbInt16 SqlDelete( \textcolor{keyword}{const} xbString \&sCmdLine );}
+\DoxyCodeLine{137 xbInt16 SqlDropTable( \textcolor{keyword}{const} xbString \&sCmdLine );}
+\DoxyCodeLine{138 }
+\DoxyCodeLine{139 \textcolor{preprocessor}{ \#ifdef XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{140 xbInt16 SqlCreateIndex( \textcolor{keyword}{const} xbString \&sCmdLine );}
+\DoxyCodeLine{141 xbInt16 SqlDropIndex( \textcolor{keyword}{const} xbString \&sCmdLine );}
+\DoxyCodeLine{142 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{143 }
+\DoxyCodeLine{144 \textcolor{comment}{// xbInt16 SqlCreateView( const xbString \&sCmdLine );}}
+\DoxyCodeLine{145 \textcolor{comment}{// xbInt16 SqlDropView( const xbString \&sCmdLine );}}
+\DoxyCodeLine{146 \textcolor{comment}{// xbInt16 SqlUpdate( const xbString \&sCmdLine );}}
+\DoxyCodeLine{147 \textcolor{comment}{// xbInt16 SqlSelect( const xbString \&sCmdLine );}}
+\DoxyCodeLine{148 }
+\DoxyCodeLine{149 \textcolor{keywordtype}{void} SqlHelp() \textcolor{keyword}{const};}
+\DoxyCodeLine{150 xbInt16 SqlInsert( \textcolor{keyword}{const} xbString \&sCmLine );}
+\DoxyCodeLine{151 xbInt16 SqlSet( \textcolor{keyword}{const} xbString \&sCmdLine );}
+\DoxyCodeLine{152 xbInt16 SqlUse( \textcolor{keyword}{const} xbString \&sCmdLine );}
+\DoxyCodeLine{153 }
+\DoxyCodeLine{154 \mbox{\hyperlink{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}{xbXBase}} *xbase;}
+\DoxyCodeLine{155 xbUda uda;}
+\DoxyCodeLine{156 }
+\DoxyCodeLine{157 \};}
+\DoxyCodeLine{158 }
+\DoxyCodeLine{159 \} \textcolor{comment}{/* namespace xb */}}
+\DoxyCodeLine{160 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* XB\_SQL\_SUPPORT */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{161 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XB\_XBSQL\_H\_\_ */}\textcolor{preprocessor}{}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbssv_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbssv_8cpp.tex
new file mode 100644
index 0000000..a9556e1
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbssv_8cpp.tex
@@ -0,0 +1,13 @@
+\hypertarget{xbssv_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbssv.cpp File Reference}
+\label{xbssv_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbssv.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbssv.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+const xb\+Error\+Message \mbox{\hyperlink{namespacexb_a04be228a037d220dd5564f5ef618adcc}{xb\+::xb\+Error\+Messages}} \mbox{[}$\,$\mbox{]}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbssv_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbssv_8h.tex
new file mode 100644
index 0000000..d903266
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbssv_8h.tex
@@ -0,0 +1,17 @@
+\hypertarget{xbssv_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbssv.h File Reference}
+\label{xbssv_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbssv.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbssv.h}}
+\doxysubsection*{Data Structures}
+\begin{DoxyCompactItemize}
+\item
+class \mbox{\hyperlink{classxb_1_1xbSsv}{xb\+::xb\+Ssv}}
+\begin{DoxyCompactList}\small\item\em Class for handling shared system variables. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+class XBDLLEXPORT \mbox{\hyperlink{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}{xb\+::xb\+XBase}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbssv_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbssv_8h_source.tex
new file mode 100644
index 0000000..df22666
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbssv_8h_source.tex
@@ -0,0 +1,187 @@
+\hypertarget{xbssv_8h_source}{}\doxysection{xbssv.\+h}
+\label{xbssv_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbssv.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbssv.h}}
+\mbox{\hyperlink{xbssv_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbssv.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\_XBSSV\_H\_\_}}
+\DoxyCodeLine{18 \textcolor{preprocessor}{\#define \_\_XB\_XBSSV\_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 }
+\DoxyCodeLine{25 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{26 }
+\DoxyCodeLine{27 \textcolor{keyword}{class }XBDLLEXPORT \mbox{\hyperlink{classxb_1_1xbXBase}{xbXBase}};}
+\DoxyCodeLine{28 }
+\DoxyCodeLine{30 \textcolor{keyword}{struct }XBDLLEXPORT xbErrorMessage\{}
+\DoxyCodeLine{31 xbInt16 iErrorNo;}
+\DoxyCodeLine{32 \textcolor{keyword}{const} \textcolor{keywordtype}{char} *sErrorText;}
+\DoxyCodeLine{33 \};}
+\DoxyCodeLine{35 }
+\DoxyCodeLine{36 }
+\DoxyCodeLine{38 }
+\DoxyCodeLine{49 \textcolor{comment}{// By design, DBase allows mutliple records in a table all having the same key, but only one entry in a unique index}}
+\DoxyCodeLine{50 \textcolor{comment}{// XB\_HALT\_ON\_DUP\_KEY tells the library to not allow appending records which generate duplicate keys in a unique index}}
+\DoxyCodeLine{51 \textcolor{comment}{//}}
+\DoxyCodeLine{52 \textcolor{preprocessor}{\#if defined (XB\_NDX\_SUPPORT) || defined (XB\_MDX\_SUPPORT)}}
+\DoxyCodeLine{53 \textcolor{preprocessor}{\#define XB\_HALT\_ON\_DUPKEY 0}}
+\DoxyCodeLine{54 \textcolor{preprocessor}{\#define XB\_EMULATE\_DBASE 1}}
+\DoxyCodeLine{55 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{56 }
+\DoxyCodeLine{57 }
+\DoxyCodeLine{58 }
+\DoxyCodeLine{59 \textcolor{keyword}{class }XBDLLEXPORT \mbox{\hyperlink{classxb_1_1xbSsv}{xbSsv}}\{}
+\DoxyCodeLine{60 \textcolor{keyword}{public}:}
+\DoxyCodeLine{61 \mbox{\hyperlink{classxb_1_1xbSsv}{xbSsv}}();}
+\DoxyCodeLine{62 \textcolor{keyword}{const} \textcolor{keyword}{static} \textcolor{keywordtype}{char} *ErrorCodeText[];}
+\DoxyCodeLine{63 }
+\DoxyCodeLine{64 \textcolor{keywordtype}{void} DisplayError ( xbInt16 ErrorCode ) \textcolor{keyword}{const};}
+\DoxyCodeLine{65 \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& GetDefaultDateFormat () \textcolor{keyword}{const};}
+\DoxyCodeLine{66 \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& GetDataDirectory () \textcolor{keyword}{const};}
+\DoxyCodeLine{67 \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& GetTempDirectory () \textcolor{keyword}{const};}
+\DoxyCodeLine{68 }
+\DoxyCodeLine{69 \textcolor{keywordtype}{void} GetHomeDir ( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sHomeDirOut );}
+\DoxyCodeLine{70 }
+\DoxyCodeLine{71 }
+\DoxyCodeLine{72 xbInt16 GetEndianType () \textcolor{keyword}{const};}
+\DoxyCodeLine{73 \textcolor{keyword}{const} \textcolor{keywordtype}{char} *GetErrorMessage ( xbInt16 ErrorCode ) \textcolor{keyword}{const};}
+\DoxyCodeLine{74 \textcolor{keywordtype}{char} GetPathSeparator () \textcolor{keyword}{const};}
+\DoxyCodeLine{75 }
+\DoxyCodeLine{76 \textcolor{keywordtype}{void} SetDataDirectory ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sDataDirectory );}
+\DoxyCodeLine{77 \textcolor{keywordtype}{void} SetDefaultDateFormat ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sDefaultDateFormat );}
+\DoxyCodeLine{78 \textcolor{keywordtype}{void} SetTempDirectory ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTempDirectory );}
+\DoxyCodeLine{79 }
+\DoxyCodeLine{80 }
+\DoxyCodeLine{81 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} BitSet ( \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} c, xbInt16 iBitNo ) \textcolor{keyword}{const};}
+\DoxyCodeLine{82 \textcolor{keywordtype}{void} BitDump ( \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} c ) \textcolor{keyword}{const};}
+\DoxyCodeLine{83 \textcolor{keywordtype}{void} BitDump ( \textcolor{keywordtype}{char} c ) \textcolor{keyword}{const};}
+\DoxyCodeLine{84 }
+\DoxyCodeLine{85 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetDefaultAutoCommit () \textcolor{keyword}{const};}
+\DoxyCodeLine{86 \textcolor{keywordtype}{void} SetDefaultAutoCommit ( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bDefaultAutoCommit );}
+\DoxyCodeLine{87 }
+\DoxyCodeLine{88 \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& GetLogDirectory () \textcolor{keyword}{const};}
+\DoxyCodeLine{89 \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& GetLogFileName () \textcolor{keyword}{const};}
+\DoxyCodeLine{90 \textcolor{keywordtype}{void} SetLogDirectory ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sLogDirectory );}
+\DoxyCodeLine{91 \textcolor{keywordtype}{void} SetLogFileName ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sLogFileName );}
+\DoxyCodeLine{92 }
+\DoxyCodeLine{93 }
+\DoxyCodeLine{94 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetMultiUser () \textcolor{keyword}{const};}
+\DoxyCodeLine{95 \textcolor{keywordtype}{void} SetMultiUser ( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bMultiUser );}
+\DoxyCodeLine{96 }
+\DoxyCodeLine{97 \textcolor{preprocessor}{ \#if defined (XB\_NDX\_SUPPORT) || defined (XB\_MDX\_SUPPORT)}}
+\DoxyCodeLine{98 xbInt16 GetUniqueKeyOpt () \textcolor{keyword}{const};}
+\DoxyCodeLine{99 xbInt16 SetUniqueKeyOpt ( xbInt16 iUniqueKeyOpt );}
+\DoxyCodeLine{100 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// (XB\_NDX\_SUPPORT) || defined (XB\_MDX\_SUPPORT)}}
+\DoxyCodeLine{101 }
+\DoxyCodeLine{102 \textcolor{preprocessor}{ \#ifdef XB\_LOCKING\_SUPPORT}}
+\DoxyCodeLine{103 xbInt16 GetDefaultLockRetries () \textcolor{keyword}{const};}
+\DoxyCodeLine{104 \textcolor{keywordtype}{void} SetDefaultLockRetries ( xbInt16 iRetryCount );}
+\DoxyCodeLine{105 xbInt32 GetDefaultLockWait () \textcolor{keyword}{const};}
+\DoxyCodeLine{106 \textcolor{keywordtype}{void} SetDefaultLockWait ( xbInt32 lRetryWait );}
+\DoxyCodeLine{107 xbInt16 GetDefaultLockFlavor () \textcolor{keyword}{const};}
+\DoxyCodeLine{108 \textcolor{keywordtype}{void} SetDefaultLockFlavor ( xbInt16 iLockFlavor );}
+\DoxyCodeLine{109 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetDefaultAutoLock () \textcolor{keyword}{const};}
+\DoxyCodeLine{110 \textcolor{keywordtype}{void} SetDefaultAutoLock ( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bAutoLock );}
+\DoxyCodeLine{111 \textcolor{keywordtype}{void} EnableDefaultAutoLock ();}
+\DoxyCodeLine{112 \textcolor{keywordtype}{void} DisableDefaultAutoLock ();}
+\DoxyCodeLine{113 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_LOCKING\_SUPPORT}}
+\DoxyCodeLine{114 }
+\DoxyCodeLine{115 \textcolor{preprocessor}{ \#ifdef XB\_MDX\_SUPPORT}}
+\DoxyCodeLine{116 xbInt16 GetCreateMdxBlockSize() \textcolor{keyword}{const};}
+\DoxyCodeLine{117 xbInt16 SetCreateMdxBlockSize( xbInt16 ulBlockSize );}
+\DoxyCodeLine{118 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_MDX\_SUPPORT}}
+\DoxyCodeLine{119 }
+\DoxyCodeLine{120 \textcolor{preprocessor}{ \#ifdef XB\_BLOCKREAD\_SUPPORT}}
+\DoxyCodeLine{121 xbUInt32 GetDefaultBlockReadSize() \textcolor{keyword}{const};}
+\DoxyCodeLine{122 \textcolor{keywordtype}{void} SetDefaultBlockReadSize( xbUInt32 ulDfltBlockReadSize );}
+\DoxyCodeLine{123 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_BLOCKREAD\_SUPPORT}}
+\DoxyCodeLine{124 }
+\DoxyCodeLine{125 }
+\DoxyCodeLine{126 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{127 }
+\DoxyCodeLine{128 \textcolor{keywordtype}{void} SetEndianType ();}
+\DoxyCodeLine{129 }
+\DoxyCodeLine{130 \textcolor{keyword}{static} xbInt16 \mbox{\hyperlink{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}{iEndianType}}; \textcolor{comment}{// B=Big Endian L=Little Endian}}
+\DoxyCodeLine{131 \textcolor{keyword}{static} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \mbox{\hyperlink{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}{sNullString}}; \textcolor{comment}{// Null String}}
+\DoxyCodeLine{132 }
+\DoxyCodeLine{133 }
+\DoxyCodeLine{134 \textcolor{keyword}{private}:}
+\DoxyCodeLine{135 }
+\DoxyCodeLine{136 \textcolor{keyword}{static} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sDefaultDateFormat;}
+\DoxyCodeLine{137 \textcolor{keyword}{static} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sDataDirectory; \textcolor{comment}{//Data file directory}}
+\DoxyCodeLine{138 \textcolor{keyword}{static} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sTempDirectory; \textcolor{comment}{//Temp file directory}}
+\DoxyCodeLine{139 }
+\DoxyCodeLine{140 \textcolor{preprocessor}{ \#ifdef XB\_LOGGING\_SUPPORT}}
+\DoxyCodeLine{141 \textcolor{keyword}{static} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sLogDirectory; \textcolor{comment}{//Default location to store log files}}
+\DoxyCodeLine{142 \textcolor{keyword}{static} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sLogFileName; \textcolor{comment}{//Default LogFileName}}
+\DoxyCodeLine{143 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{144 }
+\DoxyCodeLine{145 \textcolor{keyword}{static} xbInt16 iDefaultFileVersion; \textcolor{comment}{// 3 = DBase 3}}
+\DoxyCodeLine{146 \textcolor{comment}{// 4 = DBase 4}}
+\DoxyCodeLine{147 \textcolor{comment}{// default version used in CreateTable command}}
+\DoxyCodeLine{148 \textcolor{comment}{// can be over ridden at the Xbase level, or table level}}
+\DoxyCodeLine{149 \textcolor{comment}{// Different versions can be open simultaneously}}
+\DoxyCodeLine{150 }
+\DoxyCodeLine{151 \textcolor{keyword}{static} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bDefaultAutoCommit; \textcolor{comment}{// Default dbf auto commit switch}}
+\DoxyCodeLine{152 }
+\DoxyCodeLine{153 \textcolor{keyword}{static} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bMultiUser; \textcolor{comment}{// True if multi user mode is turned on}}
+\DoxyCodeLine{154 \textcolor{comment}{// Turn this off for better performance in single user mode}}
+\DoxyCodeLine{155 \textcolor{comment}{// This needs to be turned on or off before any data tables are opened}}
+\DoxyCodeLine{156 \textcolor{comment}{// turning this on after tables are opened, can result in out of date}}
+\DoxyCodeLine{157 \textcolor{comment}{// file buffers if multiple users are sharing the files}}
+\DoxyCodeLine{158 }
+\DoxyCodeLine{159 \textcolor{preprocessor}{\#ifdef XB\_LOCKING\_SUPPORT}}
+\DoxyCodeLine{160 \textcolor{keyword}{static} xbInt32 lDefaultLockWait; \textcolor{comment}{// Number of milliseconds between lock retries}}
+\DoxyCodeLine{161 \textcolor{keyword}{static} xbInt16 iDefaultLockRetries; \textcolor{comment}{// Number of times to retry a lock before conceding}}
+\DoxyCodeLine{162 \textcolor{keyword}{static} xbInt16 bDefaultAutoLock; \textcolor{comment}{// Autolocking enabled?}}
+\DoxyCodeLine{163 \textcolor{keyword}{static} xbInt16 iDefaultLockFlavor; \textcolor{comment}{// 1 = DBase}}
+\DoxyCodeLine{164 \textcolor{comment}{// 2 = Clipper -\/ not developed yet}}
+\DoxyCodeLine{165 \textcolor{comment}{// 3 = FoxPro -\/ not developed yet}}
+\DoxyCodeLine{166 \textcolor{comment}{// 9 = Xbase64 -\/ not developed yet}}
+\DoxyCodeLine{167 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{168 }
+\DoxyCodeLine{169 }
+\DoxyCodeLine{170 \textcolor{preprocessor}{\#if defined (XB\_NDX\_SUPPORT) || defined (XB\_MDX\_SUPPORT)}}
+\DoxyCodeLine{171 }
+\DoxyCodeLine{172 \textcolor{keyword}{static} xbInt16 iUniqueKeyOpt;}
+\DoxyCodeLine{173 }
+\DoxyCodeLine{174 \textcolor{comment}{// is one of:}}
+\DoxyCodeLine{175 \textcolor{comment}{// XB\_HALT\_ON\_DUPKEY}}
+\DoxyCodeLine{176 \textcolor{comment}{// XB\_EMULATE\_DBASE}}
+\DoxyCodeLine{177 }
+\DoxyCodeLine{178 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{179 }
+\DoxyCodeLine{180 }
+\DoxyCodeLine{181 \textcolor{preprocessor}{\#ifdef XB\_MDX\_SUPPORT}}
+\DoxyCodeLine{182 \textcolor{keyword}{static} xbInt16 iCreateMdxBlockSize; \textcolor{comment}{// System level Mdx Block Size}}
+\DoxyCodeLine{183 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_MDX\_SUPPORT}}
+\DoxyCodeLine{184 }
+\DoxyCodeLine{185 }
+\DoxyCodeLine{186 \textcolor{preprocessor}{\#ifdef XB\_BLOCKREAD\_SUPPORT}}
+\DoxyCodeLine{187 \textcolor{keyword}{static} xbUInt32 ulDefaultBlockReadSize;}
+\DoxyCodeLine{188 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_BLOCKREAD\_SUPPORT}}
+\DoxyCodeLine{189 }
+\DoxyCodeLine{190 }
+\DoxyCodeLine{191 \};}
+\DoxyCodeLine{192 }
+\DoxyCodeLine{193 \} \textcolor{comment}{/* namespace xb */}}
+\DoxyCodeLine{194 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XB\_XBSSV\_H\_\_ */}\textcolor{preprocessor}{}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstmt_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstmt_8cpp.tex
new file mode 100644
index 0000000..2063cf2
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstmt_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbstmt_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/sql/xbstmt.cpp File Reference}
+\label{xbstmt_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbstmt.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/sql/xbstmt.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstring_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstring_8cpp.tex
new file mode 100644
index 0000000..9523d9f
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstring_8cpp.tex
@@ -0,0 +1,13 @@
+\hypertarget{xbstring_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbstring.cpp File Reference}
+\label{xbstring_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbstring.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbstring.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+std\+::ostream \& \mbox{\hyperlink{namespacexb_ad27f348219e895c44f74addba8e1889a}{xb\+::operator$<$$<$}} (std\+::ostream \&os, const xb\+String \&s)
+\begin{DoxyCompactList}\small\item\em Stream insertion operator \texorpdfstring{$<$}{<}\texorpdfstring{$<$}{<}. \end{DoxyCompactList}\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstring_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstring_8h.tex
new file mode 100644
index 0000000..f941482
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstring_8h.tex
@@ -0,0 +1,14 @@
+\hypertarget{xbstring_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbstring.h File Reference}
+\label{xbstring_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbstring.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbstring.h}}
+{\ttfamily \#include $<$stdlib.\+h$>$}\newline
+{\ttfamily \#include $<$iostream$>$}\newline
+\doxysubsection*{Data Structures}
+\begin{DoxyCompactItemize}
+\item
+class \mbox{\hyperlink{classxb_1_1xbString}{xb\+::xb\+String}}
+\begin{DoxyCompactList}\small\item\em Class for handling string data. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstring_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstring_8h_source.tex
new file mode 100644
index 0000000..522d37f
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbstring_8h_source.tex
@@ -0,0 +1,174 @@
+\hypertarget{xbstring_8h_source}{}\doxysection{xbstring.\+h}
+\label{xbstring_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbstring.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbstring.h}}
+\mbox{\hyperlink{xbstring_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbstring.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 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 \textcolor{preprocessor}{\#ifndef \_\_XBSTRING\_H\_\_}}
+\DoxyCodeLine{17 \textcolor{preprocessor}{\#define \_\_XBSTRING\_H\_\_}}
+\DoxyCodeLine{18 }
+\DoxyCodeLine{19 \textcolor{preprocessor}{\#ifdef CMAKE\_COMPILER\_IS\_GNUCC}}
+\DoxyCodeLine{20 \textcolor{preprocessor}{\#pragma interface}}
+\DoxyCodeLine{21 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{22 }
+\DoxyCodeLine{23 \textcolor{preprocessor}{\#include <stdlib.h>}}
+\DoxyCodeLine{24 \textcolor{preprocessor}{\#include <iostream>}}
+\DoxyCodeLine{25 }
+\DoxyCodeLine{26 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{27 }
+\DoxyCodeLine{28 }
+\DoxyCodeLine{30 }
+\DoxyCodeLine{50 \textcolor{keyword}{class }XBDLLEXPORT \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \{}
+\DoxyCodeLine{51 }
+\DoxyCodeLine{52 \textcolor{keyword}{public}:}
+\DoxyCodeLine{53 \textcolor{comment}{//Various constructors}}
+\DoxyCodeLine{54 \mbox{\hyperlink{classxb_1_1xbString}{xbString}}(xbUInt32 size);}
+\DoxyCodeLine{55 \mbox{\hyperlink{classxb_1_1xbString}{xbString}}(\textcolor{keywordtype}{char} c);}
+\DoxyCodeLine{56 \mbox{\hyperlink{classxb_1_1xbString}{xbString}}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s, xbUInt32 lMaxLen);}
+\DoxyCodeLine{57 \mbox{\hyperlink{classxb_1_1xbString}{xbString}}(\textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s);}
+\DoxyCodeLine{58 \mbox{\hyperlink{classxb_1_1xbString}{xbString}}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} * = \textcolor{stringliteral}{"{}"{}});}
+\DoxyCodeLine{59 \mbox{\hyperlink{classxb_1_1xbString}{xbString}}( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} d );}
+\DoxyCodeLine{60 \mbox{\hyperlink{classxb_1_1xbString}{\string~xbString}}();}
+\DoxyCodeLine{61 }
+\DoxyCodeLine{62 \textcolor{comment}{//operators}}
+\DoxyCodeLine{63 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&operator= (\textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s);}
+\DoxyCodeLine{64 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&operator= (\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s);}
+\DoxyCodeLine{65 \textcolor{keyword}{operator} \textcolor{keyword}{const} \textcolor{keywordtype}{char} *() \textcolor{keyword}{const};}
+\DoxyCodeLine{66 \textcolor{keywordtype}{char} \&operator[](xbUInt32 n) \textcolor{keyword}{const};}
+\DoxyCodeLine{67 \textcolor{keywordtype}{char} \&operator[](xbInt32 n) \textcolor{keyword}{const};}
+\DoxyCodeLine{68 }
+\DoxyCodeLine{69 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&operator+=(\textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s);}
+\DoxyCodeLine{70 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&operator+=(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s);}
+\DoxyCodeLine{71 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&operator+=(\textcolor{keywordtype}{char} c);}
+\DoxyCodeLine{72 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&operator-\/=(\textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s);}
+\DoxyCodeLine{73 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&operator-\/=(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s);}
+\DoxyCodeLine{74 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&operator-\/=(\textcolor{keywordtype}{char} c);}
+\DoxyCodeLine{75 }
+\DoxyCodeLine{76 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator == ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& ) \textcolor{keyword}{const};}
+\DoxyCodeLine{77 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator == ( \textcolor{keyword}{const} \textcolor{keywordtype}{char} * ) \textcolor{keyword}{const};}
+\DoxyCodeLine{78 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator != ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& ) \textcolor{keyword}{const};}
+\DoxyCodeLine{79 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator != ( \textcolor{keyword}{const} \textcolor{keywordtype}{char} * ) \textcolor{keyword}{const};}
+\DoxyCodeLine{80 }
+\DoxyCodeLine{81 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator < ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& ) \textcolor{keyword}{const};}
+\DoxyCodeLine{82 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator > ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& ) \textcolor{keyword}{const};}
+\DoxyCodeLine{83 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator <= ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& ) \textcolor{keyword}{const};}
+\DoxyCodeLine{84 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} operator >= ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& ) \textcolor{keyword}{const};}
+\DoxyCodeLine{85 }
+\DoxyCodeLine{86 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} operator-\/( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s );}
+\DoxyCodeLine{87 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} operator+( \textcolor{keyword}{const} \textcolor{keywordtype}{char} *s );}
+\DoxyCodeLine{88 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} operator+( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s );}
+\DoxyCodeLine{89 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} operator+( \textcolor{keyword}{const} \textcolor{keywordtype}{char} c );}
+\DoxyCodeLine{90 }
+\DoxyCodeLine{91 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&AddBackSlash( \textcolor{keywordtype}{char} c );}
+\DoxyCodeLine{92 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Append(\textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s);}
+\DoxyCodeLine{93 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Append(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s);}
+\DoxyCodeLine{94 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Append(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s, xbUInt32 iByteCount );}
+\DoxyCodeLine{95 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Append(\textcolor{keywordtype}{char} c);}
+\DoxyCodeLine{96 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Assign(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *srcStr, xbUInt32 lStartPos, xbUInt32 lCopyLen );}
+\DoxyCodeLine{97 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Assign(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *srcStr, xbUInt32 lStartPos );}
+\DoxyCodeLine{98 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Assign(\textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s, xbUInt32 ulStartPos, xbUInt32 lCopyLen );}
+\DoxyCodeLine{99 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Assign(\textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s, xbUInt32 ulStartPos );}
+\DoxyCodeLine{100 }
+\DoxyCodeLine{101 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} Copy() \textcolor{keyword}{const};}
+\DoxyCodeLine{102 xbUInt32 CountChar( \textcolor{keywordtype}{char} c ) \textcolor{keyword}{const};}
+\DoxyCodeLine{103 xbUInt32 CountChar( \textcolor{keywordtype}{char} c, xbInt16 iOpt ) \textcolor{keyword}{const};}
+\DoxyCodeLine{104 xbInt16 CvtHexChar( \textcolor{keywordtype}{char} \&cOut );}
+\DoxyCodeLine{105 xbInt16 CvtHexString( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{106 xbInt16 CvtULongLong( xbUInt64 \&ullOut );}
+\DoxyCodeLine{107 xbInt16 CvtLongLong( xbInt64 \&llOut );}
+\DoxyCodeLine{108 }
+\DoxyCodeLine{109 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
+\DoxyCodeLine{110 \textcolor{keywordtype}{void} Dump( \textcolor{keyword}{const} \textcolor{keywordtype}{char} *title ) \textcolor{keyword}{const};}
+\DoxyCodeLine{111 \textcolor{keywordtype}{void} Dump( \textcolor{keyword}{const} \textcolor{keywordtype}{char} *title, xbInt16 iOption ) \textcolor{keyword}{const};}
+\DoxyCodeLine{112 \textcolor{keywordtype}{void} DumpHex( \textcolor{keyword}{const} \textcolor{keywordtype}{char} *title ) \textcolor{keyword}{const};}
+\DoxyCodeLine{113 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{114 }
+\DoxyCodeLine{115 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&ExtractElement(\mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s, \textcolor{keywordtype}{char} delim, xbUInt32 iCnt, xbInt16 iOpt = 0 );}
+\DoxyCodeLine{116 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&ExtractElement(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *src, \textcolor{keywordtype}{char} delim, xbUInt32 iCnt, xbInt16 iOpt = 0 );}
+\DoxyCodeLine{117 }
+\DoxyCodeLine{118 \textcolor{keywordtype}{char} GetCharacter( xbUInt32 lPos ) \textcolor{keyword}{const};}
+\DoxyCodeLine{119 xbUInt32 GetLastPos(\textcolor{keywordtype}{char} c) \textcolor{keyword}{const};}
+\DoxyCodeLine{120 xbUInt32 GetLastPos(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s) \textcolor{keyword}{const};}
+\DoxyCodeLine{121 \textcolor{keywordtype}{char} GetPathSeparator() \textcolor{keyword}{const};}
+\DoxyCodeLine{122 xbUInt32 GetSize() \textcolor{keyword}{const};}
+\DoxyCodeLine{123 }
+\DoxyCodeLine{124 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} HasAlphaChars() \textcolor{keyword}{const};}
+\DoxyCodeLine{125 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsEmpty() \textcolor{keyword}{const};}
+\DoxyCodeLine{126 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} IsNull() \textcolor{keyword}{const};}
+\DoxyCodeLine{127 }
+\DoxyCodeLine{128 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Left( xbUInt32 ulLen );}
+\DoxyCodeLine{129 xbUInt32 Len() \textcolor{keyword}{const}; \textcolor{comment}{// returns the length of the string}}
+\DoxyCodeLine{130 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Ltrim();}
+\DoxyCodeLine{131 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Ltrunc( xbUInt32 ulCnt );}
+\DoxyCodeLine{132 }
+\DoxyCodeLine{133 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Mid(xbUInt32 ulPos, xbUInt32 lLen );}
+\DoxyCodeLine{134 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&PadLeft( \textcolor{keywordtype}{char} c, xbUInt32 ulLen );}
+\DoxyCodeLine{135 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&PadRight( \textcolor{keywordtype}{char} c, xbUInt32 ulLen );}
+\DoxyCodeLine{136 }
+\DoxyCodeLine{137 xbUInt32 Pos(\textcolor{keywordtype}{char} c, xbUInt32 ulStartPos ) \textcolor{keyword}{const};}
+\DoxyCodeLine{138 xbUInt32 Pos(\textcolor{keywordtype}{char} c) \textcolor{keyword}{const};}
+\DoxyCodeLine{139 xbUInt32 Pos(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s) \textcolor{keyword}{const};}
+\DoxyCodeLine{140 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&PutAt(xbUInt32 ulPos, \textcolor{keywordtype}{char} c);}
+\DoxyCodeLine{141 }
+\DoxyCodeLine{142 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Remove( xbUInt32 ulPos, xbUInt32 ulN );}
+\DoxyCodeLine{143 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Replace( \textcolor{keyword}{const} \textcolor{keywordtype}{char} *sReplace, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *sReplaceWith, xbInt16 iOpt = 0 );}
+\DoxyCodeLine{144 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Resize( xbUInt32 lSize );}
+\DoxyCodeLine{145 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Rtrim();}
+\DoxyCodeLine{146 }
+\DoxyCodeLine{147 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Set( \textcolor{keyword}{const} \textcolor{keywordtype}{char} *s );}
+\DoxyCodeLine{148 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Set( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s );}
+\DoxyCodeLine{149 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Set( \textcolor{keyword}{const} \textcolor{keywordtype}{char} *s, xbUInt32 ulSize );}
+\DoxyCodeLine{150 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&SetNum( xbInt32 lNum );}
+\DoxyCodeLine{151 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Sprintf(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *format, ...);}
+\DoxyCodeLine{152 }
+\DoxyCodeLine{153 \textcolor{keyword}{const} \textcolor{keywordtype}{char} *Str() \textcolor{keyword}{const};}
+\DoxyCodeLine{154 \textcolor{keywordtype}{char} *strncpy( \textcolor{keywordtype}{char} * cDest, xbUInt32 n ) \textcolor{keyword}{const};}
+\DoxyCodeLine{155 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&SwapChars( \textcolor{keywordtype}{char} from, \textcolor{keywordtype}{char} to );}
+\DoxyCodeLine{156 }
+\DoxyCodeLine{157 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&ToLowerCase();}
+\DoxyCodeLine{158 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&ToUpperCase();}
+\DoxyCodeLine{159 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&Trim();}
+\DoxyCodeLine{160 }
+\DoxyCodeLine{161 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} ValidLogicalValue() \textcolor{keyword}{const};}
+\DoxyCodeLine{162 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} ValidNumericValue() \textcolor{keyword}{const};}
+\DoxyCodeLine{163 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&ZapChar( \textcolor{keywordtype}{char} c );}
+\DoxyCodeLine{164 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&ZapLeadingChar( \textcolor{keywordtype}{char} c );}
+\DoxyCodeLine{165 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&ZapTrailingChar( \textcolor{keywordtype}{char} c );}
+\DoxyCodeLine{166 }
+\DoxyCodeLine{167 \textcolor{keyword}{friend} std::ostream\& \mbox{\hyperlink{namespacexb_ad27f348219e895c44f74addba8e1889a}{operator<< }}( std::ostream\& os, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}}\& s );}
+\DoxyCodeLine{168 }
+\DoxyCodeLine{169 \textcolor{keyword}{private}:}
+\DoxyCodeLine{170 }
+\DoxyCodeLine{171 \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{char} * NullString;}
+\DoxyCodeLine{172 \textcolor{keyword}{static} \textcolor{keywordtype}{char} cJunkBuf;}
+\DoxyCodeLine{173 }
+\DoxyCodeLine{174 \textcolor{keywordtype}{char} *data; \textcolor{comment}{// pointer to actual string data}}
+\DoxyCodeLine{175 xbUInt32 size; \textcolor{comment}{// size of string plus null terminating byte}}
+\DoxyCodeLine{176 }
+\DoxyCodeLine{177 \textcolor{keywordtype}{void} ctor(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s);}
+\DoxyCodeLine{178 \textcolor{comment}{// xbUInt32 CalcSprintfBufSize(const char *format, ...);}}
+\DoxyCodeLine{179 }
+\DoxyCodeLine{180 \textcolor{comment}{// char * xb\_realloc( char *pIn, xbUInt32 iLen );}}
+\DoxyCodeLine{181 }
+\DoxyCodeLine{182 \textcolor{comment}{// next routine could result in buffer over runs if used with improperly sized buffers}}
+\DoxyCodeLine{183 \textcolor{keywordtype}{char} * xb\_strcpy ( \textcolor{keywordtype}{char} *target, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *source);}
+\DoxyCodeLine{184 }
+\DoxyCodeLine{185 \};}
+\DoxyCodeLine{186 }
+\DoxyCodeLine{187 \} \textcolor{comment}{/* namespace */}}
+\DoxyCodeLine{188 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XBSTRING\_H\_\_ */}\textcolor{preprocessor}{}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtag_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtag_8cpp.tex
new file mode 100644
index 0000000..2b469eb
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtag_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbtag_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbtag.cpp File Reference}
+\label{xbtag_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbtag.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbtag.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtag_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtag_8h.tex
new file mode 100644
index 0000000..f625c69
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtag_8h.tex
@@ -0,0 +1,7 @@
+\hypertarget{xbtag_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbtag.h File Reference}
+\label{xbtag_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbtag.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbtag.h}}
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtag_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtag_8h_source.tex
new file mode 100644
index 0000000..48fa14d
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtag_8h_source.tex
@@ -0,0 +1,69 @@
+\hypertarget{xbtag_8h_source}{}\doxysection{xbtag.\+h}
+\label{xbtag_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbtag.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbtag.h}}
+\mbox{\hyperlink{xbtag_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbtag.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 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\_XBTAG\_H\_\_}}
+\DoxyCodeLine{18 \textcolor{preprocessor}{\#define \_\_XB\_XBTAG\_H\_\_}}
+\DoxyCodeLine{19 }
+\DoxyCodeLine{20 \textcolor{comment}{//\#ifdef CMAKE\_COMPILER\_IS\_GNUCC}}
+\DoxyCodeLine{21 \textcolor{comment}{//\#pragma interface}}
+\DoxyCodeLine{22 \textcolor{comment}{//\#endif}}
+\DoxyCodeLine{23 }
+\DoxyCodeLine{24 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{25 }
+\DoxyCodeLine{26 }
+\DoxyCodeLine{27 \textcolor{preprocessor}{\#ifdef XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{28 }
+\DoxyCodeLine{29 \textcolor{keyword}{class }XBDLLEXPORT xbIx;}
+\DoxyCodeLine{30 }
+\DoxyCodeLine{31 }
+\DoxyCodeLine{32 }
+\DoxyCodeLine{34 }
+\DoxyCodeLine{45 \textcolor{keyword}{class }XBDLLEXPORT xbTag \{}
+\DoxyCodeLine{46 }
+\DoxyCodeLine{47 \textcolor{keyword}{public}:}
+\DoxyCodeLine{48 xbTag( xbIx *pIx, \textcolor{keywordtype}{void} *vpTag, xbString \&sType, xbString \&sTagName, xbString \&sExpression, xbString \&sFilter, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bUnique, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bSort );}
+\DoxyCodeLine{49 }
+\DoxyCodeLine{50 xbIx *GetIx() \textcolor{keyword}{const};}
+\DoxyCodeLine{51 \textcolor{keywordtype}{void} *GetVpTag() \textcolor{keyword}{const};}
+\DoxyCodeLine{52 \textcolor{keyword}{const} xbString \&GetType() \textcolor{keyword}{const};}
+\DoxyCodeLine{53 \textcolor{keyword}{const} xbString \&GetTagName() \textcolor{keyword}{const};}
+\DoxyCodeLine{54 \textcolor{keyword}{const} xbString \&GetExpression() \textcolor{keyword}{const};}
+\DoxyCodeLine{55 \textcolor{keyword}{const} xbString \&GetFilter() \textcolor{keyword}{const};}
+\DoxyCodeLine{56 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetUnique() \textcolor{keyword}{const};}
+\DoxyCodeLine{57 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetSort() \textcolor{keyword}{const};}
+\DoxyCodeLine{58 }
+\DoxyCodeLine{59 \textcolor{keyword}{private}:}
+\DoxyCodeLine{60 xbIx *pIx;}
+\DoxyCodeLine{61 \textcolor{keywordtype}{void} *vpTag;}
+\DoxyCodeLine{62 xbString sType;}
+\DoxyCodeLine{63 xbString sTagName;}
+\DoxyCodeLine{64 xbString sExpression;}
+\DoxyCodeLine{65 xbString sFilter;}
+\DoxyCodeLine{66 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bUnique;}
+\DoxyCodeLine{67 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bSort; \textcolor{comment}{// 0 = Ascending, 1 = Descending}}
+\DoxyCodeLine{68 \};}
+\DoxyCodeLine{69 }
+\DoxyCodeLine{70 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_INDEX\_SUPPORT}}
+\DoxyCodeLine{71 }
+\DoxyCodeLine{72 }
+\DoxyCodeLine{73 \} \textcolor{comment}{/* namespace xb */}}
+\DoxyCodeLine{74 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XB\_TAG\_H\_\_ */}\textcolor{preprocessor}{}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtblmgr_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtblmgr_8cpp.tex
new file mode 100644
index 0000000..0b658f5
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtblmgr_8cpp.tex
@@ -0,0 +1,8 @@
+\hypertarget{xbtblmgr_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbtblmgr.cpp File Reference}
+\label{xbtblmgr_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbtblmgr.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbtblmgr.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtblmgr_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtblmgr_8h.tex
new file mode 100644
index 0000000..4c0555b
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtblmgr_8h.tex
@@ -0,0 +1,19 @@
+\hypertarget{xbtblmgr_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbtblmgr.h File Reference}
+\label{xbtblmgr_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbtblmgr.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbtblmgr.h}}
+\doxysubsection*{Data Structures}
+\begin{DoxyCompactItemize}
+\item
+struct \mbox{\hyperlink{structxb_1_1xbTblList}{xb\+::xb\+Tbl\+List}}
+\item
+class \mbox{\hyperlink{classxb_1_1xbTblMgr}{xb\+::xb\+Tbl\+Mgr}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+class XBDLLEXPORT \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xb\+::xb\+Dbf}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtblmgr_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtblmgr_8h_source.tex
new file mode 100644
index 0000000..7a51811
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtblmgr_8h_source.tex
@@ -0,0 +1,69 @@
+\hypertarget{xbtblmgr_8h_source}{}\doxysection{xbtblmgr.\+h}
+\label{xbtblmgr_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbtblmgr.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbtblmgr.h}}
+\mbox{\hyperlink{xbtblmgr_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbtblmgr.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 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}{This class manages a list of open tables, open indices are connected to the open tables}}
+\DoxyCodeLine{15 \textcolor{comment}{}}
+\DoxyCodeLine{16 \textcolor{comment}{*/}}
+\DoxyCodeLine{17 }
+\DoxyCodeLine{18 }
+\DoxyCodeLine{19 \textcolor{preprocessor}{\#ifndef \_\_XB\_XBMGR\_H\_\_}}
+\DoxyCodeLine{20 \textcolor{preprocessor}{\#define \_\_XB\_XBMGR\_H\_\_}}
+\DoxyCodeLine{21 }
+\DoxyCodeLine{22 \textcolor{preprocessor}{\#ifdef CMAKE\_COMPILER\_IS\_GNUCC}}
+\DoxyCodeLine{23 \textcolor{preprocessor}{\#pragma interface}}
+\DoxyCodeLine{24 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{25 }
+\DoxyCodeLine{26 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{27 }
+\DoxyCodeLine{28 \textcolor{keyword}{class }XBDLLEXPORT \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}};}
+\DoxyCodeLine{29 }
+\DoxyCodeLine{30 \textcolor{comment}{/* this structure is a linked list of open tables */}}
+\DoxyCodeLine{31 \textcolor{keyword}{struct }XBDLLEXPORT \mbox{\hyperlink{structxb_1_1xbTblList}{xbTblList}}\{}
+\DoxyCodeLine{32 \mbox{\hyperlink{structxb_1_1xbTblList}{xbTblList}} *\mbox{\hyperlink{structxb_1_1xbTblList_a3fd169fcf0fd4df927544e5342db583c}{pNext}};}
+\DoxyCodeLine{33 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} *\mbox{\hyperlink{structxb_1_1xbTblList_aceec65f6f6b585788cf98e8dabd2737d}{psFqTblName}}; \textcolor{comment}{// Fully qualified name of table -\/ same table can be opened multiple times, but must have unique alias}}
+\DoxyCodeLine{34 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} *\mbox{\hyperlink{structxb_1_1xbTblList_a02c3b0c47fd104ef9758b375ecdcfd0f}{psTblName}}; \textcolor{comment}{// Table name without path, without extension}}
+\DoxyCodeLine{35 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} *\mbox{\hyperlink{structxb_1_1xbTblList_ac87742c8a6b1cf2e7e35218e96966a05}{psTblAlias}}; \textcolor{comment}{// TblAliasName must be unique, same as TblNAme if Alias not provided}}
+\DoxyCodeLine{36 \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} *\mbox{\hyperlink{structxb_1_1xbTblList_a387d3f6bbf291a1fb96d276ed9bb96b6}{pDbf}};}
+\DoxyCodeLine{37 \};}
+\DoxyCodeLine{38 }
+\DoxyCodeLine{39 \textcolor{keyword}{class }XBDLLEXPORT \mbox{\hyperlink{classxb_1_1xbTblMgr}{xbTblMgr}} : \textcolor{keyword}{public} \mbox{\hyperlink{classxb_1_1xbSsv}{xbSsv}} \{}
+\DoxyCodeLine{40 \textcolor{keyword}{public}:}
+\DoxyCodeLine{41 \mbox{\hyperlink{classxb_1_1xbTblMgr}{xbTblMgr}}();}
+\DoxyCodeLine{42 \mbox{\hyperlink{classxb_1_1xbTblMgr}{\string~xbTblMgr}}();}
+\DoxyCodeLine{43 xbInt16 AddTblToTblList ( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} *d, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFqTblName );}
+\DoxyCodeLine{44 xbInt16 AddTblToTblList ( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} *d, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFqTblName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTblAlias );}
+\DoxyCodeLine{45 xbInt16 DisplayTableList () \textcolor{keyword}{const};}
+\DoxyCodeLine{46 \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} * GetDbfPtr ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTblAlias ) \textcolor{keyword}{const};}
+\DoxyCodeLine{47 \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} * GetDbfPtr ( xbInt16 sItemNo ) \textcolor{keyword}{const};}
+\DoxyCodeLine{48 \mbox{\hyperlink{structxb_1_1xbTblList}{xbTblList}} * GetTblListEntry ( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} *d );}
+\DoxyCodeLine{49 xbInt16 GetOpenTableCount () \textcolor{keyword}{const};}
+\DoxyCodeLine{50 xbInt16 RemoveTblFromTblList ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTblAlias );}
+\DoxyCodeLine{51 xbInt16 RemoveTblFromTblList ( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} *d );}
+\DoxyCodeLine{52 }
+\DoxyCodeLine{53 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{54 }
+\DoxyCodeLine{55 \textcolor{keyword}{private}:}
+\DoxyCodeLine{56 \mbox{\hyperlink{structxb_1_1xbTblList}{xbTblList}} * TblList; \textcolor{comment}{// List of open database tables}}
+\DoxyCodeLine{57 xbInt16 iOpenTableCount; \textcolor{comment}{// Number of open tables}}
+\DoxyCodeLine{58 }
+\DoxyCodeLine{59 \};}
+\DoxyCodeLine{60 }
+\DoxyCodeLine{61 \} \textcolor{comment}{/* namespace xb */}}
+\DoxyCodeLine{62 }
+\DoxyCodeLine{63 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XB\_XBMGR\_H\_\_ */}\textcolor{preprocessor}{}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtypes_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtypes_8h.tex
new file mode 100644
index 0000000..7317374
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtypes_8h.tex
@@ -0,0 +1,48 @@
+\hypertarget{xbtypes_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbtypes.h File Reference}
+\label{xbtypes_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbtypes.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbtypes.h}}
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Macros}
+\begin{DoxyCompactItemize}
+\item
+\#define \mbox{\hyperlink{xbtypes_8h_ab0ae00665298fe7f5292691cb98ec2d9}{xb\+True}}~1
+\item
+\#define \mbox{\hyperlink{xbtypes_8h_adc4b6ca5ad299f63675136d9e03938cc}{xb\+False}}~0
+\item
+\#define \mbox{\hyperlink{xbtypes_8h_a2c65f692ac861990861575e18f72f6eb}{xb\+File\+No}}~fileno
+\end{DoxyCompactItemize}
+\doxysubsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item
+typedef float \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+::xb\+Float}}
+\item
+typedef double \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+::xb\+Double}}
+\item
+typedef short int \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+::xb\+Bool}}
+\item
+typedef xb\+UInt64 \mbox{\hyperlink{namespacexb_ac963d9fde6debb416303cfbed35fb793}{xb\+::xb\+OffT}}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Macro Definition Documentation}
+\mbox{\Hypertarget{xbtypes_8h_adc4b6ca5ad299f63675136d9e03938cc}\label{xbtypes_8h_adc4b6ca5ad299f63675136d9e03938cc}}
+\index{xbtypes.h@{xbtypes.h}!xbFalse@{xbFalse}}
+\index{xbFalse@{xbFalse}!xbtypes.h@{xbtypes.h}}
+\doxysubsubsection{\texorpdfstring{xbFalse}{xbFalse}}
+{\footnotesize\ttfamily \#define xb\+False~0}
+
+\mbox{\Hypertarget{xbtypes_8h_a2c65f692ac861990861575e18f72f6eb}\label{xbtypes_8h_a2c65f692ac861990861575e18f72f6eb}}
+\index{xbtypes.h@{xbtypes.h}!xbFileNo@{xbFileNo}}
+\index{xbFileNo@{xbFileNo}!xbtypes.h@{xbtypes.h}}
+\doxysubsubsection{\texorpdfstring{xbFileNo}{xbFileNo}}
+{\footnotesize\ttfamily \#define xb\+File\+No~fileno}
+
+\mbox{\Hypertarget{xbtypes_8h_ab0ae00665298fe7f5292691cb98ec2d9}\label{xbtypes_8h_ab0ae00665298fe7f5292691cb98ec2d9}}
+\index{xbtypes.h@{xbtypes.h}!xbTrue@{xbTrue}}
+\index{xbTrue@{xbTrue}!xbtypes.h@{xbtypes.h}}
+\doxysubsubsection{\texorpdfstring{xbTrue}{xbTrue}}
+{\footnotesize\ttfamily \#define xb\+True~1}
+
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtypes_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtypes_8h_source.tex
new file mode 100644
index 0000000..cf28e55
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbtypes_8h_source.tex
@@ -0,0 +1,61 @@
+\hypertarget{xbtypes_8h_source}{}\doxysection{xbtypes.\+h}
+\label{xbtypes_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbtypes.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbtypes.h}}
+\mbox{\hyperlink{xbtypes_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbtypes.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 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 \textcolor{preprocessor}{\#ifndef \_\_XB\_XTYPES\_H\_\_}}
+\DoxyCodeLine{17 \textcolor{preprocessor}{\#define \_\_XB\_XTYPES\_H\_\_}}
+\DoxyCodeLine{18 }
+\DoxyCodeLine{19 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{20 }
+\DoxyCodeLine{21 }
+\DoxyCodeLine{22 \textcolor{keyword}{typedef} \textcolor{keywordtype}{float} \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xbFloat}};}
+\DoxyCodeLine{23 \textcolor{keyword}{typedef} \textcolor{keywordtype}{double} \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}};}
+\DoxyCodeLine{24 \textcolor{keyword}{typedef} \textcolor{keywordtype}{short} \textcolor{keywordtype}{int} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}};}
+\DoxyCodeLine{25 \textcolor{keyword}{typedef} xbUInt64 \mbox{\hyperlink{namespacexb_ac963d9fde6debb416303cfbed35fb793}{xbOffT}};}
+\DoxyCodeLine{26 }
+\DoxyCodeLine{27 }
+\DoxyCodeLine{28 \textcolor{preprocessor}{\#define xbTrue 1}}
+\DoxyCodeLine{29 \textcolor{preprocessor}{\#define xbFalse 0}}
+\DoxyCodeLine{30 }
+\DoxyCodeLine{31 }
+\DoxyCodeLine{32 \textcolor{preprocessor}{\#ifdef HAVE\_\_FILENO\_F}}
+\DoxyCodeLine{33 \textcolor{preprocessor}{ \#define xbFileNo \_fileno}}
+\DoxyCodeLine{34 \textcolor{preprocessor}{\#else}}
+\DoxyCodeLine{35 \textcolor{preprocessor}{ \#define xbFileNo fileno}}
+\DoxyCodeLine{36 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{37 }
+\DoxyCodeLine{38 \textcolor{preprocessor}{\#ifdef XB\_LOCKING\_SUPPORT}}
+\DoxyCodeLine{39 \textcolor{preprocessor}{ \#if defined( HAVE\_LONG\_LONG )}}
+\DoxyCodeLine{40 \textcolor{preprocessor}{ \#define LK4026531839 4026531839LL}}
+\DoxyCodeLine{41 \textcolor{preprocessor}{ \#define LK4026531838 4026531838LL}}
+\DoxyCodeLine{42 \textcolor{preprocessor}{ \#define LK3026531838 3026531838LL}}
+\DoxyCodeLine{43 \textcolor{preprocessor}{ \#define LK1000000000 1000000000LL}}
+\DoxyCodeLine{44 \textcolor{preprocessor}{ \#else}}
+\DoxyCodeLine{45 \textcolor{preprocessor}{ \#define LK4026531839 4026531839L}}
+\DoxyCodeLine{46 \textcolor{preprocessor}{ \#define LK4026531838 4026531838L}}
+\DoxyCodeLine{47 \textcolor{preprocessor}{ \#define LK3026531838 3026531838L}}
+\DoxyCodeLine{48 \textcolor{preprocessor}{ \#define LK1000000000 1000000000L}}
+\DoxyCodeLine{49 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{50 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{51 }
+\DoxyCodeLine{52 }
+\DoxyCodeLine{53 }
+\DoxyCodeLine{54 \} \textcolor{comment}{/* namespace */}}
+\DoxyCodeLine{55 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XB\_XTYPES\_H\_\_ */}\textcolor{preprocessor}{}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbuda_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbuda_8cpp.tex
new file mode 100644
index 0000000..ff2ea98
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbuda_8cpp.tex
@@ -0,0 +1,3 @@
+\hypertarget{xbuda_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbuda.cpp File Reference}
+\label{xbuda_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbuda.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbuda.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbuda_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbuda_8h.tex
new file mode 100644
index 0000000..2f35030
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbuda_8h.tex
@@ -0,0 +1,2 @@
+\hypertarget{xbuda_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbuda.h File Reference}
+\label{xbuda_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbuda.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbuda.h}}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbuda_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbuda_8h_source.tex
new file mode 100644
index 0000000..326797c
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbuda_8h_source.tex
@@ -0,0 +1,58 @@
+\hypertarget{xbuda_8h_source}{}\doxysection{xbuda.\+h}
+\label{xbuda_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbuda.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbuda.h}}
+\mbox{\hyperlink{xbuda_8h}{Go to the documentation of this file.}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{1 \textcolor{comment}{/* xbuda.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}{This class manages the user data area (UDA)}}
+\DoxyCodeLine{15 \textcolor{comment}{}}
+\DoxyCodeLine{16 \textcolor{comment}{*/}}
+\DoxyCodeLine{17 }
+\DoxyCodeLine{18 }
+\DoxyCodeLine{19 \textcolor{preprocessor}{\#ifndef \_\_XB\_XBUDA\_H\_\_}}
+\DoxyCodeLine{20 \textcolor{preprocessor}{\#define \_\_XB\_XBUDA\_H\_\_}}
+\DoxyCodeLine{21 }
+\DoxyCodeLine{22 \textcolor{preprocessor}{\#ifdef CMAKE\_COMPILER\_IS\_GNUCC}}
+\DoxyCodeLine{23 \textcolor{preprocessor}{\#pragma interface}}
+\DoxyCodeLine{24 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{25 }
+\DoxyCodeLine{26 }
+\DoxyCodeLine{27 \textcolor{preprocessor}{\#ifdef XB\_EXPRESSION\_SUPPORT}}
+\DoxyCodeLine{28 }
+\DoxyCodeLine{29 }
+\DoxyCodeLine{30 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
+\DoxyCodeLine{31 }
+\DoxyCodeLine{32 \textcolor{keyword}{class }XBDLLEXPORT xbUda \{}
+\DoxyCodeLine{33 }
+\DoxyCodeLine{34 \textcolor{keyword}{public}:}
+\DoxyCodeLine{35 xbUda();}
+\DoxyCodeLine{36 \string~xbUda();}
+\DoxyCodeLine{37 }
+\DoxyCodeLine{38 xbInt16 AddTokenForKey( \textcolor{keyword}{const} xbString \&sKey, \textcolor{keyword}{const} xbString \&sToken );}
+\DoxyCodeLine{39 \textcolor{keywordtype}{void} Clear();}
+\DoxyCodeLine{40 xbInt16 DelTokenForKey( \textcolor{keyword}{const} xbString \&sKey );}
+\DoxyCodeLine{41 xbInt16 GetTokenCnt() \textcolor{keyword}{const};}
+\DoxyCodeLine{42 xbInt16 GetTokenForKey( \textcolor{keyword}{const} xbString \&sKey, xbString \&sData );}
+\DoxyCodeLine{43 xbInt16 UpdTokenForKey( \textcolor{keyword}{const} xbString \&sKey, \textcolor{keyword}{const} xbString \&sToken );}
+\DoxyCodeLine{44 \textcolor{keywordtype}{void} DumpUda() \textcolor{keyword}{const};}
+\DoxyCodeLine{45 }
+\DoxyCodeLine{46 \textcolor{keyword}{private}:}
+\DoxyCodeLine{47 xbLinkListOrd<xbString> llOrd;}
+\DoxyCodeLine{48 }
+\DoxyCodeLine{49 \};}
+\DoxyCodeLine{50 \} \textcolor{comment}{/* namespace */}}
+\DoxyCodeLine{51 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* XB\_EXPRESSION\_SUPPORT */}\textcolor{preprocessor}{}}
+\DoxyCodeLine{52 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XBUDA\_H\_\_ */}\textcolor{preprocessor}{}}
+
+\end{DoxyCode}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbxbase_8cpp.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbxbase_8cpp.tex
new file mode 100644
index 0000000..8ad01f7
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbxbase_8cpp.tex
@@ -0,0 +1,8 @@
+\hypertarget{xbxbase_8cpp}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/core/xbxbase.cpp File Reference}
+\label{xbxbase_8cpp}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbxbase.cpp@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/core/xbxbase.cpp}}
+{\ttfamily \#include \char`\"{}xbase.\+h\char`\"{}}\newline
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbxbase_8h.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbxbase_8h.tex
new file mode 100644
index 0000000..4a8de8f
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbxbase_8h.tex
@@ -0,0 +1,17 @@
+\hypertarget{xbxbase_8h}{}\doxysection{/mnt/1\+Tdata/xbase/xbase64-\/4.1.4/src/include/xbxbase.h File Reference}
+\label{xbxbase_8h}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbxbase.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbxbase.h}}
+\doxysubsection*{Data Structures}
+\begin{DoxyCompactItemize}
+\item
+class \mbox{\hyperlink{classxb_1_1xbXBase}{xb\+::xb\+XBase}}
+\begin{DoxyCompactList}\small\item\em xb\+Xbase class. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \mbox{\hyperlink{namespacexb}{xb}}
+\end{DoxyCompactItemize}
+\doxysubsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+class XBDLLEXPORT \mbox{\hyperlink{namespacexb_a4a31fbe9110c9e55495ce71e642d785c}{xb\+::xb\+Log}}
+\end{DoxyCompactItemize}
diff --git a/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbxbase_8h_source.tex b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbxbase_8h_source.tex
new file mode 100644
index 0000000..e208317
--- /dev/null
+++ b/1Tdata/xbase/xbase64-4.1.4/docs/doxygen/latex/xbxbase_8h_source.tex
@@ -0,0 +1,237 @@
+\hypertarget{xbxbase_8h_source}{}\doxysection{xbxbase.\+h}
+\label{xbxbase_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbxbase.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/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 xbInt16 CreateFqn( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sDirIn, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sNameIn, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sExtIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFqfnOut );}
+\DoxyCodeLine{130 \textcolor{keywordtype}{void} DisableMsgLogging();}
+\DoxyCodeLine{131 \textcolor{keywordtype}{void} EnableMsgLogging ();}
+\DoxyCodeLine{132 xbInt16 FlushLog();}
+\DoxyCodeLine{133 }
+\DoxyCodeLine{134 \textcolor{comment}{//const xbString \&GetLogDirectory () const;}}
+\DoxyCodeLine{135 \textcolor{comment}{//const xbString \&GetLogFileName () const;}}
+\DoxyCodeLine{136 \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&GetLogFqFileName() \textcolor{keyword}{const};}
+\DoxyCodeLine{137 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetLogStatus () \textcolor{keyword}{const};}
+\DoxyCodeLine{138 }
+\DoxyCodeLine{139 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{140 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{141 }
+\DoxyCodeLine{142 \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} * Open( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, xbInt16 \&iRc );}
+\DoxyCodeLine{143 \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{144 }
+\DoxyCodeLine{145 \textcolor{comment}{// next three methods moved to xbssv for consistency}}
+\DoxyCodeLine{146 \textcolor{comment}{// void SetLogDirectory( const xbString \&sLogFileDirectory );}}
+\DoxyCodeLine{147 \textcolor{comment}{// void SetLogFileName ( const xbString \&sLogFileName );}}
+\DoxyCodeLine{148 \textcolor{keywordtype}{void} SetLogSize ( \textcolor{keywordtype}{size\_t} lSize );}
+\DoxyCodeLine{149 \textcolor{keywordtype}{size\_t} \mbox{\hyperlink{classxb_1_1xbXBase_aedb4c2aa2c90e4529915198a2305b355}{GetLogSize}} () \textcolor{keyword}{const};}
+\DoxyCodeLine{150 }
+\DoxyCodeLine{151 xbInt16 WriteLogMessage( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sLogMessage, xbInt16 iOutputOpt = 0 );}
+\DoxyCodeLine{152 xbInt16 WriteLogBytes ( xbUInt32 lCnt, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *p );}
+\DoxyCodeLine{153 }
+\DoxyCodeLine{154 \textcolor{keywordtype}{void} xbSleep ( xbInt32 lMillisecs );}
+\DoxyCodeLine{155 }
+\DoxyCodeLine{156 xbInt16 GetCmdLineOpt ( xbInt32 lArgc, \textcolor{keywordtype}{char} **argv, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *sOptRqst, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sParmOut );}
+\DoxyCodeLine{157 xbInt16 GetCmdLineOpt ( xbInt32 lArgc, \textcolor{keywordtype}{char} **argv, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOptRqst, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sParmOut );}
+\DoxyCodeLine{158 }
+\DoxyCodeLine{159 }
+\DoxyCodeLine{160 \textcolor{comment}{/* xbase functions */}}
+\DoxyCodeLine{161 \textcolor{preprocessor}{ \#ifdef XB\_FUNCTION\_SUPPORT}}
+\DoxyCodeLine{162 xbInt16 ABS( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
+\DoxyCodeLine{163 xbInt16 ALLTRIM( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{164 xbInt16 ASC( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dAscOut );}
+\DoxyCodeLine{165 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{166 xbInt16 CDOW( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOutDow );}
+\DoxyCodeLine{167 xbInt16 CHR( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dAsciCd, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{168 xbInt16 CMONTH( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOutMonth );}
+\DoxyCodeLine{169 xbInt16 CTOD( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sInDate, \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dOutDate );}
+\DoxyCodeLine{170 xbInt16 DATE( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dOutDate );}
+\DoxyCodeLine{171 xbInt16 DAY( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOutDay );}
+\DoxyCodeLine{172 xbInt16 DEL( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} * d, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut, xbInt16 iRecBufSw = 0 );}
+\DoxyCodeLine{173 xbInt16 DELETED( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} * d, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bOut, xbInt16 iRecBufSw = 0 );}
+\DoxyCodeLine{174 xbInt16 DESCEND( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{175 xbInt16 DESCEND( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dOutDate );}
+\DoxyCodeLine{176 xbInt16 DESCEND( \textcolor{keyword}{const} \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dsOut );}
+\DoxyCodeLine{177 xbInt16 DOW( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&sInDate, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dDowOut );}
+\DoxyCodeLine{178 xbInt16 DTOC( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOutFmtDate );}
+\DoxyCodeLine{179 xbInt16 DTOS( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOutFmtDate );}
+\DoxyCodeLine{180 xbInt16 EXP( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
+\DoxyCodeLine{181 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{182 xbInt16 INT( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
+\DoxyCodeLine{183 xbInt16 ISALPHA( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bResult );}
+\DoxyCodeLine{184 xbInt16 ISLOWER( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bResult );}
+\DoxyCodeLine{185 xbInt16 ISUPPER( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&s, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bResult );}
+\DoxyCodeLine{186 xbInt16 LEFT( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, xbUInt32 lCharCnt, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{187 xbInt16 LEN( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dLen );}
+\DoxyCodeLine{188 xbInt16 LOG( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
+\DoxyCodeLine{189 xbInt16 LOWER( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{190 xbInt16 LTRIM( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \& sOut );}
+\DoxyCodeLine{191 xbInt16 MAX( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn1, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn2, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
+\DoxyCodeLine{192 xbInt16 MIN( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn1, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn2, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
+\DoxyCodeLine{193 xbInt16 MONTH( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dMonthOut );}
+\DoxyCodeLine{194 xbInt16 RECCOUNT( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} * d, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dRecOut );}
+\DoxyCodeLine{195 xbInt16 RECNO( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} * d, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dRecOut );}
+\DoxyCodeLine{196 xbInt16 REPLICATE( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, xbUInt32 ulRepCnt, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{197 xbInt16 RIGHT( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, xbUInt32 iCharCnt, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{198 xbInt16 RTRIM( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{199 xbInt16 SPACE( xbInt32 lCnt, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{200 xbInt16 SQRT( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dBase, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dSqrRt );}
+\DoxyCodeLine{201 xbInt16 STOD( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&sDateOut );}
+\DoxyCodeLine{202 xbInt16 STR( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{203 xbInt16 STR( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, xbUInt32 ulLen, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{204 xbInt16 STR( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, xbUInt32 ulLen, xbUInt32 ulDec, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{205 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{206 xbInt16 STRZERO( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn, xbUInt32 ulLen, xbUInt32 ulDec, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{207 xbInt16 SUBSTR( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, xbUInt32 ulStartPos, xbUInt32 ulLen, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{208 xbInt16 TRIM( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{209 xbInt16 UPPER( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sOut );}
+\DoxyCodeLine{210 xbInt16 VAL( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIn, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
+\DoxyCodeLine{211 xbInt16 YEAR( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dInDate, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOutYear );}
+\DoxyCodeLine{212 \textcolor{preprocessor}{ \#endif}}
+\DoxyCodeLine{213 }
+\DoxyCodeLine{214 \textcolor{keyword}{protected}:}
+\DoxyCodeLine{215 \textcolor{keyword}{friend} \textcolor{keyword}{class }xbBcd;}
+\DoxyCodeLine{216 \textcolor{keyword}{friend} \textcolor{keyword}{class }xbExp;}
+\DoxyCodeLine{217 }
+\DoxyCodeLine{218 \textcolor{preprocessor}{ \#ifdef XB\_BLOCKREAD\_SUPPORT}}
+\DoxyCodeLine{219 \textcolor{keyword}{friend} \textcolor{keyword}{class }xbBlockRead;}
+\DoxyCodeLine{220 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_BLOCKREAD\_SUPPORT}}
+\DoxyCodeLine{221 }
+\DoxyCodeLine{222 }
+\DoxyCodeLine{223 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{224 \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{225 }
+\DoxyCodeLine{226 \textcolor{keyword}{private}:}
+\DoxyCodeLine{227 }
+\DoxyCodeLine{228 \textcolor{preprocessor}{\#ifdef XB\_LOGGING\_SUPPORT}}
+\DoxyCodeLine{229 \mbox{\hyperlink{namespacexb_a4a31fbe9110c9e55495ce71e642d785c}{xbLog}} *xLog;}
+\DoxyCodeLine{230 \textcolor{preprocessor}{\#endif}}
+\DoxyCodeLine{231 }
+\DoxyCodeLine{232 \};}
+\DoxyCodeLine{233 }
+\DoxyCodeLine{234 \} \textcolor{comment}{/* namespace xb */}}
+\DoxyCodeLine{235 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XB\_DBLIST\_H\_\_ */}\textcolor{preprocessor}{}}
+
+\end{DoxyCode}