summaryrefslogtreecommitdiff
path: root/docs/doxygen/html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/html')
-rw-r--r--docs/doxygen/html/annotated.html90
-rw-r--r--docs/doxygen/html/bc_s.pngbin0 -> 676 bytes
-rw-r--r--docs/doxygen/html/bdwn.pngbin0 -> 147 bytes
-rw-r--r--docs/doxygen/html/checkndx_8cpp.html117
-rw-r--r--docs/doxygen/html/classes.html84
-rw-r--r--docs/doxygen/html/classxb_1_1xbDate.html2092
-rw-r--r--docs/doxygen/html/classxb_1_1xbDate.pngbin0 -> 414 bytes
-rw-r--r--docs/doxygen/html/classxb_1_1xbDbf.html9346
-rw-r--r--docs/doxygen/html/classxb_1_1xbDbf.pngbin0 -> 519 bytes
-rw-r--r--docs/doxygen/html/classxb_1_1xbFile.html3520
-rw-r--r--docs/doxygen/html/classxb_1_1xbFile.pngbin0 -> 525 bytes
-rw-r--r--docs/doxygen/html/classxb_1_1xbSsv.html816
-rw-r--r--docs/doxygen/html/classxb_1_1xbSsv.pngbin0 -> 1164 bytes
-rw-r--r--docs/doxygen/html/classxb_1_1xbString.html2945
-rw-r--r--docs/doxygen/html/classxb_1_1xbTblMgr.html1202
-rw-r--r--docs/doxygen/html/classxb_1_1xbTblMgr.pngbin0 -> 639 bytes
-rw-r--r--docs/doxygen/html/classxb_1_1xbXBase.html2047
-rw-r--r--docs/doxygen/html/classxb_1_1xbXBase.pngbin0 -> 637 bytes
-rw-r--r--docs/doxygen/html/closed.pngbin0 -> 132 bytes
-rw-r--r--docs/doxygen/html/dbfxtrct_8cpp.html136
-rw-r--r--docs/doxygen/html/dir_25b94c3afce00ed38231227d8141f932.html105
-rw-r--r--docs/doxygen/html/dir_313caf1132e152dd9b58bea13a4052ca.html105
-rw-r--r--docs/doxygen/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html95
-rw-r--r--docs/doxygen/html/dir_aebb8dcc11953d78e620bbef0b9e2183.html135
-rw-r--r--docs/doxygen/html/dir_b0856f6b0d80ccb263b2f415c91f9e17.html133
-rw-r--r--docs/doxygen/html/dir_d93a1d4020dea85bb71b237545b5e722.html133
-rw-r--r--docs/doxygen/html/dir_e931c1a3f0014e624d0645a271726ad2.html103
-rw-r--r--docs/doxygen/html/doc.pngbin0 -> 746 bytes
-rw-r--r--docs/doxygen/html/doxygen.css1841
-rw-r--r--docs/doxygen/html/doxygen.svg26
-rw-r--r--docs/doxygen/html/dynsections.js121
-rw-r--r--docs/doxygen/html/files.html194
-rw-r--r--docs/doxygen/html/folderclosed.pngbin0 -> 616 bytes
-rw-r--r--docs/doxygen/html/folderopen.pngbin0 -> 597 bytes
-rw-r--r--docs/doxygen/html/functions.html82
-rw-r--r--docs/doxygen/html/functions_b.html79
-rw-r--r--docs/doxygen/html/functions_c.html105
-rw-r--r--docs/doxygen/html/functions_d.html89
-rw-r--r--docs/doxygen/html/functions_e.html89
-rw-r--r--docs/doxygen/html/functions_f.html80
-rw-r--r--docs/doxygen/html/functions_func.html82
-rw-r--r--docs/doxygen/html/functions_func_b.html79
-rw-r--r--docs/doxygen/html/functions_func_c.html94
-rw-r--r--docs/doxygen/html/functions_func_d.html89
-rw-r--r--docs/doxygen/html/functions_func_e.html88
-rw-r--r--docs/doxygen/html/functions_func_f.html80
-rw-r--r--docs/doxygen/html/functions_func_g.html143
-rw-r--r--docs/doxygen/html/functions_func_h.html77
-rw-r--r--docs/doxygen/html/functions_func_i.html80
-rw-r--r--docs/doxygen/html/functions_func_j.html78
-rw-r--r--docs/doxygen/html/functions_func_l.html81
-rw-r--r--docs/doxygen/html/functions_func_m.html79
-rw-r--r--docs/doxygen/html/functions_func_n.html77
-rw-r--r--docs/doxygen/html/functions_func_o.html93
-rw-r--r--docs/doxygen/html/functions_func_p.html89
-rw-r--r--docs/doxygen/html/functions_func_r.html85
-rw-r--r--docs/doxygen/html/functions_func_s.html99
-rw-r--r--docs/doxygen/html/functions_func_t.html79
-rw-r--r--docs/doxygen/html/functions_func_u.html78
-rw-r--r--docs/doxygen/html/functions_func_v.html79
-rw-r--r--docs/doxygen/html/functions_func_w.html80
-rw-r--r--docs/doxygen/html/functions_func_x.html103
-rw-r--r--docs/doxygen/html/functions_func_y.html77
-rw-r--r--docs/doxygen/html/functions_func_z.html80
-rw-r--r--docs/doxygen/html/functions_func_~.html82
-rw-r--r--docs/doxygen/html/functions_g.html143
-rw-r--r--docs/doxygen/html/functions_h.html77
-rw-r--r--docs/doxygen/html/functions_i.html89
-rw-r--r--docs/doxygen/html/functions_j.html78
-rw-r--r--docs/doxygen/html/functions_l.html81
-rw-r--r--docs/doxygen/html/functions_m.html79
-rw-r--r--docs/doxygen/html/functions_n.html78
-rw-r--r--docs/doxygen/html/functions_o.html94
-rw-r--r--docs/doxygen/html/functions_p.html94
-rw-r--r--docs/doxygen/html/functions_r.html87
-rw-r--r--docs/doxygen/html/functions_rela.html77
-rw-r--r--docs/doxygen/html/functions_s.html102
-rw-r--r--docs/doxygen/html/functions_t.html79
-rw-r--r--docs/doxygen/html/functions_u.html82
-rw-r--r--docs/doxygen/html/functions_v.html79
-rw-r--r--docs/doxygen/html/functions_vars.html145
-rw-r--r--docs/doxygen/html/functions_w.html80
-rw-r--r--docs/doxygen/html/functions_x.html106
-rw-r--r--docs/doxygen/html/functions_y.html77
-rw-r--r--docs/doxygen/html/functions_z.html80
-rw-r--r--docs/doxygen/html/functions_~.html82
-rw-r--r--docs/doxygen/html/globals.html227
-rw-r--r--docs/doxygen/html/globals_defs.html182
-rw-r--r--docs/doxygen/html/globals_func.html114
-rw-r--r--docs/doxygen/html/globals_vars.html77
-rw-r--r--docs/doxygen/html/hierarchy.html89
-rw-r--r--docs/doxygen/html/include_2xbcrix_8cpp.html80
-rw-r--r--docs/doxygen/html/index.html75
-rw-r--r--docs/doxygen/html/jquery.js35
-rw-r--r--docs/doxygen/html/menu.js127
-rw-r--r--docs/doxygen/html/menudata.js130
-rw-r--r--docs/doxygen/html/namespacemembers.html83
-rw-r--r--docs/doxygen/html/namespacemembers_func.html75
-rw-r--r--docs/doxygen/html/namespacemembers_type.html78
-rw-r--r--docs/doxygen/html/namespacemembers_vars.html78
-rw-r--r--docs/doxygen/html/namespaces.html89
-rw-r--r--docs/doxygen/html/namespacexb.html290
-rw-r--r--docs/doxygen/html/nav_f.pngbin0 -> 153 bytes
-rw-r--r--docs/doxygen/html/nav_g.pngbin0 -> 95 bytes
-rw-r--r--docs/doxygen/html/nav_h.pngbin0 -> 98 bytes
-rw-r--r--docs/doxygen/html/open.pngbin0 -> 123 bytes
-rw-r--r--docs/doxygen/html/reindex_8cpp.html117
-rw-r--r--docs/doxygen/html/search/all_0.html37
-rw-r--r--docs/doxygen/html/search/all_0.js9
-rw-r--r--docs/doxygen/html/search/all_1.html37
-rw-r--r--docs/doxygen/html/search/all_1.js6
-rw-r--r--docs/doxygen/html/search/all_10.html37
-rw-r--r--docs/doxygen/html/search/all_10.js30
-rw-r--r--docs/doxygen/html/search/all_11.html37
-rw-r--r--docs/doxygen/html/search/all_11.js11
-rw-r--r--docs/doxygen/html/search/all_12.html37
-rw-r--r--docs/doxygen/html/search/all_12.js9
-rw-r--r--docs/doxygen/html/search/all_13.html37
-rw-r--r--docs/doxygen/html/search/all_13.js7
-rw-r--r--docs/doxygen/html/search/all_14.html37
-rw-r--r--docs/doxygen/html/search/all_14.js7
-rw-r--r--docs/doxygen/html/search/all_15.html37
-rw-r--r--docs/doxygen/html/search/all_15.js236
-rw-r--r--docs/doxygen/html/search/all_16.html37
-rw-r--r--docs/doxygen/html/search/all_16.js4
-rw-r--r--docs/doxygen/html/search/all_17.html37
-rw-r--r--docs/doxygen/html/search/all_17.js7
-rw-r--r--docs/doxygen/html/search/all_18.html37
-rw-r--r--docs/doxygen/html/search/all_18.js9
-rw-r--r--docs/doxygen/html/search/all_2.html37
-rw-r--r--docs/doxygen/html/search/all_2.js33
-rw-r--r--docs/doxygen/html/search/all_3.html37
-rw-r--r--docs/doxygen/html/search/all_3.js20
-rw-r--r--docs/doxygen/html/search/all_4.html37
-rw-r--r--docs/doxygen/html/search/all_4.js16
-rw-r--r--docs/doxygen/html/search/all_5.html37
-rw-r--r--docs/doxygen/html/search/all_5.js7
-rw-r--r--docs/doxygen/html/search/all_6.html37
-rw-r--r--docs/doxygen/html/search/all_6.js71
-rw-r--r--docs/doxygen/html/search/all_7.html37
-rw-r--r--docs/doxygen/html/search/all_7.js4
-rw-r--r--docs/doxygen/html/search/all_8.html37
-rw-r--r--docs/doxygen/html/search/all_8.js17
-rw-r--r--docs/doxygen/html/search/all_9.html37
-rw-r--r--docs/doxygen/html/search/all_9.js6
-rw-r--r--docs/doxygen/html/search/all_a.html37
-rw-r--r--docs/doxygen/html/search/all_a.js12
-rw-r--r--docs/doxygen/html/search/all_b.html37
-rw-r--r--docs/doxygen/html/search/all_b.js9
-rw-r--r--docs/doxygen/html/search/all_c.html37
-rw-r--r--docs/doxygen/html/search/all_c.js5
-rw-r--r--docs/doxygen/html/search/all_d.html37
-rw-r--r--docs/doxygen/html/search/all_d.js21
-rw-r--r--docs/doxygen/html/search/all_e.html37
-rw-r--r--docs/doxygen/html/search/all_e.js24
-rw-r--r--docs/doxygen/html/search/all_f.html37
-rw-r--r--docs/doxygen/html/search/all_f.js14
-rw-r--r--docs/doxygen/html/search/classes_0.html37
-rw-r--r--docs/doxygen/html/search/classes_0.js4
-rw-r--r--docs/doxygen/html/search/classes_1.html37
-rw-r--r--docs/doxygen/html/search/classes_1.js12
-rw-r--r--docs/doxygen/html/search/close.svg31
-rw-r--r--docs/doxygen/html/search/defines_0.html37
-rw-r--r--docs/doxygen/html/search/defines_0.js4
-rw-r--r--docs/doxygen/html/search/defines_1.html37
-rw-r--r--docs/doxygen/html/search/defines_1.js7
-rw-r--r--docs/doxygen/html/search/defines_2.html37
-rw-r--r--docs/doxygen/html/search/defines_2.js4
-rw-r--r--docs/doxygen/html/search/defines_3.html37
-rw-r--r--docs/doxygen/html/search/defines_3.js91
-rw-r--r--docs/doxygen/html/search/files_0.html37
-rw-r--r--docs/doxygen/html/search/files_0.js4
-rw-r--r--docs/doxygen/html/search/files_1.html37
-rw-r--r--docs/doxygen/html/search/files_1.js109
-rw-r--r--docs/doxygen/html/search/files_2.html37
-rw-r--r--docs/doxygen/html/search/files_2.js4
-rw-r--r--docs/doxygen/html/search/files_3.html37
-rw-r--r--docs/doxygen/html/search/files_3.js4
-rw-r--r--docs/doxygen/html/search/files_4.html37
-rw-r--r--docs/doxygen/html/search/files_4.js100
-rw-r--r--docs/doxygen/html/search/functions_0.html37
-rw-r--r--docs/doxygen/html/search/functions_0.js9
-rw-r--r--docs/doxygen/html/search/functions_1.html37
-rw-r--r--docs/doxygen/html/search/functions_1.js6
-rw-r--r--docs/doxygen/html/search/functions_10.html37
-rw-r--r--docs/doxygen/html/search/functions_10.js26
-rw-r--r--docs/doxygen/html/search/functions_11.html37
-rw-r--r--docs/doxygen/html/search/functions_11.js9
-rw-r--r--docs/doxygen/html/search/functions_12.html37
-rw-r--r--docs/doxygen/html/search/functions_12.js5
-rw-r--r--docs/doxygen/html/search/functions_13.html37
-rw-r--r--docs/doxygen/html/search/functions_13.js6
-rw-r--r--docs/doxygen/html/search/functions_14.html37
-rw-r--r--docs/doxygen/html/search/functions_14.js7
-rw-r--r--docs/doxygen/html/search/functions_15.html37
-rw-r--r--docs/doxygen/html/search/functions_15.js30
-rw-r--r--docs/doxygen/html/search/functions_16.html37
-rw-r--r--docs/doxygen/html/search/functions_16.js4
-rw-r--r--docs/doxygen/html/search/functions_17.html37
-rw-r--r--docs/doxygen/html/search/functions_17.js7
-rw-r--r--docs/doxygen/html/search/functions_18.html37
-rw-r--r--docs/doxygen/html/search/functions_18.js9
-rw-r--r--docs/doxygen/html/search/functions_2.html37
-rw-r--r--docs/doxygen/html/search/functions_2.js22
-rw-r--r--docs/doxygen/html/search/functions_3.html37
-rw-r--r--docs/doxygen/html/search/functions_3.js20
-rw-r--r--docs/doxygen/html/search/functions_4.html37
-rw-r--r--docs/doxygen/html/search/functions_4.js15
-rw-r--r--docs/doxygen/html/search/functions_5.html37
-rw-r--r--docs/doxygen/html/search/functions_5.js7
-rw-r--r--docs/doxygen/html/search/functions_6.html37
-rw-r--r--docs/doxygen/html/search/functions_6.js71
-rw-r--r--docs/doxygen/html/search/functions_7.html37
-rw-r--r--docs/doxygen/html/search/functions_7.js4
-rw-r--r--docs/doxygen/html/search/functions_8.html37
-rw-r--r--docs/doxygen/html/search/functions_8.js8
-rw-r--r--docs/doxygen/html/search/functions_9.html37
-rw-r--r--docs/doxygen/html/search/functions_9.js5
-rw-r--r--docs/doxygen/html/search/functions_a.html37
-rw-r--r--docs/doxygen/html/search/functions_a.js8
-rw-r--r--docs/doxygen/html/search/functions_b.html37
-rw-r--r--docs/doxygen/html/search/functions_b.js7
-rw-r--r--docs/doxygen/html/search/functions_c.html37
-rw-r--r--docs/doxygen/html/search/functions_c.js4
-rw-r--r--docs/doxygen/html/search/functions_d.html37
-rw-r--r--docs/doxygen/html/search/functions_d.js21
-rw-r--r--docs/doxygen/html/search/functions_e.html37
-rw-r--r--docs/doxygen/html/search/functions_e.js19
-rw-r--r--docs/doxygen/html/search/functions_f.html37
-rw-r--r--docs/doxygen/html/search/functions_f.js12
-rw-r--r--docs/doxygen/html/search/mag_sel.svg74
-rw-r--r--docs/doxygen/html/search/namespaces_0.html37
-rw-r--r--docs/doxygen/html/search/namespaces_0.js4
-rw-r--r--docs/doxygen/html/search/nomatches.html13
-rw-r--r--docs/doxygen/html/search/related_0.html37
-rw-r--r--docs/doxygen/html/search/related_0.js4
-rw-r--r--docs/doxygen/html/search/related_1.html37
-rw-r--r--docs/doxygen/html/search/related_1.js5
-rw-r--r--docs/doxygen/html/search/search.css263
-rw-r--r--docs/doxygen/html/search/search.js794
-rw-r--r--docs/doxygen/html/search/search_l.pngbin0 -> 567 bytes
-rw-r--r--docs/doxygen/html/search/search_m.pngbin0 -> 158 bytes
-rw-r--r--docs/doxygen/html/search/search_r.pngbin0 -> 553 bytes
-rw-r--r--docs/doxygen/html/search/searchdata.js39
-rw-r--r--docs/doxygen/html/search/typedefs_0.html37
-rw-r--r--docs/doxygen/html/search/typedefs_0.js7
-rw-r--r--docs/doxygen/html/search/variables_0.html37
-rw-r--r--docs/doxygen/html/search/variables_0.js14
-rw-r--r--docs/doxygen/html/search/variables_1.html37
-rw-r--r--docs/doxygen/html/search/variables_1.js4
-rw-r--r--docs/doxygen/html/search/variables_2.html37
-rw-r--r--docs/doxygen/html/search/variables_2.js12
-rw-r--r--docs/doxygen/html/search/variables_3.html37
-rw-r--r--docs/doxygen/html/search/variables_3.js5
-rw-r--r--docs/doxygen/html/search/variables_4.html37
-rw-r--r--docs/doxygen/html/search/variables_4.js4
-rw-r--r--docs/doxygen/html/search/variables_5.html37
-rw-r--r--docs/doxygen/html/search/variables_5.js8
-rw-r--r--docs/doxygen/html/search/variables_6.html37
-rw-r--r--docs/doxygen/html/search/variables_6.js5
-rw-r--r--docs/doxygen/html/search/variables_7.html37
-rw-r--r--docs/doxygen/html/search/variables_7.js6
-rw-r--r--docs/doxygen/html/search/variables_8.html37
-rw-r--r--docs/doxygen/html/search/variables_8.js4
-rw-r--r--docs/doxygen/html/search/variables_9.html37
-rw-r--r--docs/doxygen/html/search/variables_9.js7
-rw-r--r--docs/doxygen/html/search/variables_a.html37
-rw-r--r--docs/doxygen/html/search/variables_a.js8
-rw-r--r--docs/doxygen/html/splitbar.pngbin0 -> 314 bytes
-rw-r--r--docs/doxygen/html/sql_2xbcrix_8cpp.html80
-rw-r--r--docs/doxygen/html/structsFldMap.html149
-rw-r--r--docs/doxygen/html/structxb_1_1xbSchema.html179
-rw-r--r--docs/doxygen/html/structxb_1_1xbTblList.html171
-rw-r--r--docs/doxygen/html/sync_off.pngbin0 -> 853 bytes
-rw-r--r--docs/doxygen/html/sync_on.pngbin0 -> 845 bytes
-rw-r--r--docs/doxygen/html/tab_a.pngbin0 -> 142 bytes
-rw-r--r--docs/doxygen/html/tab_b.pngbin0 -> 169 bytes
-rw-r--r--docs/doxygen/html/tab_h.pngbin0 -> 177 bytes
-rw-r--r--docs/doxygen/html/tab_s.pngbin0 -> 184 bytes
-rw-r--r--docs/doxygen/html/tabs.css1
-rw-r--r--docs/doxygen/html/tstfuncs_8cpp.html547
-rw-r--r--docs/doxygen/html/xb__cfg__check_8cpp.html108
-rw-r--r--docs/doxygen/html/xb__copydbf_8cpp.html155
-rw-r--r--docs/doxygen/html/xb__dbfutil_8cpp.html155
-rw-r--r--docs/doxygen/html/xb__deletall_8cpp.html155
-rw-r--r--docs/doxygen/html/xb__dumpdbt_8cpp.html155
-rw-r--r--docs/doxygen/html/xb__dumphdr_8cpp.html117
-rw-r--r--docs/doxygen/html/xb__dumpix_8cpp.html117
-rw-r--r--docs/doxygen/html/xb__dumprecs_8cpp.html155
-rw-r--r--docs/doxygen/html/xb__ex__date_8cpp.html106
-rw-r--r--docs/doxygen/html/xb__ex__expression_8cpp.html168
-rw-r--r--docs/doxygen/html/xb__ex__log_8cpp.html117
-rw-r--r--docs/doxygen/html/xb__ex__sql_8cpp.html117
-rw-r--r--docs/doxygen/html/xb__ex__ssv_8cpp.html117
-rw-r--r--docs/doxygen/html/xb__ex__string_8cpp.html106
-rw-r--r--docs/doxygen/html/xb__ex__v3__create__dbf_8cpp.html106
-rw-r--r--docs/doxygen/html/xb__ex__v3__upd__dbf_8cpp.html106
-rw-r--r--docs/doxygen/html/xb__ex__v4__create__dbf_8cpp.html106
-rw-r--r--docs/doxygen/html/xb__ex__v4__upd__dbf_8cpp.html106
-rw-r--r--docs/doxygen/html/xb__execsql_8cpp.html191
-rw-r--r--docs/doxygen/html/xb__import_8cpp.html161
-rw-r--r--docs/doxygen/html/xb__pack_8cpp.html155
-rw-r--r--docs/doxygen/html/xb__tblinfo_8cpp.html155
-rw-r--r--docs/doxygen/html/xb__test__bcd_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__blockread_8cpp.html147
-rw-r--r--docs/doxygen/html/xb__test__blockread__save_8cpp.html147
-rw-r--r--docs/doxygen/html/xb__test__date_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__dbf__v3__memos_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__dbf__v3__nomemos_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__dbf__v4__memos_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__dbf__v4__nomemos_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__expnode_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__expression_8cpp.html502
-rw-r--r--docs/doxygen/html/xb__test__file_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__filter_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__funcs_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__linklist_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__lock2_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__lock_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__log_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__mdx_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__ndx2_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__ndx_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__sql_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__string_8cpp.html139
-rw-r--r--docs/doxygen/html/xb__test__tblmgr_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__tdx_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__uda_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__test__xbase_8cpp.html118
-rw-r--r--docs/doxygen/html/xb__undelall_8cpp.html155
-rw-r--r--docs/doxygen/html/xb__zap_8cpp.html117
-rw-r--r--docs/doxygen/html/xbalttbl_8cpp.html80
-rw-r--r--docs/doxygen/html/xbase_8h.html110
-rw-r--r--docs/doxygen/html/xbase_8h_source.html202
-rw-r--r--docs/doxygen/html/xbbcd_8cpp.html80
-rw-r--r--docs/doxygen/html/xbbcd_8h.html81
-rw-r--r--docs/doxygen/html/xbbcd_8h_source.html172
-rw-r--r--docs/doxygen/html/xbblkread_8h.html89
-rw-r--r--docs/doxygen/html/xbblkread_8h_source.html145
-rw-r--r--docs/doxygen/html/xbblockread_8cpp.html80
-rw-r--r--docs/doxygen/html/xbcrix_8cpp.html80
-rw-r--r--docs/doxygen/html/xbcrtbl_8cpp.html80
-rw-r--r--docs/doxygen/html/xbcrtbl_8save2_8cpp.html80
-rw-r--r--docs/doxygen/html/xbcrtbl_8save_8cpp.html80
-rw-r--r--docs/doxygen/html/xbdate_8cpp.html89
-rw-r--r--docs/doxygen/html/xbdate_8h.html165
-rw-r--r--docs/doxygen/html/xbdate_8h_source.html184
-rw-r--r--docs/doxygen/html/xbdbf3_8cpp.html80
-rw-r--r--docs/doxygen/html/xbdbf4_8cpp.html80
-rw-r--r--docs/doxygen/html/xbdbf_8cpp.html88
-rw-r--r--docs/doxygen/html/xbdbf_8h.html456
-rw-r--r--docs/doxygen/html/xbdbf_8h_source.html614
-rw-r--r--docs/doxygen/html/xbdelete_8cpp.html80
-rw-r--r--docs/doxygen/html/xbdrpix_8cpp.html80
-rw-r--r--docs/doxygen/html/xbdrptbl_8cpp.html80
-rw-r--r--docs/doxygen/html/xbexp_8cpp.html80
-rw-r--r--docs/doxygen/html/xbexp_8h.html104
-rw-r--r--docs/doxygen/html/xbexp_8h_source.html243
-rw-r--r--docs/doxygen/html/xbexpnode_8cpp.html80
-rw-r--r--docs/doxygen/html/xbexpnode_8h.html81
-rw-r--r--docs/doxygen/html/xbexpnode_8h_source.html190
-rw-r--r--docs/doxygen/html/xbfields_8cpp.html88
-rw-r--r--docs/doxygen/html/xbfile_8cpp.html88
-rw-r--r--docs/doxygen/html/xbfile_8h.html181
-rw-r--r--docs/doxygen/html/xbfile_8h_source.html266
-rw-r--r--docs/doxygen/html/xbfilter_8cpp.html80
-rw-r--r--docs/doxygen/html/xbfilter_8h.html81
-rw-r--r--docs/doxygen/html/xbfilter_8h_source.html159
-rw-r--r--docs/doxygen/html/xbfuncs_8cpp.html80
-rw-r--r--docs/doxygen/html/xbindex_8h.html81
-rw-r--r--docs/doxygen/html/xbindex_8h_source.html600
-rw-r--r--docs/doxygen/html/xbinsert_8cpp.html80
-rw-r--r--docs/doxygen/html/xbixbase_8cpp.html80
-rw-r--r--docs/doxygen/html/xbixmdx_8cpp.html80
-rw-r--r--docs/doxygen/html/xbixndx_8cpp.html80
-rw-r--r--docs/doxygen/html/xbixtdx_8cpp.html80
-rw-r--r--docs/doxygen/html/xblnklst_8h.html81
-rw-r--r--docs/doxygen/html/xblnklst_8h_source.html341
-rw-r--r--docs/doxygen/html/xblnklstord_8h.html81
-rw-r--r--docs/doxygen/html/xblnklstord_8h_source.html455
-rw-r--r--docs/doxygen/html/xblnknod_8h.html81
-rw-r--r--docs/doxygen/html/xblnknod_8h_source.html174
-rw-r--r--docs/doxygen/html/xblog_8cpp.html80
-rw-r--r--docs/doxygen/html/xblog_8h.html89
-rw-r--r--docs/doxygen/html/xblog_8h_source.html136
-rw-r--r--docs/doxygen/html/xbmemo3_8cpp.html80
-rw-r--r--docs/doxygen/html/xbmemo4_8cpp.html80
-rw-r--r--docs/doxygen/html/xbmemo_8cpp.html80
-rw-r--r--docs/doxygen/html/xbmemo_8h.html81
-rw-r--r--docs/doxygen/html/xbmemo_8h_source.html263
-rw-r--r--docs/doxygen/html/xbretcod_8h.html1022
-rw-r--r--docs/doxygen/html/xbretcod_8h_source.html178
-rw-r--r--docs/doxygen/html/xbselect_8cpp.html80
-rw-r--r--docs/doxygen/html/xbset_8cpp.html80
-rw-r--r--docs/doxygen/html/xbsql_8cpp.html80
-rw-r--r--docs/doxygen/html/xbsql_8h.html81
-rw-r--r--docs/doxygen/html/xbsql_8h_source.html243
-rw-r--r--docs/doxygen/html/xbssv_8cpp.html94
-rw-r--r--docs/doxygen/html/xbssv_8h.html102
-rw-r--r--docs/doxygen/html/xbssv_8h_source.html267
-rw-r--r--docs/doxygen/html/xbstmt_8cpp.html80
-rw-r--r--docs/doxygen/html/xbstring_8cpp.html95
-rw-r--r--docs/doxygen/html/xbstring_8h.html98
-rw-r--r--docs/doxygen/html/xbstring_8h_source.html252
-rw-r--r--docs/doxygen/html/xbtag_8cpp.html80
-rw-r--r--docs/doxygen/html/xbtag_8h.html89
-rw-r--r--docs/doxygen/html/xbtag_8h_source.html144
-rw-r--r--docs/doxygen/html/xbtblmgr_8cpp.html88
-rw-r--r--docs/doxygen/html/xbtblmgr_8h.html103
-rw-r--r--docs/doxygen/html/xbtblmgr_8h_source.html153
-rw-r--r--docs/doxygen/html/xbtypes_8h.html154
-rw-r--r--docs/doxygen/html/xbtypes_8h_source.html139
-rw-r--r--docs/doxygen/html/xbuda_8cpp.html80
-rw-r--r--docs/doxygen/html/xbuda_8h.html81
-rw-r--r--docs/doxygen/html/xbuda_8h_source.html132
-rw-r--r--docs/doxygen/html/xbxbase_8cpp.html88
-rw-r--r--docs/doxygen/html/xbxbase_8h.html102
-rw-r--r--docs/doxygen/html/xbxbase_8h_source.html323
418 files changed, 58008 insertions, 0 deletions
diff --git a/docs/doxygen/html/annotated.html b/docs/doxygen/html/annotated.html
new file mode 100644
index 0000000..78f63fe
--- /dev/null
+++ b/docs/doxygen/html/annotated.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Structures</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle"><div class="title">Data Structures</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacexb.html" target="_self">xb</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbDate.html" target="_self">xbDate</a></td><td class="desc">XbDate class </td></tr>
+<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbDbf.html" target="_self">xbDbf</a></td><td class="desc">Base class for handling dbf files/tables </td></tr>
+<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbFile.html" target="_self">xbFile</a></td><td class="desc">Class for handling low level file I/O </td></tr>
+<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structxb_1_1xbSchema.html" target="_self">xbSchema</a></td><td class="desc">Schema used for defining tables with CreateTable methods </td></tr>
+<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbSsv.html" target="_self">xbSsv</a></td><td class="desc">Class for handling shared system variables </td></tr>
+<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbString.html" target="_self">xbString</a></td><td class="desc">Class for handling string data </td></tr>
+<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structxb_1_1xbTblList.html" target="_self">xbTblList</a></td><td class="desc"></td></tr>
+<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbTblMgr.html" target="_self">xbTblMgr</a></td><td class="desc"></td></tr>
+<tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbXBase.html" target="_self">xbXBase</a></td><td class="desc">XbXbase class </td></tr>
+<tr id="row_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsFldMap.html" target="_self">sFldMap</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/bc_s.png b/docs/doxygen/html/bc_s.png
new file mode 100644
index 0000000..224b29a
--- /dev/null
+++ b/docs/doxygen/html/bc_s.png
Binary files differ
diff --git a/docs/doxygen/html/bdwn.png b/docs/doxygen/html/bdwn.png
new file mode 100644
index 0000000..940a0b9
--- /dev/null
+++ b/docs/doxygen/html/bdwn.png
Binary files differ
diff --git a/docs/doxygen/html/checkndx_8cpp.html b/docs/doxygen/html/checkndx_8cpp.html
new file mode 100644
index 0000000..e24b4ce
--- /dev/null
+++ b/docs/doxygen/html/checkndx_8cpp.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.0.2/src/utils/checkndx.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">checkndx.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;xbase64/xbase64.h&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a0c99d968a34e803d378692bde2e3f18f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="checkndx_8cpp.html#a0c99d968a34e803d378692bde2e3f18f">main</a> (int ac, char **av)</td></tr>
+<tr class="separator:a0c99d968a34e803d378692bde2e3f18f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0c99d968a34e803d378692bde2e3f18f" name="a0c99d968a34e803d378692bde2e3f18f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c99d968a34e803d378692bde2e3f18f">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>ac</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/classes.html b/docs/doxygen/html/classes.html
new file mode 100644
index 0000000..8db6dd4
--- /dev/null
+++ b/docs/doxygen/html/classes.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Structure Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle"><div class="title">Data Structure Index</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_X">X</a></div>
+<div class="classindex">
+<dl class="classindex even">
+<dt class="alphachar"><a id="letter_S" name="letter_S">S</a></dt>
+<dd><a class="el" href="structsFldMap.html">sFldMap</a></dd></dl>
+<dl class="classindex odd">
+<dt class="alphachar"><a id="letter_X" name="letter_X">X</a></dt>
+<dd><a class="el" href="classxb_1_1xbDate.html">xbDate</a> (<a class="el" href="namespacexb.html">xb</a>)</dd><dd><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> (<a class="el" href="namespacexb.html">xb</a>)</dd><dd><a class="el" href="classxb_1_1xbFile.html">xbFile</a> (<a class="el" href="namespacexb.html">xb</a>)</dd><dd><a class="el" href="structxb_1_1xbSchema.html">xbSchema</a> (<a class="el" href="namespacexb.html">xb</a>)</dd><dd><a class="el" href="classxb_1_1xbSsv.html">xbSsv</a> (<a class="el" href="namespacexb.html">xb</a>)</dd><dd><a class="el" href="classxb_1_1xbString.html">xbString</a> (<a class="el" href="namespacexb.html">xb</a>)</dd><dd><a class="el" href="structxb_1_1xbTblList.html">xbTblList</a> (<a class="el" href="namespacexb.html">xb</a>)</dd><dd><a class="el" href="classxb_1_1xbTblMgr.html">xbTblMgr</a> (<a class="el" href="namespacexb.html">xb</a>)</dd><dd><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> (<a class="el" href="namespacexb.html">xb</a>)</dd></dl>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/classxb_1_1xbDate.html b/docs/doxygen/html/classxb_1_1xbDate.html
new file mode 100644
index 0000000..d7ea52b
--- /dev/null
+++ b/docs/doxygen/html/classxb_1_1xbDate.html
@@ -0,0 +1,2092 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: xb::xbDate Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="namespacexb.html">xb</a></li><li class="navelem"><a class="el" href="classxb_1_1xbDate.html">xbDate</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-attribs">Static Protected Attributes</a> </div>
+ <div class="headertitle"><div class="title">xb::xbDate Class Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a class="el" href="classxb_1_1xbDate.html" title="xbDate class.">xbDate</a> class.
+ <a href="classxb_1_1xbDate.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="xbdate_8h_source.html">xbdate.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for xb::xbDate:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classxb_1_1xbDate.png" usemap="#xb::xbDate_map" alt=""/>
+ <map id="xb::xbDate_map" name="xb::xbDate_map">
+<area href="classxb_1_1xbSsv.html" title="Class for handling shared system variables." alt="xb::xbSsv" shape="rect" coords="0,0,70,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab3150e7db0ab5db10a07d748b55465eb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#ab3150e7db0ab5db10a07d748b55465eb">xbDate</a> ()</td></tr>
+<tr class="memdesc:ab3150e7db0ab5db10a07d748b55465eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classxb_1_1xbDate.html#ab3150e7db0ab5db10a07d748b55465eb">More...</a><br /></td></tr>
+<tr class="separator:ab3150e7db0ab5db10a07d748b55465eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac8a4d9330221a3daee21b3c28c1d9719"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#ac8a4d9330221a3daee21b3c28c1d9719">xbDate</a> (const char *Date8)</td></tr>
+<tr class="memdesc:ac8a4d9330221a3daee21b3c28c1d9719"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classxb_1_1xbDate.html#ac8a4d9330221a3daee21b3c28c1d9719">More...</a><br /></td></tr>
+<tr class="separator:ac8a4d9330221a3daee21b3c28c1d9719"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf4546f5681735ede18210f60bab68d4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#acf4546f5681735ede18210f60bab68d4">xbDate</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;Date8)</td></tr>
+<tr class="memdesc:acf4546f5681735ede18210f60bab68d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classxb_1_1xbDate.html#acf4546f5681735ede18210f60bab68d4">More...</a><br /></td></tr>
+<tr class="separator:acf4546f5681735ede18210f60bab68d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ab727a7ec184a086ad36ef83b948170"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a7ab727a7ec184a086ad36ef83b948170">xbDate</a> (xbInt32 lJulDate)</td></tr>
+<tr class="memdesc:a7ab727a7ec184a086ad36ef83b948170"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classxb_1_1xbDate.html#a7ab727a7ec184a086ad36ef83b948170">More...</a><br /></td></tr>
+<tr class="separator:a7ab727a7ec184a086ad36ef83b948170"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8dfc827b466be3c5e3def599277dfa43"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a8dfc827b466be3c5e3def599277dfa43">xbDate</a> (xbUInt16 iInit)</td></tr>
+<tr class="memdesc:a8dfc827b466be3c5e3def599277dfa43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classxb_1_1xbDate.html#a8dfc827b466be3c5e3def599277dfa43">More...</a><br /></td></tr>
+<tr class="separator:a8dfc827b466be3c5e3def599277dfa43"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05c9680c6eb9fe07ecf13a189b596c37"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a05c9680c6eb9fe07ecf13a189b596c37">~xbDate</a> ()</td></tr>
+<tr class="memdesc:a05c9680c6eb9fe07ecf13a189b596c37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="classxb_1_1xbDate.html#a05c9680c6eb9fe07ecf13a189b596c37">More...</a><br /></td></tr>
+<tr class="separator:a05c9680c6eb9fe07ecf13a189b596c37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e33ad9415c32e820e08fd8084198690"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a2e33ad9415c32e820e08fd8084198690">operator=</a> (const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;d)</td></tr>
+<tr class="memdesc:a2e33ad9415c32e820e08fd8084198690"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set operator=. <a href="classxb_1_1xbDate.html#a2e33ad9415c32e820e08fd8084198690">More...</a><br /></td></tr>
+<tr class="separator:a2e33ad9415c32e820e08fd8084198690"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a947ba156d04fe063aaa4c9964ae5d163"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a947ba156d04fe063aaa4c9964ae5d163">operator+=</a> (xbInt32 i)</td></tr>
+<tr class="memdesc:a947ba156d04fe063aaa4c9964ae5d163"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator += <a href="classxb_1_1xbDate.html#a947ba156d04fe063aaa4c9964ae5d163">More...</a><br /></td></tr>
+<tr class="separator:a947ba156d04fe063aaa4c9964ae5d163"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a8f207d759540114373f5e9d6d375f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a4a8f207d759540114373f5e9d6d375f7">operator-=</a> (xbInt32 i)</td></tr>
+<tr class="memdesc:a4a8f207d759540114373f5e9d6d375f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator -= <a href="classxb_1_1xbDate.html#a4a8f207d759540114373f5e9d6d375f7">More...</a><br /></td></tr>
+<tr class="separator:a4a8f207d759540114373f5e9d6d375f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c7d9e3718c43df18b21646072c8605e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a1c7d9e3718c43df18b21646072c8605e">operator++</a> (xbInt32 i)</td></tr>
+<tr class="memdesc:a1c7d9e3718c43df18b21646072c8605e"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator ++ <a href="classxb_1_1xbDate.html#a1c7d9e3718c43df18b21646072c8605e">More...</a><br /></td></tr>
+<tr class="separator:a1c7d9e3718c43df18b21646072c8605e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2b33dfee60d324916d833b2098b5a6b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#ae2b33dfee60d324916d833b2098b5a6b">operator--</a> (xbInt32 i)</td></tr>
+<tr class="memdesc:ae2b33dfee60d324916d833b2098b5a6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator &ndash; <a href="classxb_1_1xbDate.html#ae2b33dfee60d324916d833b2098b5a6b">More...</a><br /></td></tr>
+<tr class="separator:ae2b33dfee60d324916d833b2098b5a6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f3a8802c96098c85aa8d0e19717a979"><td class="memItemLeft" align="right" valign="top">xbInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a3f3a8802c96098c85aa8d0e19717a979">operator-</a> (const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;) const</td></tr>
+<tr class="memdesc:a3f3a8802c96098c85aa8d0e19717a979"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator - <a href="classxb_1_1xbDate.html#a3f3a8802c96098c85aa8d0e19717a979">More...</a><br /></td></tr>
+<tr class="separator:a3f3a8802c96098c85aa8d0e19717a979"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a73ff5c037046ac0a0bb7d73f74e25cbb"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a73ff5c037046ac0a0bb7d73f74e25cbb">operator-</a> (xbInt32 i)</td></tr>
+<tr class="memdesc:a73ff5c037046ac0a0bb7d73f74e25cbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator - <a href="classxb_1_1xbDate.html#a73ff5c037046ac0a0bb7d73f74e25cbb">More...</a><br /></td></tr>
+<tr class="separator:a73ff5c037046ac0a0bb7d73f74e25cbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad09609bf78cf038886a4f9cd19423f9c"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#ad09609bf78cf038886a4f9cd19423f9c">operator+</a> (xbInt32 i)</td></tr>
+<tr class="memdesc:ad09609bf78cf038886a4f9cd19423f9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator + <a href="classxb_1_1xbDate.html#ad09609bf78cf038886a4f9cd19423f9c">More...</a><br /></td></tr>
+<tr class="separator:ad09609bf78cf038886a4f9cd19423f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaaf98c1a672066021895f0953b6e94d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#aaaf98c1a672066021895f0953b6e94d0">operator==</a> (const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;) const</td></tr>
+<tr class="memdesc:aaaf98c1a672066021895f0953b6e94d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator == <a href="classxb_1_1xbDate.html#aaaf98c1a672066021895f0953b6e94d0">More...</a><br /></td></tr>
+<tr class="separator:aaaf98c1a672066021895f0953b6e94d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3aaf8997fc0c36676085e7741f33a8a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#ac3aaf8997fc0c36676085e7741f33a8a">operator!=</a> (const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;) const</td></tr>
+<tr class="memdesc:ac3aaf8997fc0c36676085e7741f33a8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator != <a href="classxb_1_1xbDate.html#ac3aaf8997fc0c36676085e7741f33a8a">More...</a><br /></td></tr>
+<tr class="separator:ac3aaf8997fc0c36676085e7741f33a8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11f09d97ed527e7ef00ba6f17b9fb02c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a11f09d97ed527e7ef00ba6f17b9fb02c">operator&lt;</a> (const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;) const</td></tr>
+<tr class="memdesc:a11f09d97ed527e7ef00ba6f17b9fb02c"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator &lt; <a href="classxb_1_1xbDate.html#a11f09d97ed527e7ef00ba6f17b9fb02c">More...</a><br /></td></tr>
+<tr class="separator:a11f09d97ed527e7ef00ba6f17b9fb02c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a744031c4031d6ec4595d34acbd1c5860"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a744031c4031d6ec4595d34acbd1c5860">operator&gt;</a> (const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;) const</td></tr>
+<tr class="memdesc:a744031c4031d6ec4595d34acbd1c5860"><td class="mdescLeft">&#160;</td><td class="mdescRight">&gt; <a href="classxb_1_1xbDate.html#a744031c4031d6ec4595d34acbd1c5860">More...</a><br /></td></tr>
+<tr class="separator:a744031c4031d6ec4595d34acbd1c5860"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d8fa4df4664f3fd8d4cc15e77f6d046"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a6d8fa4df4664f3fd8d4cc15e77f6d046">operator&lt;=</a> (const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;) const</td></tr>
+<tr class="memdesc:a6d8fa4df4664f3fd8d4cc15e77f6d046"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator &lt;= <a href="classxb_1_1xbDate.html#a6d8fa4df4664f3fd8d4cc15e77f6d046">More...</a><br /></td></tr>
+<tr class="separator:a6d8fa4df4664f3fd8d4cc15e77f6d046"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d81959ea55440588068ea7f82617c99"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a1d81959ea55440588068ea7f82617c99">operator&gt;=</a> (const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;) const</td></tr>
+<tr class="memdesc:a1d81959ea55440588068ea7f82617c99"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator &gt;= <a href="classxb_1_1xbDate.html#a1d81959ea55440588068ea7f82617c99">More...</a><br /></td></tr>
+<tr class="separator:a1d81959ea55440588068ea7f82617c99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9df58caa54105c489c314785c457e8cb"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a9df58caa54105c489c314785c457e8cb">CalcRollingCenturyForYear</a> (xbInt16 year) const</td></tr>
+<tr class="memdesc:a9df58caa54105c489c314785c457e8cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate century for a given year. <a href="classxb_1_1xbDate.html#a9df58caa54105c489c314785c457e8cb">More...</a><br /></td></tr>
+<tr class="separator:a9df58caa54105c489c314785c457e8cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38b2c5285c69ed65e94ece6c22dafde0"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a38b2c5285c69ed65e94ece6c22dafde0">CenturyOf</a> () const</td></tr>
+<tr class="memdesc:a38b2c5285c69ed65e94ece6c22dafde0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get century for date. <a href="classxb_1_1xbDate.html#a38b2c5285c69ed65e94ece6c22dafde0">More...</a><br /></td></tr>
+<tr class="separator:a38b2c5285c69ed65e94ece6c22dafde0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9fc29730b66cddfbb58c69992a99cc7c"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a9fc29730b66cddfbb58c69992a99cc7c">CharDayOf</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sOutCharDay)</td></tr>
+<tr class="memdesc:a9fc29730b66cddfbb58c69992a99cc7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the day of the week. <a href="classxb_1_1xbDate.html#a9fc29730b66cddfbb58c69992a99cc7c">More...</a><br /></td></tr>
+<tr class="separator:a9fc29730b66cddfbb58c69992a99cc7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afffc84f02bd421335ff8ebe9fb3db0ac"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#afffc84f02bd421335ff8ebe9fb3db0ac">CharMonthOf</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sOutCharMonth)</td></tr>
+<tr class="memdesc:afffc84f02bd421335ff8ebe9fb3db0ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the month from the date. <a href="classxb_1_1xbDate.html#afffc84f02bd421335ff8ebe9fb3db0ac">More...</a><br /></td></tr>
+<tr class="separator:afffc84f02bd421335ff8ebe9fb3db0ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a367f66ef0c03c1747c12a18784554ccb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a367f66ef0c03c1747c12a18784554ccb">DateIsValid</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDate8) const</td></tr>
+<tr class="memdesc:a367f66ef0c03c1747c12a18784554ccb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check a date for valid data. <a href="classxb_1_1xbDate.html#a367f66ef0c03c1747c12a18784554ccb">More...</a><br /></td></tr>
+<tr class="separator:a367f66ef0c03c1747c12a18784554ccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6417a900ce64a46f8909c0c7a2ddea2"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#ad6417a900ce64a46f8909c0c7a2ddea2">DayOf</a> (xbInt16 iFormat) const</td></tr>
+<tr class="separator:ad6417a900ce64a46f8909c0c7a2ddea2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb1eb4b0394e4a67aadab15779b1b8c5"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#abb1eb4b0394e4a67aadab15779b1b8c5">CTOD</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sCtodInDate)</td></tr>
+<tr class="memdesc:abb1eb4b0394e4a67aadab15779b1b8c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Format MM/DD/YY date. <a href="classxb_1_1xbDate.html#abb1eb4b0394e4a67aadab15779b1b8c5">More...</a><br /></td></tr>
+<tr class="separator:abb1eb4b0394e4a67aadab15779b1b8c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01de44dc869f7db99f33046fc91f2c6a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a01de44dc869f7db99f33046fc91f2c6a">FormatDate</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFmtIn, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFmtOut)</td></tr>
+<tr class="separator:a01de44dc869f7db99f33046fc91f2c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab43a5d8d929767c0ffdd722972bb8cc0"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#ab43a5d8d929767c0ffdd722972bb8cc0">Str</a> () const</td></tr>
+<tr class="memdesc:ab43a5d8d929767c0ffdd722972bb8cc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the date value. <a href="classxb_1_1xbDate.html#ab43a5d8d929767c0ffdd722972bb8cc0">More...</a><br /></td></tr>
+<tr class="separator:ab43a5d8d929767c0ffdd722972bb8cc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af2bd33a72448e2c5ee00d8b711dc5d95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#af2bd33a72448e2c5ee00d8b711dc5d95">IsLeapYear</a> (xbInt16 iYear) const</td></tr>
+<tr class="memdesc:af2bd33a72448e2c5ee00d8b711dc5d95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if date is a leap year. <a href="classxb_1_1xbDate.html#af2bd33a72448e2c5ee00d8b711dc5d95">More...</a><br /></td></tr>
+<tr class="separator:af2bd33a72448e2c5ee00d8b711dc5d95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f8051c31b29244265e8f26ac3547b9b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a5f8051c31b29244265e8f26ac3547b9b">IsLeapYear</a> () const</td></tr>
+<tr class="memdesc:a5f8051c31b29244265e8f26ac3547b9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if date is a leap year. <a href="classxb_1_1xbDate.html#a5f8051c31b29244265e8f26ac3547b9b">More...</a><br /></td></tr>
+<tr class="separator:a5f8051c31b29244265e8f26ac3547b9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a611a64b14ff89ad3c20b34081ea1e658"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a611a64b14ff89ad3c20b34081ea1e658">IsNull</a> () const</td></tr>
+<tr class="memdesc:a611a64b14ff89ad3c20b34081ea1e658"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if date is null date. <a href="classxb_1_1xbDate.html#a611a64b14ff89ad3c20b34081ea1e658">More...</a><br /></td></tr>
+<tr class="separator:a611a64b14ff89ad3c20b34081ea1e658"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1ee3377d4ead9d31099eee539d9b13a7"><td class="memItemLeft" align="right" valign="top">xbInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a1ee3377d4ead9d31099eee539d9b13a7">JulianDays</a> () const</td></tr>
+<tr class="memdesc:a1ee3377d4ead9d31099eee539d9b13a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate julian days for a given date. <a href="classxb_1_1xbDate.html#a1ee3377d4ead9d31099eee539d9b13a7">More...</a><br /></td></tr>
+<tr class="separator:a1ee3377d4ead9d31099eee539d9b13a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9d28b2a46d8aaa284b92f44eeb96b2ff"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a9d28b2a46d8aaa284b92f44eeb96b2ff">JulToDate8</a> (xbInt32 lJulDate)</td></tr>
+<tr class="memdesc:a9d28b2a46d8aaa284b92f44eeb96b2ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the number of julian days to gregorian date. <a href="classxb_1_1xbDate.html#a9d28b2a46d8aaa284b92f44eeb96b2ff">More...</a><br /></td></tr>
+<tr class="separator:a9d28b2a46d8aaa284b92f44eeb96b2ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15847866bb7642aa42bc254e0cf2038a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a15847866bb7642aa42bc254e0cf2038a">LastDayOfMonth</a> ()</td></tr>
+<tr class="memdesc:a15847866bb7642aa42bc254e0cf2038a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the date to the last day of month for a given date. <a href="classxb_1_1xbDate.html#a15847866bb7642aa42bc254e0cf2038a">More...</a><br /></td></tr>
+<tr class="separator:a15847866bb7642aa42bc254e0cf2038a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a08bd84c67e1119d8c5c1748cd89d092e"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a08bd84c67e1119d8c5c1748cd89d092e">MonthOf</a> () const</td></tr>
+<tr class="memdesc:a08bd84c67e1119d8c5c1748cd89d092e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the month for the date. <a href="classxb_1_1xbDate.html#a08bd84c67e1119d8c5c1748cd89d092e">More...</a><br /></td></tr>
+<tr class="separator:a08bd84c67e1119d8c5c1748cd89d092e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b0cde152b5de0f7d26608d1445110b6"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a4b0cde152b5de0f7d26608d1445110b6">Set</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;Date8)</td></tr>
+<tr class="memdesc:a4b0cde152b5de0f7d26608d1445110b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the date. <a href="classxb_1_1xbDate.html#a4b0cde152b5de0f7d26608d1445110b6">More...</a><br /></td></tr>
+<tr class="separator:a4b0cde152b5de0f7d26608d1445110b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a40ba54a58d64cf56266f020f91584192"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a40ba54a58d64cf56266f020f91584192">Sysdate</a> ()</td></tr>
+<tr class="memdesc:a40ba54a58d64cf56266f020f91584192"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the date equal to the system date. <a href="classxb_1_1xbDate.html#a40ba54a58d64cf56266f020f91584192">More...</a><br /></td></tr>
+<tr class="separator:a40ba54a58d64cf56266f020f91584192"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31057dfaa36389a16e40e3db82c46262"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html#a31057dfaa36389a16e40e3db82c46262">YearOf</a> () const</td></tr>
+<tr class="memdesc:a31057dfaa36389a16e40e3db82c46262"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the year of the date. <a href="classxb_1_1xbDate.html#a31057dfaa36389a16e40e3db82c46262">More...</a><br /></td></tr>
+<tr class="separator:a31057dfaa36389a16e40e3db82c46262"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97dfa59ab9a8e9f17454da0faceb023d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">DisplayError</a> (xbInt16 ErrorCode) const</td></tr>
+<tr class="memdesc:a97dfa59ab9a8e9f17454da0faceb023d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display error message on console for a given error number. <a href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">More...</a><br /></td></tr>
+<tr class="separator:a97dfa59ab9a8e9f17454da0faceb023d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">GetDefaultDateFormat</a> () const</td></tr>
+<tr class="memdesc:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default date format. <a href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">More...</a><br /></td></tr>
+<tr class="separator:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">GetDataDirectory</a> () const</td></tr>
+<tr class="memdesc:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current data directory. <a href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">More...</a><br /></td></tr>
+<tr class="separator:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abfaeef85935331073d213465bb362a61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">GetTempDirectory</a> () const</td></tr>
+<tr class="memdesc:abfaeef85935331073d213465bb362a61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current temp directory. <a href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">More...</a><br /></td></tr>
+<tr class="separator:abfaeef85935331073d213465bb362a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc9c06c95d71fbad8294e1ae8862cea9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">GetHomeDir</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sHomeDirOut)</td></tr>
+<tr class="memdesc:abc9c06c95d71fbad8294e1ae8862cea9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get home directory. <a href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">More...</a><br /></td></tr>
+<tr class="separator:abc9c06c95d71fbad8294e1ae8862cea9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49cd162f066eef2b829ba7c9f6620243"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">GetEndianType</a> () const</td></tr>
+<tr class="memdesc:a49cd162f066eef2b829ba7c9f6620243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Endian type. <a href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">More...</a><br /></td></tr>
+<tr class="separator:a49cd162f066eef2b829ba7c9f6620243"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56961d2a67b8e7470098626ac4dac7e4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">GetErrorMessage</a> (xbInt16 ErrorCode) const</td></tr>
+<tr class="memdesc:a56961d2a67b8e7470098626ac4dac7e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an error message. <a href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">More...</a><br /></td></tr>
+<tr class="separator:a56961d2a67b8e7470098626ac4dac7e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63cee13b473ee13970e93b11837b9e35"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">GetPathSeparator</a> () const</td></tr>
+<tr class="memdesc:a63cee13b473ee13970e93b11837b9e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the OS dependent path separator. <a href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">More...</a><br /></td></tr>
+<tr class="separator:a63cee13b473ee13970e93b11837b9e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">SetDataDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDataDirectory)</td></tr>
+<tr class="memdesc:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data directory. <a href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">More...</a><br /></td></tr>
+<tr class="separator:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f74db23f8902846d581935c7db73f9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">SetDefaultDateFormat</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDefaultDateFormat)</td></tr>
+<tr class="memdesc:a5f74db23f8902846d581935c7db73f9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default date format. <a href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">More...</a><br /></td></tr>
+<tr class="separator:a5f74db23f8902846d581935c7db73f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a17c229a20ef9ab4034df8f9cd657adb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">SetTempDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTempDirectory)</td></tr>
+<tr class="memdesc:a17c229a20ef9ab4034df8f9cd657adb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the temp directory. <a href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">More...</a><br /></td></tr>
+<tr class="separator:a17c229a20ef9ab4034df8f9cd657adb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62e4fd0a5888665c76bbbad962794e72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">BitSet</a> (unsigned char c, xbInt16 iBitNo) const</td></tr>
+<tr class="memdesc:a62e4fd0a5888665c76bbbad962794e72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check a bit in a one byte field and see if it is set. <a href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">More...</a><br /></td></tr>
+<tr class="separator:a62e4fd0a5888665c76bbbad962794e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8551b15a3ce4fa2a40d698db01f4a9ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a8551b15a3ce4fa2a40d698db01f4a9ae">BitDump</a> (unsigned char c) const</td></tr>
+<tr class="separator:a8551b15a3ce4fa2a40d698db01f4a9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba1395b8e4c7f28c3614061de6e49190"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#aba1395b8e4c7f28c3614061de6e49190">BitDump</a> (char c) const</td></tr>
+<tr class="separator:aba1395b8e4c7f28c3614061de6e49190"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6982f973e81587b04916f4509746aaf5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">GetDefaultAutoCommit</a> () const</td></tr>
+<tr class="memdesc:a6982f973e81587b04916f4509746aaf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default auto commit setting. <a href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">More...</a><br /></td></tr>
+<tr class="separator:a6982f973e81587b04916f4509746aaf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">SetDefaultAutoCommit</a> (<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bDefaultAutoCommit)</td></tr>
+<tr class="memdesc:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default auto commit. <a href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">More...</a><br /></td></tr>
+<tr class="separator:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4822315bded3969b59aeeb683c373051"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a4822315bded3969b59aeeb683c373051">GetLogDirectory</a> () const</td></tr>
+<tr class="separator:a4822315bded3969b59aeeb683c373051"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afaef09435be73b3111f5edbd7091d861"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#afaef09435be73b3111f5edbd7091d861">GetLogFileName</a> () const</td></tr>
+<tr class="separator:afaef09435be73b3111f5edbd7091d861"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b992ed97281bf25b5b66f5df686225e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a7b992ed97281bf25b5b66f5df686225e">SetLogDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLogDirectory)</td></tr>
+<tr class="separator:a7b992ed97281bf25b5b66f5df686225e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f05738e7dfd759e89990242ef503544"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a7f05738e7dfd759e89990242ef503544">SetLogFileName</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLogFileName)</td></tr>
+<tr class="separator:a7f05738e7dfd759e89990242ef503544"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">GetMultiUser</a> () const</td></tr>
+<tr class="memdesc:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the multi user setting. <a href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">More...</a><br /></td></tr>
+<tr class="separator:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba6e59512f7172dd55dcf92059e5928c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">SetMultiUser</a> (<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bMultiUser)</td></tr>
+<tr class="memdesc:aba6e59512f7172dd55dcf92059e5928c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the multi user setting. <a href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">More...</a><br /></td></tr>
+<tr class="separator:aba6e59512f7172dd55dcf92059e5928c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a6219f1b5e24ea12fe158cd5aea56988e"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6219f1b5e24ea12fe158cd5aea56988e">ErrorCodeText</a> []</td></tr>
+<tr class="separator:a6219f1b5e24ea12fe158cd5aea56988e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a904ec348fd029d4a76e72b8fde636108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">SetEndianType</a> ()</td></tr>
+<tr class="memdesc:a904ec348fd029d4a76e72b8fde636108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the endian type. <a href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">More...</a><br /></td></tr>
+<tr class="separator:a904ec348fd029d4a76e72b8fde636108"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-static-attribs" name="pro-static-attribs"></a>
+Static Protected Attributes</h2></td></tr>
+<tr class="memitem:a5849e813f5e8e1cd180f0366637adbf3"><td class="memItemLeft" align="right" valign="top">static xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a5849e813f5e8e1cd180f0366637adbf3">iEndianType</a> = 0</td></tr>
+<tr class="separator:a5849e813f5e8e1cd180f0366637adbf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9dec3164c3b264882df634915ecf21da"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classxb_1_1xbString.html">xbString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a9dec3164c3b264882df634915ecf21da">sNullString</a> = &quot;&quot;</td></tr>
+<tr class="separator:a9dec3164c3b264882df634915ecf21da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p ><a class="el" href="classxb_1_1xbDate.html" title="xbDate class.">xbDate</a> class. </p>
+<p >This <a class="el" href="classxb_1_1xbDate.html" title="xbDate class.">xbDate</a> class handles two type of date values:<br />
+</p>
+<p >1) Gregorian dates with a format of CCYYMMDD. This is how dates are stored in dbf files.<br />
+ 2) Julian dates calculated as the number of days since 1901-01-01 + 1721425.<br />
+</p>
+<p >Leap Years: The routines in the class support both leap years (one every four years) and leap centuries (one every four hundred years.)</p>
+<p >A leap year is a year having 366 days, which can be evenly divisible by 4 and not by 100.<br />
+ Leap centuries are years which are evenly divisible by 400.<br />
+</p>
+<p >From a programming perspective, Julian dates are useful for date arithmetic, determining the difference between two dates or calculating a future or past date.<br />
+</p>
+<p >To determine the difference between two dates, convert both dates to a Julian date and subtract one from the other.<br />
+</p>
+<p >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. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="ab3150e7db0ab5db10a07d748b55465eb" name="ab3150e7db0ab5db10a07d748b55465eb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab3150e7db0ab5db10a07d748b55465eb">&#9670;&nbsp;</a></span>xbDate() <span class="overload">[1/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbDate::xbDate </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+
+</div>
+</div>
+<a id="ac8a4d9330221a3daee21b3c28c1d9719" name="ac8a4d9330221a3daee21b3c28c1d9719"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac8a4d9330221a3daee21b3c28c1d9719">&#9670;&nbsp;</a></span>xbDate() <span class="overload">[2/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbDate::xbDate </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>sDate8In</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDate8In</td><td>- Input date. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="acf4546f5681735ede18210f60bab68d4" name="acf4546f5681735ede18210f60bab68d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acf4546f5681735ede18210f60bab68d4">&#9670;&nbsp;</a></span>xbDate() <span class="overload">[3/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbDate::xbDate </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDate8In</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDate8In</td><td>- Input date. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a7ab727a7ec184a086ad36ef83b948170" name="a7ab727a7ec184a086ad36ef83b948170"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7ab727a7ec184a086ad36ef83b948170">&#9670;&nbsp;</a></span>xbDate() <span class="overload">[4/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbDate::xbDate </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>lJulDate</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lJulDate</td><td>- Input julian date. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a8dfc827b466be3c5e3def599277dfa43" name="a8dfc827b466be3c5e3def599277dfa43"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8dfc827b466be3c5e3def599277dfa43">&#9670;&nbsp;</a></span>xbDate() <span class="overload">[5/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbDate::xbDate </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt16&#160;</td>
+ <td class="paramname"><em>iInit</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iInitOpt</td><td>- Constructor to use to initialize date static variables Called by the main xbXbase::xbXBase constructor </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a05c9680c6eb9fe07ecf13a189b596c37" name="a05c9680c6eb9fe07ecf13a189b596c37"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a05c9680c6eb9fe07ecf13a189b596c37">&#9670;&nbsp;</a></span>~xbDate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbDate::~xbDate </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Destructor. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="aba1395b8e4c7f28c3614061de6e49190" name="aba1395b8e4c7f28c3614061de6e49190"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba1395b8e4c7f28c3614061de6e49190">&#9670;&nbsp;</a></span>BitDump() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::BitDump </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8551b15a3ce4fa2a40d698db01f4a9ae" name="a8551b15a3ce4fa2a40d698db01f4a9ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8551b15a3ce4fa2a40d698db01f4a9ae">&#9670;&nbsp;</a></span>BitDump() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::BitDump </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a62e4fd0a5888665c76bbbad962794e72" name="a62e4fd0a5888665c76bbbad962794e72"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a62e4fd0a5888665c76bbbad962794e72">&#9670;&nbsp;</a></span>BitSet()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::BitSet </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iBitNo</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Check a bit in a one byte field and see if it is set. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>One byte char field to examine. </td></tr>
+ <tr><td class="paramname">iBitNo</td><td>which bit to examine. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue Bit is set<br />
+ xbFalse Bit is not set </dd></dl>
+
+</div>
+</div>
+<a id="a9df58caa54105c489c314785c457e8cb" name="a9df58caa54105c489c314785c457e8cb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9df58caa54105c489c314785c457e8cb">&#9670;&nbsp;</a></span>CalcRollingCenturyForYear()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDate::CalcRollingCenturyForYear </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iCalcYear</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Calculate century for a given year. </p>
+<p >This routine calculates a century for a given year. It uses an 80/20 rolling date window to calculate the century.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iCalcYear</td><td>- Two digit year to calculate a century for. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Century calculated for the two digit year. </dd></dl>
+
+</div>
+</div>
+<a id="a38b2c5285c69ed65e94ece6c22dafde0" name="a38b2c5285c69ed65e94ece6c22dafde0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a38b2c5285c69ed65e94ece6c22dafde0">&#9670;&nbsp;</a></span>CenturyOf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDate::CenturyOf </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get century for date. </p>
+<dl class="section return"><dt>Returns</dt><dd>the century from the valid date. or 0 for a null date. </dd></dl>
+
+</div>
+</div>
+<a id="a9fc29730b66cddfbb58c69992a99cc7c" name="a9fc29730b66cddfbb58c69992a99cc7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9fc29730b66cddfbb58c69992a99cc7c">&#9670;&nbsp;</a></span>CharDayOf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDate::CharDayOf </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sOutCharDay</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the day of the week. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sOutCharDay</td><td>- Output character day of week (Sun-Sat). </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>XB_INVALID_DATE<br />
+XB_NO_ERROR </dd></dl>
+
+</div>
+</div>
+<a id="afffc84f02bd421335ff8ebe9fb3db0ac" name="afffc84f02bd421335ff8ebe9fb3db0ac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afffc84f02bd421335ff8ebe9fb3db0ac">&#9670;&nbsp;</a></span>CharMonthOf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDate::CharMonthOf </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sOutCharMonth</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the month from the date. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sOutCharMonth</td><td>- Output character month. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>XB_INVALID_DATE<br />
+XB_NO_ERROR </dd></dl>
+
+</div>
+</div>
+<a id="abb1eb4b0394e4a67aadab15779b1b8c5" name="abb1eb4b0394e4a67aadab15779b1b8c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abb1eb4b0394e4a67aadab15779b1b8c5">&#9670;&nbsp;</a></span>CTOD()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDate::CTOD </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sCtodInDate</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Format MM/DD/YY date. </p>
+<p >This routine takes an MM/DD/YY format date as input and populates a date class with the appropriate YYYYMMDD data.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sCtodInDate</td><td>- MM/DD/YY formatted date as input. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>XB_INVALID_OPTION<br />
+XB_NO_ERROR </dd></dl>
+
+</div>
+</div>
+<a id="a367f66ef0c03c1747c12a18784554ccb" name="a367f66ef0c03c1747c12a18784554ccb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a367f66ef0c03c1747c12a18784554ccb">&#9670;&nbsp;</a></span>DateIsValid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbDate::DateIsValid </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDateIn</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Check a date for valid data. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDateIn</td><td>- Date to check for valid formaat of CCYYMMDD. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Valid date.<br />
+xbFalse - Not a valid date. </dd></dl>
+
+</div>
+</div>
+<a id="ad6417a900ce64a46f8909c0c7a2ddea2" name="ad6417a900ce64a46f8909c0c7a2ddea2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad6417a900ce64a46f8909c0c7a2ddea2">&#9670;&nbsp;</a></span>DayOf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDate::DayOf </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFormat</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p >This routine returns the numeric day. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFormat</td><td>XB_FMT_WEEK Number of day in WEEK 0-6 ( Sat - Fri )<br />
+ XB_FMT_MONTH Number of day in MONTH 1-31<br />
+ XB_FMT_YEAR Number of day in YEAR 1-366 </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>XB_INVALID_OPTION<br />
+XB_NO_ERROR </dd></dl>
+
+</div>
+</div>
+<a id="a97dfa59ab9a8e9f17454da0faceb023d" name="a97dfa59ab9a8e9f17454da0faceb023d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97dfa59ab9a8e9f17454da0faceb023d">&#9670;&nbsp;</a></span>DisplayError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::DisplayError </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iErrorCode</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Display error message on console for a given error number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iErrorCode</td><td>Error number to reference </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a01de44dc869f7db99f33046fc91f2c6a" name="a01de44dc869f7db99f33046fc91f2c6a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a01de44dc869f7db99f33046fc91f2c6a">&#9670;&nbsp;</a></span>FormatDate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDate::FormatDate </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFmtIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sOutFmtDate</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p >This routine will reformat a date based on the format specifiers entered in sFmtIn. If no input format is specified, the routine will use the system default date format.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFmtIn</td><td>- A format specifier with the following paramaters:<br />
+ <pre class="fragment"> 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
+</pre> </td></tr>
+ <tr><td class="paramname">sOutFmtDate</td><td>- Reformatted output date. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>XB_NO_ERROR <br />
+<br />
+ Format Examples:<br />
+ MM/DD/YY<br />
+ YYYY-MM-DD<br />
+ DDDDDDDDDDD MMMMMMMMMMM DD,YYYY </dd></dl>
+
+</div>
+</div>
+<a id="a1d803a4bfc8ba0561267a0bf9e51f7d9" name="a1d803a4bfc8ba0561267a0bf9e51f7d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d803a4bfc8ba0561267a0bf9e51f7d9">&#9670;&nbsp;</a></span>GetDataDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetDataDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the current data directory. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the current data directory where the database files are stored. </dd></dl>
+
+</div>
+</div>
+<a id="a6982f973e81587b04916f4509746aaf5" name="a6982f973e81587b04916f4509746aaf5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6982f973e81587b04916f4509746aaf5">&#9670;&nbsp;</a></span>GetDefaultAutoCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::GetDefaultAutoCommit </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the default auto commit setting. </p>
+<p >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-&gt;Put() and dbf-&gt;AppendRecord().</p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if auto commit is turned on<br />
+ xbFalse is auto commit is turned off </dd></dl>
+
+</div>
+</div>
+<a id="a6fbb9c3a550ab0b3378f9586a57791d2" name="a6fbb9c3a550ab0b3378f9586a57791d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6fbb9c3a550ab0b3378f9586a57791d2">&#9670;&nbsp;</a></span>GetDefaultDateFormat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetDefaultDateFormat </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the default date format. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the default date format. </dd></dl>
+
+</div>
+</div>
+<a id="a49cd162f066eef2b829ba7c9f6620243" name="a49cd162f066eef2b829ba7c9f6620243"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a49cd162f066eef2b829ba7c9f6620243">&#9670;&nbsp;</a></span>GetEndianType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSsv::GetEndianType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the Endian type. </p>
+<dl class="section return"><dt>Returns</dt><dd>B - Big endian<br />
+ L - Little endian<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a56961d2a67b8e7470098626ac4dac7e4" name="a56961d2a67b8e7470098626ac4dac7e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a56961d2a67b8e7470098626ac4dac7e4">&#9670;&nbsp;</a></span>GetErrorMessage()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * xb::xbSsv::GetErrorMessage </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iErrorCode</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get an error message. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iErrorCode</td><td>ErrorCode is the error number of description to be returned. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a pointer to a string containing a text description for the error code. </dd></dl>
+
+</div>
+</div>
+<a id="abc9c06c95d71fbad8294e1ae8862cea9" name="abc9c06c95d71fbad8294e1ae8862cea9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc9c06c95d71fbad8294e1ae8862cea9">&#9670;&nbsp;</a></span>GetHomeDir()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::GetHomeDir </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sHomeDirOut</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get home directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sHomeDirOut</td><td>- Output home directory for current user. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a4822315bded3969b59aeeb683c373051" name="a4822315bded3969b59aeeb683c373051"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4822315bded3969b59aeeb683c373051">&#9670;&nbsp;</a></span>GetLogDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetLogDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afaef09435be73b3111f5edbd7091d861" name="afaef09435be73b3111f5edbd7091d861"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afaef09435be73b3111f5edbd7091d861">&#9670;&nbsp;</a></span>GetLogFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetLogFileName </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abd58031c5f1c3766c24d47a82e6fd9c5" name="abd58031c5f1c3766c24d47a82e6fd9c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd58031c5f1c3766c24d47a82e6fd9c5">&#9670;&nbsp;</a></span>GetMultiUser()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::GetMultiUser </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the multi user setting. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Multi user mode turned on.<br />
+ xbFalse - Multi user mode turned off.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a63cee13b473ee13970e93b11837b9e35" name="a63cee13b473ee13970e93b11837b9e35"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63cee13b473ee13970e93b11837b9e35">&#9670;&nbsp;</a></span>GetPathSeparator()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbSsv::GetPathSeparator </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the OS dependent path separator. </p>
+<dl class="section return"><dt>Returns</dt><dd>Returns '\' for windows environment, otherwise returns '/'. </dd></dl>
+
+</div>
+</div>
+<a id="abfaeef85935331073d213465bb362a61" name="abfaeef85935331073d213465bb362a61"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abfaeef85935331073d213465bb362a61">&#9670;&nbsp;</a></span>GetTempDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetTempDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the current temp directory. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the current data directory where the database files are stored. </dd></dl>
+
+</div>
+</div>
+<a id="a5f8051c31b29244265e8f26ac3547b9b" name="a5f8051c31b29244265e8f26ac3547b9b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f8051c31b29244265e8f26ac3547b9b">&#9670;&nbsp;</a></span>IsLeapYear() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbDate::IsLeapYear </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determine if date is a leap year. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Is leapyear.<br />
+ xbFalse - Not a leap year. </dd></dl>
+
+</div>
+</div>
+<a id="af2bd33a72448e2c5ee00d8b711dc5d95" name="af2bd33a72448e2c5ee00d8b711dc5d95"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af2bd33a72448e2c5ee00d8b711dc5d95">&#9670;&nbsp;</a></span>IsLeapYear() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbDate::IsLeapYear </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iYear</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determine if date is a leap year. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iYear</td><td>- Year to check for leap year status. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Is leapyear.<br />
+ xbFalse - Not a leap year. </dd></dl>
+
+</div>
+</div>
+<a id="a611a64b14ff89ad3c20b34081ea1e658" name="a611a64b14ff89ad3c20b34081ea1e658"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a611a64b14ff89ad3c20b34081ea1e658">&#9670;&nbsp;</a></span>IsNull()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbDate::IsNull </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determine if date is null date. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - If null date.<br />
+ xbFalse - Not a null date. </dd></dl>
+
+</div>
+</div>
+<a id="a1ee3377d4ead9d31099eee539d9b13a7" name="a1ee3377d4ead9d31099eee539d9b13a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1ee3377d4ead9d31099eee539d9b13a7">&#9670;&nbsp;</a></span>JulianDays()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt32 xb::xbDate::JulianDays </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Calculate julian days for a given date. </p>
+<dl class="section return"><dt>Returns</dt><dd>The number of days since 01/01/0001 + JUL_OFFSET. </dd></dl>
+
+</div>
+</div>
+<a id="a9d28b2a46d8aaa284b92f44eeb96b2ff" name="a9d28b2a46d8aaa284b92f44eeb96b2ff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9d28b2a46d8aaa284b92f44eeb96b2ff">&#9670;&nbsp;</a></span>JulToDate8()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDate::JulToDate8 </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>lJulDays</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Convert the number of julian days to gregorian date. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lJulDays</td><td>- Julian days. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>XB_NO_ERROR </dd></dl>
+
+</div>
+</div>
+<a id="a15847866bb7642aa42bc254e0cf2038a" name="a15847866bb7642aa42bc254e0cf2038a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a15847866bb7642aa42bc254e0cf2038a">&#9670;&nbsp;</a></span>LastDayOfMonth()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDate::LastDayOfMonth </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the date to the last day of month for a given date. </p>
+<p >This routine sets the last date of the month. </p><dl class="section return"><dt>Returns</dt><dd>XB_NO_ERROR </dd></dl>
+
+</div>
+</div>
+<a id="a08bd84c67e1119d8c5c1748cd89d092e" name="a08bd84c67e1119d8c5c1748cd89d092e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a08bd84c67e1119d8c5c1748cd89d092e">&#9670;&nbsp;</a></span>MonthOf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDate::MonthOf </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Return the month for the date. </p>
+<dl class="section return"><dt>Returns</dt><dd>The month of the date. </dd></dl>
+
+</div>
+</div>
+<a id="ac3aaf8997fc0c36676085e7741f33a8a" name="ac3aaf8997fc0c36676085e7741f33a8a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac3aaf8997fc0c36676085e7741f33a8a">&#9670;&nbsp;</a></span>operator!=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbDate::operator!= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;&#160;</td>
+ <td class="paramname"><em>dt</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator != </p>
+<p >This routine compares two dates for inequality. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dt</td><td>- Date to compare. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Dates don't match.<br />
+xbFalse - Dates match. </dd></dl>
+
+</div>
+</div>
+<a id="ad09609bf78cf038886a4f9cd19423f9c" name="ad09609bf78cf038886a4f9cd19423f9c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad09609bf78cf038886a4f9cd19423f9c">&#9670;&nbsp;</a></span>operator+()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * xb::xbDate::operator+ </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>lCount</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator + </p>
+<p >This routine adds additional days to a valid date field. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lCount</td><td>- Number of days to add. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>New date in CCYYMMDD format. </dd></dl>
+
+</div>
+</div>
+<a id="a1c7d9e3718c43df18b21646072c8605e" name="a1c7d9e3718c43df18b21646072c8605e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1c7d9e3718c43df18b21646072c8605e">&#9670;&nbsp;</a></span>operator++()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbDate::operator++ </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>i</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator ++ </p>
+<p >This routine adds one day to the date field if the date is not null. </p>
+
+</div>
+</div>
+<a id="a947ba156d04fe063aaa4c9964ae5d163" name="a947ba156d04fe063aaa4c9964ae5d163"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a947ba156d04fe063aaa4c9964ae5d163">&#9670;&nbsp;</a></span>operator+=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbDate::operator+= </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>lDays</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator += </p>
+<p >This routine adds lDays to the date if the date is not null. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lDays</td><td>- Number of days to add to the date. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a3f3a8802c96098c85aa8d0e19717a979" name="a3f3a8802c96098c85aa8d0e19717a979"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3f3a8802c96098c85aa8d0e19717a979">&#9670;&nbsp;</a></span>operator-() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt32 xb::xbDate::operator- </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;&#160;</td>
+ <td class="paramname"><em>dt</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator - </p>
+<p >This routine subtracts one date from another date returning the difference. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dt</td><td>- Date to subtract </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Number of days difference or zero if one of the dates is null. </dd></dl>
+
+</div>
+</div>
+<a id="a73ff5c037046ac0a0bb7d73f74e25cbb" name="a73ff5c037046ac0a0bb7d73f74e25cbb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a73ff5c037046ac0a0bb7d73f74e25cbb">&#9670;&nbsp;</a></span>operator-() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * xb::xbDate::operator- </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>lCount</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator - </p>
+<p >This routine subtracts days from a valid date field. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lCount</td><td>- Number of days to subtract. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>New date in CCYYMMDD format. </dd></dl>
+
+</div>
+</div>
+<a id="ae2b33dfee60d324916d833b2098b5a6b" name="ae2b33dfee60d324916d833b2098b5a6b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae2b33dfee60d324916d833b2098b5a6b">&#9670;&nbsp;</a></span>operator--()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbDate::operator-- </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>i</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator &ndash; </p>
+<p >This routine subtracts one day from the date field if the date is not null. </p>
+
+</div>
+</div>
+<a id="a4a8f207d759540114373f5e9d6d375f7" name="a4a8f207d759540114373f5e9d6d375f7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a8f207d759540114373f5e9d6d375f7">&#9670;&nbsp;</a></span>operator-=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbDate::operator-= </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>lDays</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator -= </p>
+<p >This routine subtracts lDays from the date if the date is not null. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lDays</td><td>- Number of days to subtract from the date. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a11f09d97ed527e7ef00ba6f17b9fb02c" name="a11f09d97ed527e7ef00ba6f17b9fb02c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a11f09d97ed527e7ef00ba6f17b9fb02c">&#9670;&nbsp;</a></span>operator&lt;()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbDate::operator&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;&#160;</td>
+ <td class="paramname"><em>dt</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator &lt; </p>
+<p >This routine compares two dates </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dt</td><td>- Date to compare. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Left date is less than right date.<br />
+ xbFalse - Left date is not less than right date. </dd></dl>
+
+</div>
+</div>
+<a id="a6d8fa4df4664f3fd8d4cc15e77f6d046" name="a6d8fa4df4664f3fd8d4cc15e77f6d046"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d8fa4df4664f3fd8d4cc15e77f6d046">&#9670;&nbsp;</a></span>operator&lt;=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbDate::operator&lt;= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;&#160;</td>
+ <td class="paramname"><em>dt</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator &lt;= </p>
+<p >This routine compares two dates </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dt</td><td>- Date to compare. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Left date is less than or equal to right date.<br />
+ xbFalse - Left date is not less than or equal to right date. </dd></dl>
+
+</div>
+</div>
+<a id="a2e33ad9415c32e820e08fd8084198690" name="a2e33ad9415c32e820e08fd8084198690"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2e33ad9415c32e820e08fd8084198690">&#9670;&nbsp;</a></span>operator=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbDate::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;&#160;</td>
+ <td class="paramname"><em>dt</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set operator=. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dt</td><td>- Date value for set operation. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="aaaf98c1a672066021895f0953b6e94d0" name="aaaf98c1a672066021895f0953b6e94d0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaaf98c1a672066021895f0953b6e94d0">&#9670;&nbsp;</a></span>operator==()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbDate::operator== </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;&#160;</td>
+ <td class="paramname"><em>dt</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator == </p>
+<p >This routine compares two dates for equality. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dt</td><td>- Date to compare. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Dates match.<br />
+xbFalse - Dates don't match. </dd></dl>
+
+</div>
+</div>
+<a id="a744031c4031d6ec4595d34acbd1c5860" name="a744031c4031d6ec4595d34acbd1c5860"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a744031c4031d6ec4595d34acbd1c5860">&#9670;&nbsp;</a></span>operator&gt;()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbDate::operator&gt; </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;&#160;</td>
+ <td class="paramname"><em>dt</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>&gt; </p>
+<p >This routine compares two dates </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dt</td><td>- Date to compare. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Left date is greater than right date.<br />
+ xbFalse - Left date is not greater than right date. </dd></dl>
+
+</div>
+</div>
+<a id="a1d81959ea55440588068ea7f82617c99" name="a1d81959ea55440588068ea7f82617c99"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d81959ea55440588068ea7f82617c99">&#9670;&nbsp;</a></span>operator&gt;=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbDate::operator&gt;= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;&#160;</td>
+ <td class="paramname"><em>dt</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator &gt;= </p>
+<p >This routine compares two dates </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dt</td><td>- Date to compare. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Left date is greater than or equal to right date.<br />
+ xbFalse - Left date is not greater than or equal to right date. </dd></dl>
+
+</div>
+</div>
+<a id="a4b0cde152b5de0f7d26608d1445110b6" name="a4b0cde152b5de0f7d26608d1445110b6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4b0cde152b5de0f7d26608d1445110b6">&#9670;&nbsp;</a></span>Set()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDate::Set </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDateIn</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the date. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDateIn</td><td>- Input date. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>XB_NO_ERROR </dd></dl>
+
+</div>
+</div>
+<a id="a57caaaadfbd089d9a58ecfcb50c88a6c" name="a57caaaadfbd089d9a58ecfcb50c88a6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a57caaaadfbd089d9a58ecfcb50c88a6c">&#9670;&nbsp;</a></span>SetDataDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDataDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDataDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the data directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDataDirectory</td><td>Set the data directory. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a25542afadaaf39b4fb5a1772a29cc0bd" name="a25542afadaaf39b4fb5a1772a29cc0bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a25542afadaaf39b4fb5a1772a29cc0bd">&#9670;&nbsp;</a></span>SetDefaultAutoCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDefaultAutoCommit </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bDefaultAutoCommit</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the default auto commit. </p>
+<p >Disabling auto commit requires the application execute explicit updates using dbf-&gt;Put() and dbf-&gt;AppendRecord(). With auto commit on, the library posts updates automatically when moving off the current record or closing a file.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bDefaultAutoCommit</td><td>xbTrue - Enable default auto commit.<br />
+ xbFalse - Disable default auto commit.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a5f74db23f8902846d581935c7db73f9c" name="a5f74db23f8902846d581935c7db73f9c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f74db23f8902846d581935c7db73f9c">&#9670;&nbsp;</a></span>SetDefaultDateFormat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDefaultDateFormat </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDefaultDateFormat</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the default date format. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDefaultDateFormat</td><td>Set the default date format. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a904ec348fd029d4a76e72b8fde636108" name="a904ec348fd029d4a76e72b8fde636108"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a904ec348fd029d4a76e72b8fde636108">&#9670;&nbsp;</a></span>SetEndianType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetEndianType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the endian type. </p>
+<p >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. </p>
+
+</div>
+</div>
+<a id="a7b992ed97281bf25b5b66f5df686225e" name="a7b992ed97281bf25b5b66f5df686225e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7b992ed97281bf25b5b66f5df686225e">&#9670;&nbsp;</a></span>SetLogDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetLogDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sLogDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7f05738e7dfd759e89990242ef503544" name="a7f05738e7dfd759e89990242ef503544"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7f05738e7dfd759e89990242ef503544">&#9670;&nbsp;</a></span>SetLogFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetLogFileName </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sLogFileName</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aba6e59512f7172dd55dcf92059e5928c" name="aba6e59512f7172dd55dcf92059e5928c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba6e59512f7172dd55dcf92059e5928c">&#9670;&nbsp;</a></span>SetMultiUser()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetMultiUser </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bMultiUser</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the multi user setting. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bMultiUser</td><td>xbTrue - Turn on Multi user mode.<br />
+ xbFalse - Turn off Multi user mode.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a17c229a20ef9ab4034df8f9cd657adb2" name="a17c229a20ef9ab4034df8f9cd657adb2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a17c229a20ef9ab4034df8f9cd657adb2">&#9670;&nbsp;</a></span>SetTempDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetTempDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTempDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the temp directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sTempDirectory</td><td>Set the data direcroty. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="ab43a5d8d929767c0ffdd722972bb8cc0" name="ab43a5d8d929767c0ffdd722972bb8cc0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab43a5d8d929767c0ffdd722972bb8cc0">&#9670;&nbsp;</a></span>Str()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * xb::xbDate::Str </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Return the date value. </p>
+<dl class="section return"><dt>Returns</dt><dd>char ptr to date value. </dd></dl>
+
+</div>
+</div>
+<a id="a40ba54a58d64cf56266f020f91584192" name="a40ba54a58d64cf56266f020f91584192"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a40ba54a58d64cf56266f020f91584192">&#9670;&nbsp;</a></span>Sysdate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDate::Sysdate </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the date equal to the system date. </p>
+<dl class="section return"><dt>Returns</dt><dd>XB_NO_ERROR </dd></dl>
+
+</div>
+</div>
+<a id="a31057dfaa36389a16e40e3db82c46262" name="a31057dfaa36389a16e40e3db82c46262"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a31057dfaa36389a16e40e3db82c46262">&#9670;&nbsp;</a></span>YearOf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDate::YearOf </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns the year of the date. </p>
+<dl class="section return"><dt>Returns</dt><dd>The year of the date. </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a6219f1b5e24ea12fe158cd5aea56988e" name="a6219f1b5e24ea12fe158cd5aea56988e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6219f1b5e24ea12fe158cd5aea56988e">&#9670;&nbsp;</a></span>ErrorCodeText</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char* xb::xbSsv::ErrorCodeText[]</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5849e813f5e8e1cd180f0366637adbf3" name="a5849e813f5e8e1cd180f0366637adbf3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5849e813f5e8e1cd180f0366637adbf3">&#9670;&nbsp;</a></span>iEndianType</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSsv::iEndianType = 0</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9dec3164c3b264882df634915ecf21da" name="a9dec3164c3b264882df634915ecf21da"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9dec3164c3b264882df634915ecf21da">&#9670;&nbsp;</a></span>sNullString</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> xb::xbSsv::sNullString = &quot;&quot;</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/include/<a class="el" href="xbdate_8h_source.html">xbdate.h</a></li>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/core/<a class="el" href="xbdate_8cpp.html">xbdate.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/classxb_1_1xbDate.png b/docs/doxygen/html/classxb_1_1xbDate.png
new file mode 100644
index 0000000..350c1be
--- /dev/null
+++ b/docs/doxygen/html/classxb_1_1xbDate.png
Binary files differ
diff --git a/docs/doxygen/html/classxb_1_1xbDbf.html b/docs/doxygen/html/classxb_1_1xbDbf.html
new file mode 100644
index 0000000..90318db
--- /dev/null
+++ b/docs/doxygen/html/classxb_1_1xbDbf.html
@@ -0,0 +1,9346 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: xb::xbDbf Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="namespacexb.html">xb</a></li><li class="navelem"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="#pro-static-attribs">Static Protected Attributes</a> </div>
+ <div class="headertitle"><div class="title">xb::xbDbf Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>Base class for handling dbf files/tables.
+ <a href="classxb_1_1xbDbf.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="xbdbf_8h_source.html">xbdbf.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for xb::xbDbf:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classxb_1_1xbDbf.png" usemap="#xb::xbDbf_map" alt=""/>
+ <map id="xb::xbDbf_map" name="xb::xbDbf_map">
+<area href="classxb_1_1xbFile.html" title="Class for handling low level file I/O." alt="xb::xbFile" shape="rect" coords="0,56,65,80"/>
+<area href="classxb_1_1xbSsv.html" title="Class for handling shared system variables." alt="xb::xbSsv" shape="rect" coords="0,0,65,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a84a75f80bc0e9b8a22b728767949c204"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a84a75f80bc0e9b8a22b728767949c204">xbDbf</a> (<a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *x)</td></tr>
+<tr class="memdesc:a84a75f80bc0e9b8a22b728767949c204"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classxb_1_1xbDbf.html#a84a75f80bc0e9b8a22b728767949c204">More...</a><br /></td></tr>
+<tr class="separator:a84a75f80bc0e9b8a22b728767949c204"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eb87521fba8a939c613056d9918d880"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a7eb87521fba8a939c613056d9918d880">~xbDbf</a> ()</td></tr>
+<tr class="memdesc:a7eb87521fba8a939c613056d9918d880"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="classxb_1_1xbDbf.html#a7eb87521fba8a939c613056d9918d880">More...</a><br /></td></tr>
+<tr class="separator:a7eb87521fba8a939c613056d9918d880"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4edcf31390fbdc8c3558004770fd9f2f"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a4edcf31390fbdc8c3558004770fd9f2f">Abort</a> ()</td></tr>
+<tr class="memdesc:a4edcf31390fbdc8c3558004770fd9f2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort any uncommited changes for the current record buffer. <a href="classxb_1_1xbDbf.html#a4edcf31390fbdc8c3558004770fd9f2f">More...</a><br /></td></tr>
+<tr class="separator:a4edcf31390fbdc8c3558004770fd9f2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b412dd796241673eb1aa2c93513d69b"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a5b412dd796241673eb1aa2c93513d69b">AppendRecord</a> ()</td></tr>
+<tr class="memdesc:a5b412dd796241673eb1aa2c93513d69b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append the current record to the data file. <a href="classxb_1_1xbDbf.html#a5b412dd796241673eb1aa2c93513d69b">More...</a><br /></td></tr>
+<tr class="separator:a5b412dd796241673eb1aa2c93513d69b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78da5a3d2011a3f2e7618cbdd3ba02d6"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a78da5a3d2011a3f2e7618cbdd3ba02d6">BlankRecord</a> ()</td></tr>
+<tr class="memdesc:a78da5a3d2011a3f2e7618cbdd3ba02d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blank the record buffer. <a href="classxb_1_1xbDbf.html#a78da5a3d2011a3f2e7618cbdd3ba02d6">More...</a><br /></td></tr>
+<tr class="separator:a78da5a3d2011a3f2e7618cbdd3ba02d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd69532c885ab72bcf3fb5066b318f4f"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#abd69532c885ab72bcf3fb5066b318f4f">Commit</a> ()</td></tr>
+<tr class="memdesc:abd69532c885ab72bcf3fb5066b318f4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commit updates to disk. <a href="classxb_1_1xbDbf.html#abd69532c885ab72bcf3fb5066b318f4f">More...</a><br /></td></tr>
+<tr class="separator:abd69532c885ab72bcf3fb5066b318f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad68d73113e54e1b5f326e90f45e9989d"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ad68d73113e54e1b5f326e90f45e9989d">Close</a> ()</td></tr>
+<tr class="memdesc:ad68d73113e54e1b5f326e90f45e9989d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close DBF file/table. <a href="classxb_1_1xbDbf.html#ad68d73113e54e1b5f326e90f45e9989d">More...</a><br /></td></tr>
+<tr class="separator:ad68d73113e54e1b5f326e90f45e9989d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a829c615a130a1fdf609d93438d8a6264"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a829c615a130a1fdf609d93438d8a6264">CopyDbfStructure</a> (<a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *dNewTable, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTableAlias, xbInt16 iOverlay, xbInt16 iShareMode)</td></tr>
+<tr class="memdesc:a829c615a130a1fdf609d93438d8a6264"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy table (dbf) file structure. <a href="classxb_1_1xbDbf.html#a829c615a130a1fdf609d93438d8a6264">More...</a><br /></td></tr>
+<tr class="separator:a829c615a130a1fdf609d93438d8a6264"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a73e41bfe679dd06ab16c436652df93f1"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a73e41bfe679dd06ab16c436652df93f1">CreateTable</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;<a class="el" href="classxb_1_1xbDbf.html#a73f9c792d0a769e2e604c1855245a276">sAlias</a>, <a class="el" href="structxb_1_1xbSchema.html">xbSchema</a> *pSchema, xbInt16 iOverlay, xbInt16 iShareMode)=0</td></tr>
+<tr class="separator:a73e41bfe679dd06ab16c436652df93f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4085ed4f049d976124d8edc3d3c56397"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a4085ed4f049d976124d8edc3d3c56397">DeleteTable</a> ()</td></tr>
+<tr class="memdesc:a4085ed4f049d976124d8edc3d3c56397"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a table. <a href="classxb_1_1xbDbf.html#a4085ed4f049d976124d8edc3d3c56397">More...</a><br /></td></tr>
+<tr class="separator:a4085ed4f049d976124d8edc3d3c56397"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01c26b67e312be1e674b3da710e031b9"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a01c26b67e312be1e674b3da710e031b9">DeleteAll</a> (xbInt16 iOption)</td></tr>
+<tr class="memdesc:a01c26b67e312be1e674b3da710e031b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete or undelete all records in a dbf file (table). <a href="classxb_1_1xbDbf.html#a01c26b67e312be1e674b3da710e031b9">More...</a><br /></td></tr>
+<tr class="separator:a01c26b67e312be1e674b3da710e031b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3067fdfa3a7a5c15651f6e89d1102176"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a3067fdfa3a7a5c15651f6e89d1102176">DeleteAllRecords</a> ()</td></tr>
+<tr class="memdesc:a3067fdfa3a7a5c15651f6e89d1102176"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete all records. <a href="classxb_1_1xbDbf.html#a3067fdfa3a7a5c15651f6e89d1102176">More...</a><br /></td></tr>
+<tr class="separator:a3067fdfa3a7a5c15651f6e89d1102176"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd8c10579229f3a2e2c5fdb7fcef90db"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#acd8c10579229f3a2e2c5fdb7fcef90db">DeleteRecord</a> ()</td></tr>
+<tr class="memdesc:acd8c10579229f3a2e2c5fdb7fcef90db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the current record. <a href="classxb_1_1xbDbf.html#acd8c10579229f3a2e2c5fdb7fcef90db">More...</a><br /></td></tr>
+<tr class="separator:acd8c10579229f3a2e2c5fdb7fcef90db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47643728f74cf3b6e0ffc55259895bdb"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a47643728f74cf3b6e0ffc55259895bdb">DumpHeader</a> (xbInt16 iOption)</td></tr>
+<tr class="memdesc:a47643728f74cf3b6e0ffc55259895bdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump dbf file header. <a href="classxb_1_1xbDbf.html#a47643728f74cf3b6e0ffc55259895bdb">More...</a><br /></td></tr>
+<tr class="separator:a47643728f74cf3b6e0ffc55259895bdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba30399f15885a07f87f904c0d0656fa"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#aba30399f15885a07f87f904c0d0656fa">DumpRecord</a> (xbUInt32 ulRecNo, xbInt16 iOutputDest=0, xbInt16 iOutputFmt=0)</td></tr>
+<tr class="memdesc:aba30399f15885a07f87f904c0d0656fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump record. <a href="classxb_1_1xbDbf.html#aba30399f15885a07f87f904c0d0656fa">More...</a><br /></td></tr>
+<tr class="separator:aba30399f15885a07f87f904c0d0656fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb9e20c5efacd4fea80f1515abbc6b55"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#abb9e20c5efacd4fea80f1515abbc6b55">GetAutoCommit</a> () const</td></tr>
+<tr class="memdesc:abb9e20c5efacd4fea80f1515abbc6b55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get auto commit setting. <a href="classxb_1_1xbDbf.html#abb9e20c5efacd4fea80f1515abbc6b55">More...</a><br /></td></tr>
+<tr class="separator:abb9e20c5efacd4fea80f1515abbc6b55"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0c00226fd2ea7a67f101e795467ed68"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ae0c00226fd2ea7a67f101e795467ed68">GetAutoCommit</a> (xbInt16 iOption) const</td></tr>
+<tr class="memdesc:ae0c00226fd2ea7a67f101e795467ed68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get auto commit setting. <a href="classxb_1_1xbDbf.html#ae0c00226fd2ea7a67f101e795467ed68">More...</a><br /></td></tr>
+<tr class="separator:ae0c00226fd2ea7a67f101e795467ed68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0827a43c025c1184ffebab74cc9e779"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ad0827a43c025c1184ffebab74cc9e779">GetBof</a> ()</td></tr>
+<tr class="memdesc:ad0827a43c025c1184ffebab74cc9e779"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the current index object. <a href="classxb_1_1xbDbf.html#ad0827a43c025c1184ffebab74cc9e779">More...</a><br /></td></tr>
+<tr class="separator:ad0827a43c025c1184ffebab74cc9e779"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a643a80a3792a52760c8e09ba18719503"><td class="memItemLeft" align="right" valign="top">virtual xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a643a80a3792a52760c8e09ba18719503">GetCurRecNo</a> () const</td></tr>
+<tr class="memdesc:a643a80a3792a52760c8e09ba18719503"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current record number. <a href="classxb_1_1xbDbf.html#a643a80a3792a52760c8e09ba18719503">More...</a><br /></td></tr>
+<tr class="separator:a643a80a3792a52760c8e09ba18719503"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1110d867ba297a52c8b0e83e88f05e6"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ac1110d867ba297a52c8b0e83e88f05e6">GetDbfStatus</a> () const</td></tr>
+<tr class="memdesc:ac1110d867ba297a52c8b0e83e88f05e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current dbf status. <a href="classxb_1_1xbDbf.html#ac1110d867ba297a52c8b0e83e88f05e6">More...</a><br /></td></tr>
+<tr class="separator:ac1110d867ba297a52c8b0e83e88f05e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a256dc1f98626fa77da24e91a38ab5b4d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a256dc1f98626fa77da24e91a38ab5b4d">GetEof</a> ()</td></tr>
+<tr class="memdesc:a256dc1f98626fa77da24e91a38ab5b4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if dbf file empty or positioned to the last record. <a href="classxb_1_1xbDbf.html#a256dc1f98626fa77da24e91a38ab5b4d">More...</a><br /></td></tr>
+<tr class="separator:a256dc1f98626fa77da24e91a38ab5b4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add27d8ef555a13b336b8c804165dc15e"><td class="memItemLeft" align="right" valign="top">virtual xbInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#add27d8ef555a13b336b8c804165dc15e">GetFieldCnt</a> () const</td></tr>
+<tr class="memdesc:add27d8ef555a13b336b8c804165dc15e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of fields in the table. <a href="classxb_1_1xbDbf.html#add27d8ef555a13b336b8c804165dc15e">More...</a><br /></td></tr>
+<tr class="separator:add27d8ef555a13b336b8c804165dc15e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fc5b8a3e2f177d5ceaf9d975cbb5226"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a6fc5b8a3e2f177d5ceaf9d975cbb5226">GetFirstRecord</a> ()</td></tr>
+<tr class="memdesc:a6fc5b8a3e2f177d5ceaf9d975cbb5226"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the first record. <a href="classxb_1_1xbDbf.html#a6fc5b8a3e2f177d5ceaf9d975cbb5226">More...</a><br /></td></tr>
+<tr class="separator:a6fc5b8a3e2f177d5ceaf9d975cbb5226"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb78991e8435edd36318c653cb977c1a"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#acb78991e8435edd36318c653cb977c1a">GetFirstRecord</a> (xbInt16 iOption)</td></tr>
+<tr class="memdesc:acb78991e8435edd36318c653cb977c1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the first record. <a href="classxb_1_1xbDbf.html#acb78991e8435edd36318c653cb977c1a">More...</a><br /></td></tr>
+<tr class="separator:acb78991e8435edd36318c653cb977c1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad56be2756b7a9f8318d9ba5cf215dafb"><td class="memItemLeft" align="right" valign="top">virtual xbUInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ad56be2756b7a9f8318d9ba5cf215dafb">GetHeaderLen</a> () const</td></tr>
+<tr class="separator:ad56be2756b7a9f8318d9ba5cf215dafb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49e667f9c8ee55c36444702663fc5964"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a49e667f9c8ee55c36444702663fc5964">GetLastRecord</a> ()</td></tr>
+<tr class="memdesc:a49e667f9c8ee55c36444702663fc5964"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the last record. <a href="classxb_1_1xbDbf.html#a49e667f9c8ee55c36444702663fc5964">More...</a><br /></td></tr>
+<tr class="separator:a49e667f9c8ee55c36444702663fc5964"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ccfa2291417412b6894940d1b92f9a6"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a8ccfa2291417412b6894940d1b92f9a6">GetLastRecord</a> (xbInt16 iOption)</td></tr>
+<tr class="memdesc:a8ccfa2291417412b6894940d1b92f9a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the last record. <a href="classxb_1_1xbDbf.html#a8ccfa2291417412b6894940d1b92f9a6">More...</a><br /></td></tr>
+<tr class="separator:a8ccfa2291417412b6894940d1b92f9a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab896fe3b734f556de578d30f92b18fe2"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ab896fe3b734f556de578d30f92b18fe2">GetNextRecord</a> ()</td></tr>
+<tr class="memdesc:ab896fe3b734f556de578d30f92b18fe2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next record. <a href="classxb_1_1xbDbf.html#ab896fe3b734f556de578d30f92b18fe2">More...</a><br /></td></tr>
+<tr class="separator:ab896fe3b734f556de578d30f92b18fe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3191428a7a92d9107d8d42448884f2ac"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a3191428a7a92d9107d8d42448884f2ac">GetNextRecord</a> (xbInt16 iOption)</td></tr>
+<tr class="memdesc:a3191428a7a92d9107d8d42448884f2ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next record. <a href="classxb_1_1xbDbf.html#a3191428a7a92d9107d8d42448884f2ac">More...</a><br /></td></tr>
+<tr class="separator:a3191428a7a92d9107d8d42448884f2ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a18fdcb4ab15b36cd47fa6f6f7a540d1a"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a18fdcb4ab15b36cd47fa6f6f7a540d1a">GetNextRecord</a> (xbInt16 iOption, xbUInt32 ulStartRec)</td></tr>
+<tr class="memdesc:a18fdcb4ab15b36cd47fa6f6f7a540d1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next record. <a href="classxb_1_1xbDbf.html#a18fdcb4ab15b36cd47fa6f6f7a540d1a">More...</a><br /></td></tr>
+<tr class="separator:a18fdcb4ab15b36cd47fa6f6f7a540d1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3d248e5221b4f0809897cd43af17a1e"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ab3d248e5221b4f0809897cd43af17a1e">GetPrevRecord</a> ()</td></tr>
+<tr class="memdesc:ab3d248e5221b4f0809897cd43af17a1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the previous record. <a href="classxb_1_1xbDbf.html#ab3d248e5221b4f0809897cd43af17a1e">More...</a><br /></td></tr>
+<tr class="separator:ab3d248e5221b4f0809897cd43af17a1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eadc7b08d73003802b90584f7b33387"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a7eadc7b08d73003802b90584f7b33387">GetPrevRecord</a> (xbInt16 iOption)</td></tr>
+<tr class="memdesc:a7eadc7b08d73003802b90584f7b33387"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the previous record. <a href="classxb_1_1xbDbf.html#a7eadc7b08d73003802b90584f7b33387">More...</a><br /></td></tr>
+<tr class="separator:a7eadc7b08d73003802b90584f7b33387"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a26fba086b07caeab95066bf1c8d25161"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a26fba086b07caeab95066bf1c8d25161">GetRecord</a> (xbUInt32 ulRecNo)</td></tr>
+<tr class="memdesc:a26fba086b07caeab95066bf1c8d25161"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get record for specified record number. <a href="classxb_1_1xbDbf.html#a26fba086b07caeab95066bf1c8d25161">More...</a><br /></td></tr>
+<tr class="separator:a26fba086b07caeab95066bf1c8d25161"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac196ad55335e1f4789d698748434dc89"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ac196ad55335e1f4789d698748434dc89">GetRecordCnt</a> (xbUInt32 &amp;ulRecCnt)</td></tr>
+<tr class="memdesc:ac196ad55335e1f4789d698748434dc89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current number of records in the dbf data file. <a href="classxb_1_1xbDbf.html#ac196ad55335e1f4789d698748434dc89">More...</a><br /></td></tr>
+<tr class="separator:ac196ad55335e1f4789d698748434dc89"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3e38c4057d726a28a27d07a1610d124"><td class="memItemLeft" align="right" valign="top">virtual char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#aa3e38c4057d726a28a27d07a1610d124">GetRecordBuf</a> (xbInt16 iOpt=0) const</td></tr>
+<tr class="memdesc:aa3e38c4057d726a28a27d07a1610d124"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to record buffer. <a href="classxb_1_1xbDbf.html#aa3e38c4057d726a28a27d07a1610d124">More...</a><br /></td></tr>
+<tr class="separator:aa3e38c4057d726a28a27d07a1610d124"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab50d76c6e29e81e347a6feb04c2f62bb"><td class="memItemLeft" align="right" valign="top">virtual xbUInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ab50d76c6e29e81e347a6feb04c2f62bb">GetRecordLen</a> () const</td></tr>
+<tr class="memdesc:ab50d76c6e29e81e347a6feb04c2f62bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the dbf record length. <a href="classxb_1_1xbDbf.html#ab50d76c6e29e81e347a6feb04c2f62bb">More...</a><br /></td></tr>
+<tr class="separator:ab50d76c6e29e81e347a6feb04c2f62bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27758a325c097f204247908b65ba7fbd"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a27758a325c097f204247908b65ba7fbd">GetTblAlias</a> () const</td></tr>
+<tr class="memdesc:a27758a325c097f204247908b65ba7fbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the table alias. <a href="classxb_1_1xbDbf.html#a27758a325c097f204247908b65ba7fbd">More...</a><br /></td></tr>
+<tr class="separator:a27758a325c097f204247908b65ba7fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49212a9eb17f7fa9f303e08d5fc50fc6"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a49212a9eb17f7fa9f303e08d5fc50fc6">GetVersion</a> () const =0</td></tr>
+<tr class="separator:a49212a9eb17f7fa9f303e08d5fc50fc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab21ec23c076b0c9affdc0f6672bd133f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ab21ec23c076b0c9affdc0f6672bd133f">GetXbasePtr</a> () const</td></tr>
+<tr class="memdesc:ab21ec23c076b0c9affdc0f6672bd133f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointer to the xbXbase structure,. <a href="classxb_1_1xbDbf.html#ab21ec23c076b0c9affdc0f6672bd133f">More...</a><br /></td></tr>
+<tr class="separator:ab21ec23c076b0c9affdc0f6672bd133f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a013dc8c51fc1aa988de39cf3da6da950"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a013dc8c51fc1aa988de39cf3da6da950">MemoFieldsExist</a> () const</td></tr>
+<tr class="memdesc:a013dc8c51fc1aa988de39cf3da6da950"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for existence of any memo fields. <a href="classxb_1_1xbDbf.html#a013dc8c51fc1aa988de39cf3da6da950">More...</a><br /></td></tr>
+<tr class="separator:a013dc8c51fc1aa988de39cf3da6da950"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69824d7bafc3f5a15bf7d09f2f511768"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a69824d7bafc3f5a15bf7d09f2f511768">Open</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName)</td></tr>
+<tr class="memdesc:a69824d7bafc3f5a15bf7d09f2f511768"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a table/dbf file. <a href="classxb_1_1xbDbf.html#a69824d7bafc3f5a15bf7d09f2f511768">More...</a><br /></td></tr>
+<tr class="separator:a69824d7bafc3f5a15bf7d09f2f511768"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae388c5e02adc86e6e9988e697e061610"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ae388c5e02adc86e6e9988e697e061610">Open</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;<a class="el" href="classxb_1_1xbDbf.html#a73f9c792d0a769e2e604c1855245a276">sAlias</a>)</td></tr>
+<tr class="memdesc:ae388c5e02adc86e6e9988e697e061610"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a table/dbf file. <a href="classxb_1_1xbDbf.html#ae388c5e02adc86e6e9988e697e061610">More...</a><br /></td></tr>
+<tr class="separator:ae388c5e02adc86e6e9988e697e061610"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d018cbf44d8d8b2145c9acab02c8adf"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a4d018cbf44d8d8b2145c9acab02c8adf">Open</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;<a class="el" href="classxb_1_1xbDbf.html#a73f9c792d0a769e2e604c1855245a276">sAlias</a>, xbInt16 iOpenMode, xbInt16 iShareMode)=0</td></tr>
+<tr class="separator:a4d018cbf44d8d8b2145c9acab02c8adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8a52bf3ef2123c0d17e6b1f67bf0dc55"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a8a52bf3ef2123c0d17e6b1f67bf0dc55">Pack</a> ()</td></tr>
+<tr class="memdesc:a8a52bf3ef2123c0d17e6b1f67bf0dc55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pack dbf file. <a href="classxb_1_1xbDbf.html#a8a52bf3ef2123c0d17e6b1f67bf0dc55">More...</a><br /></td></tr>
+<tr class="separator:a8a52bf3ef2123c0d17e6b1f67bf0dc55"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93bb14ad0451355bfa3379128120988a"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a93bb14ad0451355bfa3379128120988a">Pack</a> (xbUInt32 &amp;ulDeletedRecCnt)</td></tr>
+<tr class="memdesc:a93bb14ad0451355bfa3379128120988a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pack dbf file. <a href="classxb_1_1xbDbf.html#a93bb14ad0451355bfa3379128120988a">More...</a><br /></td></tr>
+<tr class="separator:a93bb14ad0451355bfa3379128120988a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c36a5ffbc7067a1abbcb526dd3b981d"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a3c36a5ffbc7067a1abbcb526dd3b981d">PutRecord</a> ()</td></tr>
+<tr class="memdesc:a3c36a5ffbc7067a1abbcb526dd3b981d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the current record to disk. <a href="classxb_1_1xbDbf.html#a3c36a5ffbc7067a1abbcb526dd3b981d">More...</a><br /></td></tr>
+<tr class="separator:a3c36a5ffbc7067a1abbcb526dd3b981d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aacbc7bac3ea0c502ee75b838f4f0fcbf"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#aacbc7bac3ea0c502ee75b838f4f0fcbf">PutRecord</a> (xbUInt32 ulRecNo)</td></tr>
+<tr class="memdesc:aacbc7bac3ea0c502ee75b838f4f0fcbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write record to disk. <a href="classxb_1_1xbDbf.html#aacbc7bac3ea0c502ee75b838f4f0fcbf">More...</a><br /></td></tr>
+<tr class="separator:aacbc7bac3ea0c502ee75b838f4f0fcbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94d7d626ba691fd4b740c034673e6fc6"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a94d7d626ba691fd4b740c034673e6fc6">RecordDeleted</a> (xbInt16 iOpt=0) const</td></tr>
+<tr class="memdesc:a94d7d626ba691fd4b740c034673e6fc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return record deletion status. <a href="classxb_1_1xbDbf.html#a94d7d626ba691fd4b740c034673e6fc6">More...</a><br /></td></tr>
+<tr class="separator:a94d7d626ba691fd4b740c034673e6fc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeeeb2eb5fabcd0f91d457df07b0e0708"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#aeeeb2eb5fabcd0f91d457df07b0e0708">Rename</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> sNewName)=0</td></tr>
+<tr class="separator:aeeeb2eb5fabcd0f91d457df07b0e0708"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cf7f0d423164f3cf074ae41f96f4e90"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a4cf7f0d423164f3cf074ae41f96f4e90">SetAutoCommit</a> (xbInt16 <a class="el" href="classxb_1_1xbDbf.html#ab506450954bc86e7bf1d7c4efe681f43">iAutoCommit</a>)</td></tr>
+<tr class="memdesc:a4cf7f0d423164f3cf074ae41f96f4e90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set auto commit. <a href="classxb_1_1xbDbf.html#a4cf7f0d423164f3cf074ae41f96f4e90">More...</a><br /></td></tr>
+<tr class="separator:a4cf7f0d423164f3cf074ae41f96f4e90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae94cb1bf9f75184f39d9e1a80ab49d4a"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ae94cb1bf9f75184f39d9e1a80ab49d4a">UndeleteAllRecords</a> ()</td></tr>
+<tr class="memdesc:ae94cb1bf9f75184f39d9e1a80ab49d4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set auto lock. <a href="classxb_1_1xbDbf.html#ae94cb1bf9f75184f39d9e1a80ab49d4a">More...</a><br /></td></tr>
+<tr class="separator:ae94cb1bf9f75184f39d9e1a80ab49d4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a255681976a04fc722538bb630507b3a0"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a255681976a04fc722538bb630507b3a0">UndeleteRecord</a> ()</td></tr>
+<tr class="memdesc:a255681976a04fc722538bb630507b3a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Undelete one record. <a href="classxb_1_1xbDbf.html#a255681976a04fc722538bb630507b3a0">More...</a><br /></td></tr>
+<tr class="separator:a255681976a04fc722538bb630507b3a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ed0693b10b95aaa4e46037758d160ed"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a8ed0693b10b95aaa4e46037758d160ed">Zap</a> ()</td></tr>
+<tr class="memdesc:a8ed0693b10b95aaa4e46037758d160ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Zap (remove) everything from the file,. <a href="classxb_1_1xbDbf.html#a8ed0693b10b95aaa4e46037758d160ed">More...</a><br /></td></tr>
+<tr class="separator:a8ed0693b10b95aaa4e46037758d160ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad245a26eb8b79610c9ae7bab19e05513"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ad245a26eb8b79610c9ae7bab19e05513">GetField</a> (xbInt16 iFieldNo, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldValue, xbInt16 iRecBufSw) const</td></tr>
+<tr class="memdesc:ad245a26eb8b79610c9ae7bab19e05513"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get field data for field number. <a href="classxb_1_1xbDbf.html#ad245a26eb8b79610c9ae7bab19e05513">More...</a><br /></td></tr>
+<tr class="separator:ad245a26eb8b79610c9ae7bab19e05513"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac81f078f3c932f0da60ad1fbdd848d3e"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ac81f078f3c932f0da60ad1fbdd848d3e">GetField</a> (xbInt16 iFieldNo, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldValue) const</td></tr>
+<tr class="memdesc:ac81f078f3c932f0da60ad1fbdd848d3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get field data for field number. <a href="classxb_1_1xbDbf.html#ac81f078f3c932f0da60ad1fbdd848d3e">More...</a><br /></td></tr>
+<tr class="separator:ac81f078f3c932f0da60ad1fbdd848d3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a0fcf7e2040ab483e3807927833cb26"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a9a0fcf7e2040ab483e3807927833cb26">GetField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldValue) const</td></tr>
+<tr class="memdesc:a9a0fcf7e2040ab483e3807927833cb26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get <a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> field for field name. <a href="classxb_1_1xbDbf.html#a9a0fcf7e2040ab483e3807927833cb26">More...</a><br /></td></tr>
+<tr class="separator:a9a0fcf7e2040ab483e3807927833cb26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abcb4defad2e1b6e67f63cc60737ad840"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#abcb4defad2e1b6e67f63cc60737ad840">GetFieldDecimal</a> (xbInt16 iFieldNo, xbInt16 &amp;iFieldDecimal) const</td></tr>
+<tr class="memdesc:abcb4defad2e1b6e67f63cc60737ad840"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get decimal for field number. <a href="classxb_1_1xbDbf.html#abcb4defad2e1b6e67f63cc60737ad840">More...</a><br /></td></tr>
+<tr class="separator:abcb4defad2e1b6e67f63cc60737ad840"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a607f774fcd6dc0b9913d7a7801b60db2"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a607f774fcd6dc0b9913d7a7801b60db2">GetFieldDecimal</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, xbInt16 &amp;iFieldDecimal) const</td></tr>
+<tr class="memdesc:a607f774fcd6dc0b9913d7a7801b60db2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get decimal for field name. <a href="classxb_1_1xbDbf.html#a607f774fcd6dc0b9913d7a7801b60db2">More...</a><br /></td></tr>
+<tr class="separator:a607f774fcd6dc0b9913d7a7801b60db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adda4302b58cc6109b048f19d9b68bbd4"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#adda4302b58cc6109b048f19d9b68bbd4">GetFieldLen</a> (xbInt16 iFieldNo, xbInt16 &amp;iFieldLen) const</td></tr>
+<tr class="memdesc:adda4302b58cc6109b048f19d9b68bbd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get field length for field number. <a href="classxb_1_1xbDbf.html#adda4302b58cc6109b048f19d9b68bbd4">More...</a><br /></td></tr>
+<tr class="separator:adda4302b58cc6109b048f19d9b68bbd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf06dbccdba1a4bcd90fa0bea6cca59b"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#acf06dbccdba1a4bcd90fa0bea6cca59b">GetFieldLen</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, xbInt16 &amp;iFieldLen) const</td></tr>
+<tr class="memdesc:acf06dbccdba1a4bcd90fa0bea6cca59b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get field length for field name. <a href="classxb_1_1xbDbf.html#acf06dbccdba1a4bcd90fa0bea6cca59b">More...</a><br /></td></tr>
+<tr class="separator:acf06dbccdba1a4bcd90fa0bea6cca59b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e3e4368bfba1724c016b8859023e34c"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a5e3e4368bfba1724c016b8859023e34c">GetFieldName</a> (xbInt16 iFieldNo, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName) const</td></tr>
+<tr class="memdesc:a5e3e4368bfba1724c016b8859023e34c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the specified field. <a href="classxb_1_1xbDbf.html#a5e3e4368bfba1724c016b8859023e34c">More...</a><br /></td></tr>
+<tr class="separator:a5e3e4368bfba1724c016b8859023e34c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed9113b5095c6df1b9c854cbd0d8047b"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#aed9113b5095c6df1b9c854cbd0d8047b">GetFieldNo</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, xbInt16 &amp;iFieldNo) const</td></tr>
+<tr class="memdesc:aed9113b5095c6df1b9c854cbd0d8047b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the field number for name. <a href="classxb_1_1xbDbf.html#aed9113b5095c6df1b9c854cbd0d8047b">More...</a><br /></td></tr>
+<tr class="separator:aed9113b5095c6df1b9c854cbd0d8047b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad9029e63909aeb77d8473256d88bea8"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#aad9029e63909aeb77d8473256d88bea8">GetFieldNo</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName) const</td></tr>
+<tr class="memdesc:aad9029e63909aeb77d8473256d88bea8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get field ID number for a given field name. <a href="classxb_1_1xbDbf.html#aad9029e63909aeb77d8473256d88bea8">More...</a><br /></td></tr>
+<tr class="separator:aad9029e63909aeb77d8473256d88bea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5143973e4f165651152aa13c8fd45f84"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a5143973e4f165651152aa13c8fd45f84">GetFieldType</a> (xbInt16 iFieldNo, char &amp;cFieldType) const</td></tr>
+<tr class="memdesc:a5143973e4f165651152aa13c8fd45f84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get field type for field number. <a href="classxb_1_1xbDbf.html#a5143973e4f165651152aa13c8fd45f84">More...</a><br /></td></tr>
+<tr class="separator:a5143973e4f165651152aa13c8fd45f84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a181db879f1a75f93a34c03513a0b2fea"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a181db879f1a75f93a34c03513a0b2fea">GetFieldType</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, char &amp;cFieldType) const</td></tr>
+<tr class="memdesc:a181db879f1a75f93a34c03513a0b2fea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get field type for field name. <a href="classxb_1_1xbDbf.html#a181db879f1a75f93a34c03513a0b2fea">More...</a><br /></td></tr>
+<tr class="separator:a181db879f1a75f93a34c03513a0b2fea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7862215dd2f83a1c488e539cd1f9aec0"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a7862215dd2f83a1c488e539cd1f9aec0">PutField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldData)</td></tr>
+<tr class="memdesc:a7862215dd2f83a1c488e539cd1f9aec0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put field for field name. <a href="classxb_1_1xbDbf.html#a7862215dd2f83a1c488e539cd1f9aec0">More...</a><br /></td></tr>
+<tr class="separator:a7862215dd2f83a1c488e539cd1f9aec0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a142b0c0dc904917f3c68c5572c1237b5"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a142b0c0dc904917f3c68c5572c1237b5">PutField</a> (xbInt16 iFieldNo, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldData)</td></tr>
+<tr class="memdesc:a142b0c0dc904917f3c68c5572c1237b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put field for field number. <a href="classxb_1_1xbDbf.html#a142b0c0dc904917f3c68c5572c1237b5">More...</a><br /></td></tr>
+<tr class="separator:a142b0c0dc904917f3c68c5572c1237b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab39ac4269ac63bc7ea4f638733bb17f0"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ab39ac4269ac63bc7ea4f638733bb17f0">PutLogicalField</a> (xbInt16 iFieldNo, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldData)</td></tr>
+<tr class="memdesc:ab39ac4269ac63bc7ea4f638733bb17f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put logical field for field number. <a href="classxb_1_1xbDbf.html#ab39ac4269ac63bc7ea4f638733bb17f0">More...</a><br /></td></tr>
+<tr class="separator:ab39ac4269ac63bc7ea4f638733bb17f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a507e400ca6526a9e0391cf06dd6a014e"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a507e400ca6526a9e0391cf06dd6a014e">PutLogicalField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldData)</td></tr>
+<tr class="memdesc:a507e400ca6526a9e0391cf06dd6a014e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put logical field for field name. <a href="classxb_1_1xbDbf.html#a507e400ca6526a9e0391cf06dd6a014e">More...</a><br /></td></tr>
+<tr class="separator:a507e400ca6526a9e0391cf06dd6a014e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3254f091fc4a1404abed3dd2bcdd6ce6"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a3254f091fc4a1404abed3dd2bcdd6ce6">GetLogicalField</a> (xbInt16 iFieldNo, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldData) const</td></tr>
+<tr class="memdesc:a3254f091fc4a1404abed3dd2bcdd6ce6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get logical field for field number. <a href="classxb_1_1xbDbf.html#a3254f091fc4a1404abed3dd2bcdd6ce6">More...</a><br /></td></tr>
+<tr class="separator:a3254f091fc4a1404abed3dd2bcdd6ce6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cd6819bfd932ff8507e54d9cb9a624e"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a9cd6819bfd932ff8507e54d9cb9a624e">GetLogicalField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldData) const</td></tr>
+<tr class="memdesc:a9cd6819bfd932ff8507e54d9cb9a624e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get logical field for field name. <a href="classxb_1_1xbDbf.html#a9cd6819bfd932ff8507e54d9cb9a624e">More...</a><br /></td></tr>
+<tr class="separator:a9cd6819bfd932ff8507e54d9cb9a624e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a423a0cb7bd252cedf956ace4954f275d"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a423a0cb7bd252cedf956ace4954f275d">PutLogicalField</a> (xbInt16 iFieldNo, <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bFieldData)</td></tr>
+<tr class="memdesc:a423a0cb7bd252cedf956ace4954f275d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put logical field for field number. <a href="classxb_1_1xbDbf.html#a423a0cb7bd252cedf956ace4954f275d">More...</a><br /></td></tr>
+<tr class="separator:a423a0cb7bd252cedf956ace4954f275d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a623ca3ef5520c42308c1a16b518e7ff3"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a623ca3ef5520c42308c1a16b518e7ff3">PutLogicalField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bFieldData)</td></tr>
+<tr class="memdesc:a623ca3ef5520c42308c1a16b518e7ff3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put logical field for field name. <a href="classxb_1_1xbDbf.html#a623ca3ef5520c42308c1a16b518e7ff3">More...</a><br /></td></tr>
+<tr class="separator:a623ca3ef5520c42308c1a16b518e7ff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf615ddcf08f8cd14efc713c2a8d7ae1"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#aaf615ddcf08f8cd14efc713c2a8d7ae1">GetLogicalField</a> (xbInt16 iFieldNo, <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bFieldData) const</td></tr>
+<tr class="memdesc:aaf615ddcf08f8cd14efc713c2a8d7ae1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get logical field for field number. <a href="classxb_1_1xbDbf.html#aaf615ddcf08f8cd14efc713c2a8d7ae1">More...</a><br /></td></tr>
+<tr class="separator:aaf615ddcf08f8cd14efc713c2a8d7ae1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab28feef20c988b0a6f1c1911a45377b0"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ab28feef20c988b0a6f1c1911a45377b0">GetLogicalField</a> (xbInt16 iFieldNo, <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bFieldData, xbInt16 iRecBufSw) const</td></tr>
+<tr class="memdesc:ab28feef20c988b0a6f1c1911a45377b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get logical field for field number. <a href="classxb_1_1xbDbf.html#ab28feef20c988b0a6f1c1911a45377b0">More...</a><br /></td></tr>
+<tr class="separator:ab28feef20c988b0a6f1c1911a45377b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a943cea7fde1b06c1a05184193eff8d2d"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a943cea7fde1b06c1a05184193eff8d2d">GetLogicalField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bFieldData) const</td></tr>
+<tr class="memdesc:a943cea7fde1b06c1a05184193eff8d2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get logical field for field name. <a href="classxb_1_1xbDbf.html#a943cea7fde1b06c1a05184193eff8d2d">More...</a><br /></td></tr>
+<tr class="separator:a943cea7fde1b06c1a05184193eff8d2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe525c0820640e0a9e169d0b7913cfa1"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#abe525c0820640e0a9e169d0b7913cfa1">GetLongField</a> (xbInt16 iFieldNo, xbInt32 &amp;lFieldValue) const</td></tr>
+<tr class="memdesc:abe525c0820640e0a9e169d0b7913cfa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get long field for field number. <a href="classxb_1_1xbDbf.html#abe525c0820640e0a9e169d0b7913cfa1">More...</a><br /></td></tr>
+<tr class="separator:abe525c0820640e0a9e169d0b7913cfa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b8ef75b17941beac17e50e969b2d3db"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a7b8ef75b17941beac17e50e969b2d3db">GetLongField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, xbInt32 &amp;lFieldValue) const</td></tr>
+<tr class="memdesc:a7b8ef75b17941beac17e50e969b2d3db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get long field for field name. <a href="classxb_1_1xbDbf.html#a7b8ef75b17941beac17e50e969b2d3db">More...</a><br /></td></tr>
+<tr class="separator:a7b8ef75b17941beac17e50e969b2d3db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56c8f924284bf88aabf90b7930b4eb47"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a56c8f924284bf88aabf90b7930b4eb47">PutLongField</a> (xbInt16 iFieldNo, xbInt32 lFieldValue)</td></tr>
+<tr class="memdesc:a56c8f924284bf88aabf90b7930b4eb47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put long field for field number. <a href="classxb_1_1xbDbf.html#a56c8f924284bf88aabf90b7930b4eb47">More...</a><br /></td></tr>
+<tr class="separator:a56c8f924284bf88aabf90b7930b4eb47"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0692d1776a725c2f61d4c14677e9307c"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a0692d1776a725c2f61d4c14677e9307c">PutLongField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, xbInt32 lFieldValue)</td></tr>
+<tr class="memdesc:a0692d1776a725c2f61d4c14677e9307c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put long field for field name. <a href="classxb_1_1xbDbf.html#a0692d1776a725c2f61d4c14677e9307c">More...</a><br /></td></tr>
+<tr class="separator:a0692d1776a725c2f61d4c14677e9307c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67e3a050f9090edf69eee75aef7f5d83"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a67e3a050f9090edf69eee75aef7f5d83">GetULongField</a> (xbInt16 iFieldNo, xbUInt32 &amp;lFieldValue) const</td></tr>
+<tr class="memdesc:a67e3a050f9090edf69eee75aef7f5d83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get unsigned long field for field number. <a href="classxb_1_1xbDbf.html#a67e3a050f9090edf69eee75aef7f5d83">More...</a><br /></td></tr>
+<tr class="separator:a67e3a050f9090edf69eee75aef7f5d83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a039eb02418ec4ca862adbc0f95b9cbec"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a039eb02418ec4ca862adbc0f95b9cbec">GetULongField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, xbUInt32 &amp;lFieldValue) const</td></tr>
+<tr class="memdesc:a039eb02418ec4ca862adbc0f95b9cbec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get unsigned long field for field name. <a href="classxb_1_1xbDbf.html#a039eb02418ec4ca862adbc0f95b9cbec">More...</a><br /></td></tr>
+<tr class="separator:a039eb02418ec4ca862adbc0f95b9cbec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5dec5c9ff903efffdb0490a44d296d2"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#af5dec5c9ff903efffdb0490a44d296d2">PutULongField</a> (xbInt16 iFieldNo, xbUInt32 lFieldValue)</td></tr>
+<tr class="memdesc:af5dec5c9ff903efffdb0490a44d296d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put unsigned long field for field number. <a href="classxb_1_1xbDbf.html#af5dec5c9ff903efffdb0490a44d296d2">More...</a><br /></td></tr>
+<tr class="separator:af5dec5c9ff903efffdb0490a44d296d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac62cb97c4e678c83f41788b1ae4d0381"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ac62cb97c4e678c83f41788b1ae4d0381">PutULongField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldNo, xbUInt32 lFieldValue)</td></tr>
+<tr class="memdesc:ac62cb97c4e678c83f41788b1ae4d0381"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put unsigned long field for field name. <a href="classxb_1_1xbDbf.html#ac62cb97c4e678c83f41788b1ae4d0381">More...</a><br /></td></tr>
+<tr class="separator:ac62cb97c4e678c83f41788b1ae4d0381"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4556041a7ff2f6b6f986729901c11f08"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a4556041a7ff2f6b6f986729901c11f08">GetDoubleField</a> (xbInt16 FieldNo, <a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dFieldValue) const</td></tr>
+<tr class="memdesc:a4556041a7ff2f6b6f986729901c11f08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get xbDouble field for field number. <a href="classxb_1_1xbDbf.html#a4556041a7ff2f6b6f986729901c11f08">More...</a><br /></td></tr>
+<tr class="separator:a4556041a7ff2f6b6f986729901c11f08"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2370b5e736931441a5968649291b9ef4"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a2370b5e736931441a5968649291b9ef4">GetDoubleField</a> (xbInt16 FieldNo, <a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dFieldValue, xbInt16 iRecBufSw) const</td></tr>
+<tr class="memdesc:a2370b5e736931441a5968649291b9ef4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get xbDouble field for field number. <a href="classxb_1_1xbDbf.html#a2370b5e736931441a5968649291b9ef4">More...</a><br /></td></tr>
+<tr class="separator:a2370b5e736931441a5968649291b9ef4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e6774df0f2d7733f4b25a9989596d95"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a6e6774df0f2d7733f4b25a9989596d95">GetDoubleField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dFieldValue) const</td></tr>
+<tr class="memdesc:a6e6774df0f2d7733f4b25a9989596d95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get xbDouble field for field name. <a href="classxb_1_1xbDbf.html#a6e6774df0f2d7733f4b25a9989596d95">More...</a><br /></td></tr>
+<tr class="separator:a6e6774df0f2d7733f4b25a9989596d95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4f34842d7e8ff1f16992c2ece2fc38a5"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a4f34842d7e8ff1f16992c2ece2fc38a5">PutDoubleField</a> (xbInt16 FieldNo, <a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dFieldValue)</td></tr>
+<tr class="memdesc:a4f34842d7e8ff1f16992c2ece2fc38a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put double field for field number. <a href="classxb_1_1xbDbf.html#a4f34842d7e8ff1f16992c2ece2fc38a5">More...</a><br /></td></tr>
+<tr class="separator:a4f34842d7e8ff1f16992c2ece2fc38a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae695bbc71c19abc71c0c5f2ff2e1f971"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ae695bbc71c19abc71c0c5f2ff2e1f971">PutDoubleField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;FieldName, <a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dFieldValue)</td></tr>
+<tr class="memdesc:ae695bbc71c19abc71c0c5f2ff2e1f971"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put double field for field name. <a href="classxb_1_1xbDbf.html#ae695bbc71c19abc71c0c5f2ff2e1f971">More...</a><br /></td></tr>
+<tr class="separator:ae695bbc71c19abc71c0c5f2ff2e1f971"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3443f646038ced14425f067a59c0f2da"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a3443f646038ced14425f067a59c0f2da">GetFloatField</a> (xbInt16 iFieldNo, <a class="el" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a> &amp;fFieldValue) const</td></tr>
+<tr class="memdesc:a3443f646038ced14425f067a59c0f2da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get xbFloat field for field number. <a href="classxb_1_1xbDbf.html#a3443f646038ced14425f067a59c0f2da">More...</a><br /></td></tr>
+<tr class="separator:a3443f646038ced14425f067a59c0f2da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a81ef2f36f921d7ece066a592eb6393eb"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a81ef2f36f921d7ece066a592eb6393eb">GetFloatField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="el" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a> &amp;fFieldValue) const</td></tr>
+<tr class="memdesc:a81ef2f36f921d7ece066a592eb6393eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get xbFloat field for field name. <a href="classxb_1_1xbDbf.html#a81ef2f36f921d7ece066a592eb6393eb">More...</a><br /></td></tr>
+<tr class="separator:a81ef2f36f921d7ece066a592eb6393eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a64161eb50d72e424b11bf3732657ebd8"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a64161eb50d72e424b11bf3732657ebd8">PutFloatField</a> (xbInt16 iFieldNo, <a class="el" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a> fFieldValue)</td></tr>
+<tr class="memdesc:a64161eb50d72e424b11bf3732657ebd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put float field for field number. <a href="classxb_1_1xbDbf.html#a64161eb50d72e424b11bf3732657ebd8">More...</a><br /></td></tr>
+<tr class="separator:a64161eb50d72e424b11bf3732657ebd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ea3241bc710d57e5f755efda62288ad"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a4ea3241bc710d57e5f755efda62288ad">PutFloatField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="el" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a> fFieldValue)</td></tr>
+<tr class="memdesc:a4ea3241bc710d57e5f755efda62288ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put float field for field name. <a href="classxb_1_1xbDbf.html#a4ea3241bc710d57e5f755efda62288ad">More...</a><br /></td></tr>
+<tr class="separator:a4ea3241bc710d57e5f755efda62288ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af78ef1fba949463ff7f829d3cffc4555"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#af78ef1fba949463ff7f829d3cffc4555">GetDateField</a> (xbInt16 iFieldNo, <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;dt) const</td></tr>
+<tr class="memdesc:af78ef1fba949463ff7f829d3cffc4555"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get <a class="el" href="classxb_1_1xbDate.html" title="xbDate class.">xbDate</a> field for field number. <a href="classxb_1_1xbDbf.html#af78ef1fba949463ff7f829d3cffc4555">More...</a><br /></td></tr>
+<tr class="separator:af78ef1fba949463ff7f829d3cffc4555"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac624e06a97666bfd64b4f252b4548b36"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ac624e06a97666bfd64b4f252b4548b36">GetDateField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;dt) const</td></tr>
+<tr class="memdesc:ac624e06a97666bfd64b4f252b4548b36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get <a class="el" href="classxb_1_1xbDate.html" title="xbDate class.">xbDate</a> field for field name. <a href="classxb_1_1xbDbf.html#ac624e06a97666bfd64b4f252b4548b36">More...</a><br /></td></tr>
+<tr class="separator:ac624e06a97666bfd64b4f252b4548b36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a873f04af528a9d81e6a367a59d998ec5"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a873f04af528a9d81e6a367a59d998ec5">PutDateField</a> (xbInt16 iFieldNo, const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;dt)</td></tr>
+<tr class="memdesc:a873f04af528a9d81e6a367a59d998ec5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put date field for field number. <a href="classxb_1_1xbDbf.html#a873f04af528a9d81e6a367a59d998ec5">More...</a><br /></td></tr>
+<tr class="separator:a873f04af528a9d81e6a367a59d998ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a571b36b3a940b1a16d5e834f329b33b9"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a571b36b3a940b1a16d5e834f329b33b9">PutDateField</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;dt)</td></tr>
+<tr class="memdesc:a571b36b3a940b1a16d5e834f329b33b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put date field for field name. <a href="classxb_1_1xbDbf.html#a571b36b3a940b1a16d5e834f329b33b9">More...</a><br /></td></tr>
+<tr class="separator:a571b36b3a940b1a16d5e834f329b33b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9a3f726ce5229ed021bfce0515050fc"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ae9a3f726ce5229ed021bfce0515050fc">GetNullSts</a> (xbInt16 iFieldNo, <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bIsNull) const</td></tr>
+<tr class="memdesc:ae9a3f726ce5229ed021bfce0515050fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get field null status. <a href="classxb_1_1xbDbf.html#ae9a3f726ce5229ed021bfce0515050fc">More...</a><br /></td></tr>
+<tr class="separator:ae9a3f726ce5229ed021bfce0515050fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a909788123ce0694b65dfcf036380d918"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a909788123ce0694b65dfcf036380d918">GetNullSts</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bIsNull) const</td></tr>
+<tr class="memdesc:a909788123ce0694b65dfcf036380d918"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get field null status. <a href="classxb_1_1xbDbf.html#a909788123ce0694b65dfcf036380d918">More...</a><br /></td></tr>
+<tr class="separator:a909788123ce0694b65dfcf036380d918"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7930fe8b930c6d646b7b0d3df576fe9e"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a7930fe8b930c6d646b7b0d3df576fe9e">GetNullSts</a> (xbInt16 iFieldNo, <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bIsNull, xbInt16 iRecBufSw) const</td></tr>
+<tr class="memdesc:a7930fe8b930c6d646b7b0d3df576fe9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get field null status. <a href="classxb_1_1xbDbf.html#a7930fe8b930c6d646b7b0d3df576fe9e">More...</a><br /></td></tr>
+<tr class="separator:a7930fe8b930c6d646b7b0d3df576fe9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd0fb2166b2bff7e8a1cf65a7bc8be1e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#acd0fb2166b2bff7e8a1cf65a7bc8be1e">GetDirectory</a> () const</td></tr>
+<tr class="memdesc:acd0fb2166b2bff7e8a1cf65a7bc8be1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the directory name. <a href="classxb_1_1xbFile.html#acd0fb2166b2bff7e8a1cf65a7bc8be1e">More...</a><br /></td></tr>
+<tr class="separator:acd0fb2166b2bff7e8a1cf65a7bc8be1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac95cb882ccbcdedc9a233c6ad9fed07a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ac95cb882ccbcdedc9a233c6ad9fed07a">GetFileName</a> () const</td></tr>
+<tr class="memdesc:ac95cb882ccbcdedc9a233c6ad9fed07a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the file name. <a href="classxb_1_1xbFile.html#ac95cb882ccbcdedc9a233c6ad9fed07a">More...</a><br /></td></tr>
+<tr class="separator:ac95cb882ccbcdedc9a233c6ad9fed07a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31b4e641f93206ba23e2a5a27491dcd4"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a31b4e641f93206ba23e2a5a27491dcd4">GetFqFileName</a> () const</td></tr>
+<tr class="memdesc:a31b4e641f93206ba23e2a5a27491dcd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the fully qualified file name. <a href="classxb_1_1xbFile.html#a31b4e641f93206ba23e2a5a27491dcd4">More...</a><br /></td></tr>
+<tr class="separator:a31b4e641f93206ba23e2a5a27491dcd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad39797624a752b9d62533d00fad9feff"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ad39797624a752b9d62533d00fad9feff">CreateUniqueFileName</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDirIn, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sExtIn, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFqnOut, xbInt16 iOption=0)</td></tr>
+<tr class="memdesc:ad39797624a752b9d62533d00fad9feff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a unique file name. <a href="classxb_1_1xbFile.html#ad39797624a752b9d62533d00fad9feff">More...</a><br /></td></tr>
+<tr class="separator:ad39797624a752b9d62533d00fad9feff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2b6ac26018dc28f77afbb3f008c3f66"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ae2b6ac26018dc28f77afbb3f008c3f66">DetermineXbaseTableVersion</a> (unsigned char cFileTypeByte) const</td></tr>
+<tr class="memdesc:ae2b6ac26018dc28f77afbb3f008c3f66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine xbase dbf version. <a href="classxb_1_1xbFile.html#ae2b6ac26018dc28f77afbb3f008c3f66">More...</a><br /></td></tr>
+<tr class="separator:ae2b6ac26018dc28f77afbb3f008c3f66"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a740033664c9ad2611c90e2a6d0c2d3"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a5a740033664c9ad2611c90e2a6d0c2d3">DetermineXbaseMemoVersion</a> (unsigned char cFileTypeByte) const</td></tr>
+<tr class="memdesc:a5a740033664c9ad2611c90e2a6d0c2d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine which version the memo (dbt) file is. <a href="classxb_1_1xbFile.html#a5a740033664c9ad2611c90e2a6d0c2d3">More...</a><br /></td></tr>
+<tr class="separator:a5a740033664c9ad2611c90e2a6d0c2d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab14e4a11427f5efb81cba1dd32bd1aa1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ab14e4a11427f5efb81cba1dd32bd1aa1">eGetDouble</a> (const char *p) const</td></tr>
+<tr class="memdesc:ab14e4a11427f5efb81cba1dd32bd1aa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a portable double value. <a href="classxb_1_1xbFile.html#ab14e4a11427f5efb81cba1dd32bd1aa1">More...</a><br /></td></tr>
+<tr class="separator:ab14e4a11427f5efb81cba1dd32bd1aa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a60b24a5afc984c586bf384c7e915ba0d"><td class="memItemLeft" align="right" valign="top">xbInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a60b24a5afc984c586bf384c7e915ba0d">eGetInt32</a> (const char *p) const</td></tr>
+<tr class="memdesc:a60b24a5afc984c586bf384c7e915ba0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a portable long value. <a href="classxb_1_1xbFile.html#a60b24a5afc984c586bf384c7e915ba0d">More...</a><br /></td></tr>
+<tr class="separator:a60b24a5afc984c586bf384c7e915ba0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78f052529d39a18deaface5a0d47d0b0"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a78f052529d39a18deaface5a0d47d0b0">eGetUInt32</a> (const char *p) const</td></tr>
+<tr class="memdesc:a78f052529d39a18deaface5a0d47d0b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a portable unsigned long value. <a href="classxb_1_1xbFile.html#a78f052529d39a18deaface5a0d47d0b0">More...</a><br /></td></tr>
+<tr class="separator:a78f052529d39a18deaface5a0d47d0b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac40c991110ddc6fb30a72d90f4652762"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ac40c991110ddc6fb30a72d90f4652762">eGetInt16</a> (const char *p) const</td></tr>
+<tr class="memdesc:ac40c991110ddc6fb30a72d90f4652762"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a portable short value. <a href="classxb_1_1xbFile.html#ac40c991110ddc6fb30a72d90f4652762">More...</a><br /></td></tr>
+<tr class="separator:ac40c991110ddc6fb30a72d90f4652762"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a936ade458e6d5e6d29f9b5031888d189"><td class="memItemLeft" align="right" valign="top">xbUInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a936ade458e6d5e6d29f9b5031888d189">eGetUInt16</a> (const char *p) const</td></tr>
+<tr class="memdesc:a936ade458e6d5e6d29f9b5031888d189"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a portable unsigned short value. <a href="classxb_1_1xbFile.html#a936ade458e6d5e6d29f9b5031888d189">More...</a><br /></td></tr>
+<tr class="separator:a936ade458e6d5e6d29f9b5031888d189"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98b6ff533ae93f90c977a2ba23eeb105"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a98b6ff533ae93f90c977a2ba23eeb105">ePutDouble</a> (char *p, <a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> d)</td></tr>
+<tr class="memdesc:a98b6ff533ae93f90c977a2ba23eeb105"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a portable double value to memory location. <a href="classxb_1_1xbFile.html#a98b6ff533ae93f90c977a2ba23eeb105">More...</a><br /></td></tr>
+<tr class="separator:a98b6ff533ae93f90c977a2ba23eeb105"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a19c37f76a2ccbb45019cb0fc373d3f46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a19c37f76a2ccbb45019cb0fc373d3f46">ePutInt32</a> (char *p, xbInt32 l)</td></tr>
+<tr class="memdesc:a19c37f76a2ccbb45019cb0fc373d3f46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a portable long value to memory location. <a href="classxb_1_1xbFile.html#a19c37f76a2ccbb45019cb0fc373d3f46">More...</a><br /></td></tr>
+<tr class="separator:a19c37f76a2ccbb45019cb0fc373d3f46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3f6ceae4b96f24875d86848bf13a173"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#aa3f6ceae4b96f24875d86848bf13a173">ePutUInt32</a> (char *p, xbUInt32 ul)</td></tr>
+<tr class="memdesc:aa3f6ceae4b96f24875d86848bf13a173"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a portable unsigned long value to memory location. <a href="classxb_1_1xbFile.html#aa3f6ceae4b96f24875d86848bf13a173">More...</a><br /></td></tr>
+<tr class="separator:aa3f6ceae4b96f24875d86848bf13a173"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29130f12739ac8fa837f4eaedf1338b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a29130f12739ac8fa837f4eaedf1338b2">ePutInt16</a> (char *p, xbInt16 s)</td></tr>
+<tr class="memdesc:a29130f12739ac8fa837f4eaedf1338b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a portable short value to memory location. <a href="classxb_1_1xbFile.html#a29130f12739ac8fa837f4eaedf1338b2">More...</a><br /></td></tr>
+<tr class="separator:a29130f12739ac8fa837f4eaedf1338b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65e9839f92b96eac7b0d071fac3bbe40"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a65e9839f92b96eac7b0d071fac3bbe40">ePutUInt16</a> (char *p, xbUInt16 s)</td></tr>
+<tr class="memdesc:a65e9839f92b96eac7b0d071fac3bbe40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a portable unsigned short value to memory location. <a href="classxb_1_1xbFile.html#a65e9839f92b96eac7b0d071fac3bbe40">More...</a><br /></td></tr>
+<tr class="separator:a65e9839f92b96eac7b0d071fac3bbe40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78bd8a11dce102647095baf3aff2b006"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a78bd8a11dce102647095baf3aff2b006">FileExists</a> () const</td></tr>
+<tr class="memdesc:a78bd8a11dce102647095baf3aff2b006"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if a file exists. <a href="classxb_1_1xbFile.html#a78bd8a11dce102647095baf3aff2b006">More...</a><br /></td></tr>
+<tr class="separator:a78bd8a11dce102647095baf3aff2b006"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a174d8a6aabc9cfcd32fedbd1e5b13ddd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a174d8a6aabc9cfcd32fedbd1e5b13ddd">FileExists</a> (xbInt16 iOption) const</td></tr>
+<tr class="memdesc:a174d8a6aabc9cfcd32fedbd1e5b13ddd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if a file exists. <a href="classxb_1_1xbFile.html#a174d8a6aabc9cfcd32fedbd1e5b13ddd">More...</a><br /></td></tr>
+<tr class="separator:a174d8a6aabc9cfcd32fedbd1e5b13ddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a61130b4fbf4cf9d5972dcb4993de2f94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a61130b4fbf4cf9d5972dcb4993de2f94">FileExists</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName) const</td></tr>
+<tr class="memdesc:a61130b4fbf4cf9d5972dcb4993de2f94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if a file exists. <a href="classxb_1_1xbFile.html#a61130b4fbf4cf9d5972dcb4993de2f94">More...</a><br /></td></tr>
+<tr class="separator:a61130b4fbf4cf9d5972dcb4993de2f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0592168f39a10f2a401a88ef781f6148"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a0592168f39a10f2a401a88ef781f6148">FileExists</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 iOption) const</td></tr>
+<tr class="memdesc:a0592168f39a10f2a401a88ef781f6148"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if a file exists. <a href="classxb_1_1xbFile.html#a0592168f39a10f2a401a88ef781f6148">More...</a><br /></td></tr>
+<tr class="separator:a0592168f39a10f2a401a88ef781f6148"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7fa837938a32dc9ca3fbc81cbaf50f59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a7fa837938a32dc9ca3fbc81cbaf50f59">FileIsOpen</a> () const</td></tr>
+<tr class="memdesc:a7fa837938a32dc9ca3fbc81cbaf50f59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if file is open. <a href="classxb_1_1xbFile.html#a7fa837938a32dc9ca3fbc81cbaf50f59">More...</a><br /></td></tr>
+<tr class="separator:a7fa837938a32dc9ca3fbc81cbaf50f59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a638e14262410a1627819f016a16cdce2"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a638e14262410a1627819f016a16cdce2">GetBlockSize</a> () const</td></tr>
+<tr class="memdesc:a638e14262410a1627819f016a16cdce2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the block size. <a href="classxb_1_1xbFile.html#a638e14262410a1627819f016a16cdce2">More...</a><br /></td></tr>
+<tr class="separator:a638e14262410a1627819f016a16cdce2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a60c53998e3d1b694134b20a87bc9bf5a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a60c53998e3d1b694134b20a87bc9bf5a">GetFileDirPart</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileDirPartOut) const</td></tr>
+<tr class="memdesc:a60c53998e3d1b694134b20a87bc9bf5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the directory part of the file name. <a href="classxb_1_1xbFile.html#a60c53998e3d1b694134b20a87bc9bf5a">More...</a><br /></td></tr>
+<tr class="separator:a60c53998e3d1b694134b20a87bc9bf5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5127c92892816e9bbc5c19653c4147a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#af5127c92892816e9bbc5c19653c4147a">GetFileDirPart</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sCompleteFileNameIn, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileDirPartOut) const</td></tr>
+<tr class="memdesc:af5127c92892816e9bbc5c19653c4147a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the directory part of the file name. <a href="classxb_1_1xbFile.html#af5127c92892816e9bbc5c19653c4147a">More...</a><br /></td></tr>
+<tr class="separator:af5127c92892816e9bbc5c19653c4147a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57a9222e5cbb51019d4eeb2c3ac89fa2"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a57a9222e5cbb51019d4eeb2c3ac89fa2">GetFileExtPart</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileExtPartOut) const</td></tr>
+<tr class="memdesc:a57a9222e5cbb51019d4eeb2c3ac89fa2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the extension part of the file name. <a href="classxb_1_1xbFile.html#a57a9222e5cbb51019d4eeb2c3ac89fa2">More...</a><br /></td></tr>
+<tr class="separator:a57a9222e5cbb51019d4eeb2c3ac89fa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab289b6ffe955321160c1f90220c22e25"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ab289b6ffe955321160c1f90220c22e25">GetFileExtPart</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sCompleteFileNameIn, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileExtPartOut) const</td></tr>
+<tr class="memdesc:ab289b6ffe955321160c1f90220c22e25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the extension part of the file name. <a href="classxb_1_1xbFile.html#ab289b6ffe955321160c1f90220c22e25">More...</a><br /></td></tr>
+<tr class="separator:ab289b6ffe955321160c1f90220c22e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02df78f4c90313243f508fc56b95aba8"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a02df78f4c90313243f508fc56b95aba8">GetFileMtime</a> (time_t &amp;mtime)</td></tr>
+<tr class="memdesc:a02df78f4c90313243f508fc56b95aba8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the time of last file modification timestamp as reported by the OS. <a href="classxb_1_1xbFile.html#a02df78f4c90313243f508fc56b95aba8">More...</a><br /></td></tr>
+<tr class="separator:a02df78f4c90313243f508fc56b95aba8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a81422b3dd52763d2cc6c77237ec9af0a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a81422b3dd52763d2cc6c77237ec9af0a">GetFileNamePart</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileNamePartOut) const</td></tr>
+<tr class="memdesc:a81422b3dd52763d2cc6c77237ec9af0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name part of the file name. <a href="classxb_1_1xbFile.html#a81422b3dd52763d2cc6c77237ec9af0a">More...</a><br /></td></tr>
+<tr class="separator:a81422b3dd52763d2cc6c77237ec9af0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6110763c5ae996b72c7a62c15bdecc73"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a6110763c5ae996b72c7a62c15bdecc73">GetFileNamePart</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sCompleteFileNameIn, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileNamePartOut) const</td></tr>
+<tr class="memdesc:a6110763c5ae996b72c7a62c15bdecc73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name part of the file name. <a href="classxb_1_1xbFile.html#a6110763c5ae996b72c7a62c15bdecc73">More...</a><br /></td></tr>
+<tr class="separator:a6110763c5ae996b72c7a62c15bdecc73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50b63c39e49d44e52078038027b24cc5"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a50b63c39e49d44e52078038027b24cc5">GetFileSize</a> (xbUInt64 &amp;ullFileSize)</td></tr>
+<tr class="memdesc:a50b63c39e49d44e52078038027b24cc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of the file as reported by the OS. <a href="classxb_1_1xbFile.html#a50b63c39e49d44e52078038027b24cc5">More...</a><br /></td></tr>
+<tr class="separator:a50b63c39e49d44e52078038027b24cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5548236d38d43b89ae29b9a015b1f678"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a5548236d38d43b89ae29b9a015b1f678">GetFileType</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileType) const</td></tr>
+<tr class="memdesc:a5548236d38d43b89ae29b9a015b1f678"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the file type aka Capitalized file extension. <a href="classxb_1_1xbFile.html#a5548236d38d43b89ae29b9a015b1f678">More...</a><br /></td></tr>
+<tr class="separator:a5548236d38d43b89ae29b9a015b1f678"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c500dc9dac22c49496e4b29386b2dd3"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a3c500dc9dac22c49496e4b29386b2dd3">GetOpenMode</a> () const</td></tr>
+<tr class="memdesc:a3c500dc9dac22c49496e4b29386b2dd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the open mode of the file. <a href="classxb_1_1xbFile.html#a3c500dc9dac22c49496e4b29386b2dd3">More...</a><br /></td></tr>
+<tr class="separator:a3c500dc9dac22c49496e4b29386b2dd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9b63e05b77f477ff6109ff7b9432c1b6"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a9b63e05b77f477ff6109ff7b9432c1b6">GetShareMode</a> () const</td></tr>
+<tr class="memdesc:a9b63e05b77f477ff6109ff7b9432c1b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the share mode of the file. <a href="classxb_1_1xbFile.html#a9b63e05b77f477ff6109ff7b9432c1b6">More...</a><br /></td></tr>
+<tr class="separator:a9b63e05b77f477ff6109ff7b9432c1b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf2e697751a0beff41432a66bb83fb5e"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#aaf2e697751a0beff41432a66bb83fb5e">GetXbaseFileTypeByte</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 &amp;iVersion)</td></tr>
+<tr class="memdesc:aaf2e697751a0beff41432a66bb83fb5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the file type byte and version of the dbf file. <a href="classxb_1_1xbFile.html#aaf2e697751a0beff41432a66bb83fb5e">More...</a><br /></td></tr>
+<tr class="separator:aaf2e697751a0beff41432a66bb83fb5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7af337808919680b90710ad5e8a99232"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a7af337808919680b90710ad5e8a99232">GetXbaseFileTypeByte</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, unsigned char &amp;cFileTypeByte)</td></tr>
+<tr class="memdesc:a7af337808919680b90710ad5e8a99232"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the file type byte and version of the dbf file. <a href="classxb_1_1xbFile.html#a7af337808919680b90710ad5e8a99232">More...</a><br /></td></tr>
+<tr class="separator:a7af337808919680b90710ad5e8a99232"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78aebdd21d3de46a450d5f835e3027f6"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a78aebdd21d3de46a450d5f835e3027f6">GetXbaseFileTypeByte</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, unsigned char &amp;cFileTypeByte, xbInt16 &amp;iVersion)</td></tr>
+<tr class="memdesc:a78aebdd21d3de46a450d5f835e3027f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the file type byte and version of the dbf file. <a href="classxb_1_1xbFile.html#a78aebdd21d3de46a450d5f835e3027f6">More...</a><br /></td></tr>
+<tr class="separator:a78aebdd21d3de46a450d5f835e3027f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a361e3cc318bbf1c4d10f069e0800a24e"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a361e3cc318bbf1c4d10f069e0800a24e">NameSuffixMissing</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 iOption) const</td></tr>
+<tr class="memdesc:a361e3cc318bbf1c4d10f069e0800a24e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines status of file extension. <a href="classxb_1_1xbFile.html#a361e3cc318bbf1c4d10f069e0800a24e">More...</a><br /></td></tr>
+<tr class="separator:a361e3cc318bbf1c4d10f069e0800a24e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1bb80340abc7a5c22f87f878e9dc825"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#aa1bb80340abc7a5c22f87f878e9dc825">ReadBlock</a> (xbUInt32 ulBlockNo, size_t readSize, void *buf)</td></tr>
+<tr class="memdesc:aa1bb80340abc7a5c22f87f878e9dc825"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a block of data from file. <a href="classxb_1_1xbFile.html#aa1bb80340abc7a5c22f87f878e9dc825">More...</a><br /></td></tr>
+<tr class="separator:aa1bb80340abc7a5c22f87f878e9dc825"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef696b1c4c0ef5338e818599f695d485"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#aef696b1c4c0ef5338e818599f695d485">ReadBlock</a> (xbUInt32 ulBlockNo, xbUInt32 ulBlockSize, size_t readSize, void *buf)</td></tr>
+<tr class="memdesc:aef696b1c4c0ef5338e818599f695d485"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a block of data from file. <a href="classxb_1_1xbFile.html#aef696b1c4c0ef5338e818599f695d485">More...</a><br /></td></tr>
+<tr class="separator:aef696b1c4c0ef5338e818599f695d485"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a991c5676a6f38fa752435390989f413e"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a991c5676a6f38fa752435390989f413e">SetBlockSize</a> (xbUInt32 ulBlockSize)</td></tr>
+<tr class="memdesc:a991c5676a6f38fa752435390989f413e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the block size. <a href="classxb_1_1xbFile.html#a991c5676a6f38fa752435390989f413e">More...</a><br /></td></tr>
+<tr class="separator:a991c5676a6f38fa752435390989f413e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae78a85255488bc78964c16946dbaead3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ae78a85255488bc78964c16946dbaead3">SetDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDirectory)</td></tr>
+<tr class="memdesc:ae78a85255488bc78964c16946dbaead3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the directory. <a href="classxb_1_1xbFile.html#ae78a85255488bc78964c16946dbaead3">More...</a><br /></td></tr>
+<tr class="separator:ae78a85255488bc78964c16946dbaead3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5419eb27e56822f828b2b88a9502a636"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a5419eb27e56822f828b2b88a9502a636">SetFileName</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName)</td></tr>
+<tr class="memdesc:a5419eb27e56822f828b2b88a9502a636"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the filename. <a href="classxb_1_1xbFile.html#a5419eb27e56822f828b2b88a9502a636">More...</a><br /></td></tr>
+<tr class="separator:a5419eb27e56822f828b2b88a9502a636"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee832fa11db2077a532f49e1329bd05a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#aee832fa11db2077a532f49e1329bd05a">SetFqFileName</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFqName)</td></tr>
+<tr class="memdesc:aee832fa11db2077a532f49e1329bd05a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the fully qualifed filename. <a href="classxb_1_1xbFile.html#aee832fa11db2077a532f49e1329bd05a">More...</a><br /></td></tr>
+<tr class="separator:aee832fa11db2077a532f49e1329bd05a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a060acbfaa8d528f86cb59301814b414a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a060acbfaa8d528f86cb59301814b414a">SetHomeFolders</a> ()</td></tr>
+<tr class="memdesc:a060acbfaa8d528f86cb59301814b414a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Home Folders. <a href="classxb_1_1xbFile.html#a060acbfaa8d528f86cb59301814b414a">More...</a><br /></td></tr>
+<tr class="separator:a060acbfaa8d528f86cb59301814b414a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d871dcfecc2b4338f7a13722aab766c"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a5d871dcfecc2b4338f7a13722aab766c">WriteBlock</a> (xbUInt32 ulBlockNo, size_t writeSize, void *buf)</td></tr>
+<tr class="memdesc:a5d871dcfecc2b4338f7a13722aab766c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a block of data to file. <a href="classxb_1_1xbFile.html#a5d871dcfecc2b4338f7a13722aab766c">More...</a><br /></td></tr>
+<tr class="separator:a5d871dcfecc2b4338f7a13722aab766c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a18830b5755d74818f60d9c7ce38ddf2d"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a18830b5755d74818f60d9c7ce38ddf2d">xbFclose</a> ()</td></tr>
+<tr class="memdesc:a18830b5755d74818f60d9c7ce38ddf2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fclose. <a href="classxb_1_1xbFile.html#a18830b5755d74818f60d9c7ce38ddf2d">More...</a><br /></td></tr>
+<tr class="separator:a18830b5755d74818f60d9c7ce38ddf2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5b6356832d2a67212070a1aa605f170"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#af5b6356832d2a67212070a1aa605f170">xbFeof</a> ()</td></tr>
+<tr class="memdesc:af5b6356832d2a67212070a1aa605f170"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary feof. <a href="classxb_1_1xbFile.html#af5b6356832d2a67212070a1aa605f170">More...</a><br /></td></tr>
+<tr class="separator:af5b6356832d2a67212070a1aa605f170"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad205184d43409f04216540ae22f15009"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ad205184d43409f04216540ae22f15009">xbFflush</a> ()</td></tr>
+<tr class="memdesc:ad205184d43409f04216540ae22f15009"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fflush. <a href="classxb_1_1xbFile.html#ad205184d43409f04216540ae22f15009">More...</a><br /></td></tr>
+<tr class="separator:ad205184d43409f04216540ae22f15009"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb1c584d2895ffb7834df80aea7eb1e4"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#afb1c584d2895ffb7834df80aea7eb1e4">xbFgetc</a> (xbInt32 &amp;c)</td></tr>
+<tr class="memdesc:afb1c584d2895ffb7834df80aea7eb1e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fgetc. <a href="classxb_1_1xbFile.html#afb1c584d2895ffb7834df80aea7eb1e4">More...</a><br /></td></tr>
+<tr class="separator:afb1c584d2895ffb7834df80aea7eb1e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ee229bda4d7d6695e122200e581e7a6"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a5ee229bda4d7d6695e122200e581e7a6">xbFgetc</a> (char &amp;c)</td></tr>
+<tr class="memdesc:a5ee229bda4d7d6695e122200e581e7a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fgetc. <a href="classxb_1_1xbFile.html#a5ee229bda4d7d6695e122200e581e7a6">More...</a><br /></td></tr>
+<tr class="separator:a5ee229bda4d7d6695e122200e581e7a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad245955ace26e5dde85fd4373b30d026"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ad245955ace26e5dde85fd4373b30d026">xbFgets</a> (size_t lSize, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLine)</td></tr>
+<tr class="memdesc:ad245955ace26e5dde85fd4373b30d026"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fgets. <a href="classxb_1_1xbFile.html#ad245955ace26e5dde85fd4373b30d026">More...</a><br /></td></tr>
+<tr class="separator:ad245955ace26e5dde85fd4373b30d026"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7cdfef5ede9ac98d44a28a6b7a70972c"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a7cdfef5ede9ac98d44a28a6b7a70972c">xbFopen</a> (xbInt16 iOpenMode)</td></tr>
+<tr class="separator:a7cdfef5ede9ac98d44a28a6b7a70972c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0548cedf0f26b7d8ac221f75b0cd048c"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a0548cedf0f26b7d8ac221f75b0cd048c">xbFopen</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sOpenMode, xbInt16 iShareMode)</td></tr>
+<tr class="memdesc:a0548cedf0f26b7d8ac221f75b0cd048c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fopen. <a href="classxb_1_1xbFile.html#a0548cedf0f26b7d8ac221f75b0cd048c">More...</a><br /></td></tr>
+<tr class="separator:a0548cedf0f26b7d8ac221f75b0cd048c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabd113333b49c36cad23244b392baab4"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#aabd113333b49c36cad23244b392baab4">xbFopen</a> (xbInt16 iOpenMode, xbInt16 iShareMode)</td></tr>
+<tr class="memdesc:aabd113333b49c36cad23244b392baab4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fopen. <a href="classxb_1_1xbFile.html#aabd113333b49c36cad23244b392baab4">More...</a><br /></td></tr>
+<tr class="separator:aabd113333b49c36cad23244b392baab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab0fa19686ca8953ff4b556fb5b249135"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ab0fa19686ca8953ff4b556fb5b249135">xbFopen</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sMode, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 iShareMode)</td></tr>
+<tr class="memdesc:ab0fa19686ca8953ff4b556fb5b249135"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fopen. <a href="classxb_1_1xbFile.html#ab0fa19686ca8953ff4b556fb5b249135">More...</a><br /></td></tr>
+<tr class="separator:ab0fa19686ca8953ff4b556fb5b249135"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af2e940c78956e5cb6824f9a1bc404896"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#af2e940c78956e5cb6824f9a1bc404896">xbFputc</a> (xbInt32 c)</td></tr>
+<tr class="memdesc:af2e940c78956e5cb6824f9a1bc404896"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fputc. <a href="classxb_1_1xbFile.html#af2e940c78956e5cb6824f9a1bc404896">More...</a><br /></td></tr>
+<tr class="separator:af2e940c78956e5cb6824f9a1bc404896"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a863f74cf17df8186d88586b4d2a6441a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a863f74cf17df8186d88586b4d2a6441a">xbFputc</a> (xbInt32 c, xbInt32 iNoTimes)</td></tr>
+<tr class="memdesc:a863f74cf17df8186d88586b4d2a6441a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fputc. <a href="classxb_1_1xbFile.html#a863f74cf17df8186d88586b4d2a6441a">More...</a><br /></td></tr>
+<tr class="separator:a863f74cf17df8186d88586b4d2a6441a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a698f3b40216778562e639e6ca1a47573"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a698f3b40216778562e639e6ca1a47573">xbFputs</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s)</td></tr>
+<tr class="memdesc:a698f3b40216778562e639e6ca1a47573"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fputs. <a href="classxb_1_1xbFile.html#a698f3b40216778562e639e6ca1a47573">More...</a><br /></td></tr>
+<tr class="separator:a698f3b40216778562e639e6ca1a47573"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4f6afaa1f77539f27a4f05c26e54e2f"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ab4f6afaa1f77539f27a4f05c26e54e2f">xbFread</a> (void *ptr, size_t size, size_t nmemb)</td></tr>
+<tr class="memdesc:ab4f6afaa1f77539f27a4f05c26e54e2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fread. <a href="classxb_1_1xbFile.html#ab4f6afaa1f77539f27a4f05c26e54e2f">More...</a><br /></td></tr>
+<tr class="separator:ab4f6afaa1f77539f27a4f05c26e54e2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5337ab8918df240910c0d19b4f298e3d"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a5337ab8918df240910c0d19b4f298e3d">xbFseek</a> (xbInt64 llOffset, xbInt32 whence)</td></tr>
+<tr class="memdesc:a5337ab8918df240910c0d19b4f298e3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fseek. <a href="classxb_1_1xbFile.html#a5337ab8918df240910c0d19b4f298e3d">More...</a><br /></td></tr>
+<tr class="separator:a5337ab8918df240910c0d19b4f298e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e1c06aedfa7fbcb92e117f891edd13b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a0e1c06aedfa7fbcb92e117f891edd13b">xbFtell</a> ()</td></tr>
+<tr class="memdesc:a0e1c06aedfa7fbcb92e117f891edd13b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary ftell. <a href="classxb_1_1xbFile.html#a0e1c06aedfa7fbcb92e117f891edd13b">More...</a><br /></td></tr>
+<tr class="separator:a0e1c06aedfa7fbcb92e117f891edd13b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9891b792f585a696f38a5cf959e30918"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a9891b792f585a696f38a5cf959e30918">xbFTurnOffFileBuffering</a> ()</td></tr>
+<tr class="memdesc:a9891b792f585a696f38a5cf959e30918"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn off file buffering. <a href="classxb_1_1xbFile.html#a9891b792f585a696f38a5cf959e30918">More...</a><br /></td></tr>
+<tr class="separator:a9891b792f585a696f38a5cf959e30918"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a08463f506f425c2385acbe1a561506e9"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a08463f506f425c2385acbe1a561506e9">xbReadUntil</a> (const char cDelim, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sOut)</td></tr>
+<tr class="memdesc:a08463f506f425c2385acbe1a561506e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read file until a particular character is encountered on input stream. <a href="classxb_1_1xbFile.html#a08463f506f425c2385acbe1a561506e9">More...</a><br /></td></tr>
+<tr class="separator:a08463f506f425c2385acbe1a561506e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d919366c2ec95e529906bf8842cbf07"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a6d919366c2ec95e529906bf8842cbf07">xbRemove</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 iOption)</td></tr>
+<tr class="memdesc:a6d919366c2ec95e529906bf8842cbf07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete file. <a href="classxb_1_1xbFile.html#a6d919366c2ec95e529906bf8842cbf07">More...</a><br /></td></tr>
+<tr class="separator:a6d919366c2ec95e529906bf8842cbf07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58f6a6751fdf7e9549c273bb75d93eb5"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a58f6a6751fdf7e9549c273bb75d93eb5">xbRemove</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName)</td></tr>
+<tr class="memdesc:a58f6a6751fdf7e9549c273bb75d93eb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete file. <a href="classxb_1_1xbFile.html#a58f6a6751fdf7e9549c273bb75d93eb5">More...</a><br /></td></tr>
+<tr class="separator:a58f6a6751fdf7e9549c273bb75d93eb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c668a8570433188382d31d7c60bd48"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ab3c668a8570433188382d31d7c60bd48">xbRemove</a> ()</td></tr>
+<tr class="memdesc:ab3c668a8570433188382d31d7c60bd48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete file. <a href="classxb_1_1xbFile.html#ab3c668a8570433188382d31d7c60bd48">More...</a><br /></td></tr>
+<tr class="separator:ab3c668a8570433188382d31d7c60bd48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc8ce113aa72611a278233f9bb170012"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#afc8ce113aa72611a278233f9bb170012">xbRename</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sOldName, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sNewName)</td></tr>
+<tr class="memdesc:afc8ce113aa72611a278233f9bb170012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rename file. <a href="classxb_1_1xbFile.html#afc8ce113aa72611a278233f9bb170012">More...</a><br /></td></tr>
+<tr class="separator:afc8ce113aa72611a278233f9bb170012"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7996b6e084665c37c3892faea64b3505"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a7996b6e084665c37c3892faea64b3505">xbRewind</a> ()</td></tr>
+<tr class="memdesc:a7996b6e084665c37c3892faea64b3505"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for rewind. <a href="classxb_1_1xbFile.html#a7996b6e084665c37c3892faea64b3505">More...</a><br /></td></tr>
+<tr class="separator:a7996b6e084665c37c3892faea64b3505"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6aadd871d1782944703fed773d44b85f"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a6aadd871d1782944703fed773d44b85f">xbFwrite</a> (const void *ptr, size_t lSize, size_t lNmemb)</td></tr>
+<tr class="memdesc:a6aadd871d1782944703fed773d44b85f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fwrite. <a href="classxb_1_1xbFile.html#a6aadd871d1782944703fed773d44b85f">More...</a><br /></td></tr>
+<tr class="separator:a6aadd871d1782944703fed773d44b85f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a518bfcbfa3699d883cf89affee383296"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a518bfcbfa3699d883cf89affee383296">xbTruncate</a> (xbInt64 llSize)</td></tr>
+<tr class="memdesc:a518bfcbfa3699d883cf89affee383296"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for ftruncate. <a href="classxb_1_1xbFile.html#a518bfcbfa3699d883cf89affee383296">More...</a><br /></td></tr>
+<tr class="separator:a518bfcbfa3699d883cf89affee383296"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97dfa59ab9a8e9f17454da0faceb023d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">DisplayError</a> (xbInt16 ErrorCode) const</td></tr>
+<tr class="memdesc:a97dfa59ab9a8e9f17454da0faceb023d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display error message on console for a given error number. <a href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">More...</a><br /></td></tr>
+<tr class="separator:a97dfa59ab9a8e9f17454da0faceb023d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">GetDefaultDateFormat</a> () const</td></tr>
+<tr class="memdesc:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default date format. <a href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">More...</a><br /></td></tr>
+<tr class="separator:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">GetDataDirectory</a> () const</td></tr>
+<tr class="memdesc:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current data directory. <a href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">More...</a><br /></td></tr>
+<tr class="separator:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abfaeef85935331073d213465bb362a61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">GetTempDirectory</a> () const</td></tr>
+<tr class="memdesc:abfaeef85935331073d213465bb362a61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current temp directory. <a href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">More...</a><br /></td></tr>
+<tr class="separator:abfaeef85935331073d213465bb362a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc9c06c95d71fbad8294e1ae8862cea9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">GetHomeDir</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sHomeDirOut)</td></tr>
+<tr class="memdesc:abc9c06c95d71fbad8294e1ae8862cea9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get home directory. <a href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">More...</a><br /></td></tr>
+<tr class="separator:abc9c06c95d71fbad8294e1ae8862cea9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49cd162f066eef2b829ba7c9f6620243"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">GetEndianType</a> () const</td></tr>
+<tr class="memdesc:a49cd162f066eef2b829ba7c9f6620243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Endian type. <a href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">More...</a><br /></td></tr>
+<tr class="separator:a49cd162f066eef2b829ba7c9f6620243"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56961d2a67b8e7470098626ac4dac7e4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">GetErrorMessage</a> (xbInt16 ErrorCode) const</td></tr>
+<tr class="memdesc:a56961d2a67b8e7470098626ac4dac7e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an error message. <a href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">More...</a><br /></td></tr>
+<tr class="separator:a56961d2a67b8e7470098626ac4dac7e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63cee13b473ee13970e93b11837b9e35"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">GetPathSeparator</a> () const</td></tr>
+<tr class="memdesc:a63cee13b473ee13970e93b11837b9e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the OS dependent path separator. <a href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">More...</a><br /></td></tr>
+<tr class="separator:a63cee13b473ee13970e93b11837b9e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">SetDataDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDataDirectory)</td></tr>
+<tr class="memdesc:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data directory. <a href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">More...</a><br /></td></tr>
+<tr class="separator:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f74db23f8902846d581935c7db73f9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">SetDefaultDateFormat</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDefaultDateFormat)</td></tr>
+<tr class="memdesc:a5f74db23f8902846d581935c7db73f9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default date format. <a href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">More...</a><br /></td></tr>
+<tr class="separator:a5f74db23f8902846d581935c7db73f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a17c229a20ef9ab4034df8f9cd657adb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">SetTempDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTempDirectory)</td></tr>
+<tr class="memdesc:a17c229a20ef9ab4034df8f9cd657adb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the temp directory. <a href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">More...</a><br /></td></tr>
+<tr class="separator:a17c229a20ef9ab4034df8f9cd657adb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62e4fd0a5888665c76bbbad962794e72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">BitSet</a> (unsigned char c, xbInt16 iBitNo) const</td></tr>
+<tr class="memdesc:a62e4fd0a5888665c76bbbad962794e72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check a bit in a one byte field and see if it is set. <a href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">More...</a><br /></td></tr>
+<tr class="separator:a62e4fd0a5888665c76bbbad962794e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8551b15a3ce4fa2a40d698db01f4a9ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a8551b15a3ce4fa2a40d698db01f4a9ae">BitDump</a> (unsigned char c) const</td></tr>
+<tr class="separator:a8551b15a3ce4fa2a40d698db01f4a9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba1395b8e4c7f28c3614061de6e49190"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#aba1395b8e4c7f28c3614061de6e49190">BitDump</a> (char c) const</td></tr>
+<tr class="separator:aba1395b8e4c7f28c3614061de6e49190"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6982f973e81587b04916f4509746aaf5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">GetDefaultAutoCommit</a> () const</td></tr>
+<tr class="memdesc:a6982f973e81587b04916f4509746aaf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default auto commit setting. <a href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">More...</a><br /></td></tr>
+<tr class="separator:a6982f973e81587b04916f4509746aaf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">SetDefaultAutoCommit</a> (<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bDefaultAutoCommit)</td></tr>
+<tr class="memdesc:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default auto commit. <a href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">More...</a><br /></td></tr>
+<tr class="separator:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4822315bded3969b59aeeb683c373051"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a4822315bded3969b59aeeb683c373051">GetLogDirectory</a> () const</td></tr>
+<tr class="separator:a4822315bded3969b59aeeb683c373051"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afaef09435be73b3111f5edbd7091d861"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#afaef09435be73b3111f5edbd7091d861">GetLogFileName</a> () const</td></tr>
+<tr class="separator:afaef09435be73b3111f5edbd7091d861"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b992ed97281bf25b5b66f5df686225e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a7b992ed97281bf25b5b66f5df686225e">SetLogDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLogDirectory)</td></tr>
+<tr class="separator:a7b992ed97281bf25b5b66f5df686225e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f05738e7dfd759e89990242ef503544"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a7f05738e7dfd759e89990242ef503544">SetLogFileName</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLogFileName)</td></tr>
+<tr class="separator:a7f05738e7dfd759e89990242ef503544"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">GetMultiUser</a> () const</td></tr>
+<tr class="memdesc:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the multi user setting. <a href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">More...</a><br /></td></tr>
+<tr class="separator:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba6e59512f7172dd55dcf92059e5928c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">SetMultiUser</a> (<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bMultiUser)</td></tr>
+<tr class="memdesc:aba6e59512f7172dd55dcf92059e5928c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the multi user setting. <a href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">More...</a><br /></td></tr>
+<tr class="separator:aba6e59512f7172dd55dcf92059e5928c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a6219f1b5e24ea12fe158cd5aea56988e"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6219f1b5e24ea12fe158cd5aea56988e">ErrorCodeText</a> []</td></tr>
+<tr class="separator:a6219f1b5e24ea12fe158cd5aea56988e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a060541addb5bb1f0fe12959ed6f66fb9"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a060541addb5bb1f0fe12959ed6f66fb9">ReadHeader</a> (xbInt16 iFilePositionOption, xbInt16 iReadOption)</td></tr>
+<tr class="memdesc:a060541addb5bb1f0fe12959ed6f66fb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read dbf file header information. <a href="classxb_1_1xbDbf.html#a060541addb5bb1f0fe12959ed6f66fb9">More...</a><br /></td></tr>
+<tr class="separator:a060541addb5bb1f0fe12959ed6f66fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabd146c0e1054ab905ec96aedd84b02e"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#aabd146c0e1054ab905ec96aedd84b02e">GetRawField</a> (xbInt16 iFieldNo, char *Buf, xbUInt32 BufSize, xbInt16 iRecBufSw) const</td></tr>
+<tr class="memdesc:aabd146c0e1054ab905ec96aedd84b02e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get raw field data for field number. <a href="classxb_1_1xbDbf.html#aabd146c0e1054ab905ec96aedd84b02e">More...</a><br /></td></tr>
+<tr class="separator:aabd146c0e1054ab905ec96aedd84b02e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad06fe0f7975fb81125d27d82504e6829"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ad06fe0f7975fb81125d27d82504e6829">InitVars</a> ()</td></tr>
+<tr class="separator:ad06fe0f7975fb81125d27d82504e6829"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e63e852418f337eb7c44de5dcd50323"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a7e63e852418f337eb7c44de5dcd50323">SetVersion</a> ()=0</td></tr>
+<tr class="separator:a7e63e852418f337eb7c44de5dcd50323"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba5dcac3b4092261bc1669740cdd669d"><td class="memItemLeft" align="right" valign="top">virtual xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#aba5dcac3b4092261bc1669740cdd669d">ValidateSchema</a> (<a class="el" href="structxb_1_1xbSchema.html">xbSchema</a> *s)=0</td></tr>
+<tr class="separator:aba5dcac3b4092261bc1669740cdd669d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44e1410109ef7b3d11a6af4b704b62b2"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a44e1410109ef7b3d11a6af4b704b62b2">WriteHeader</a> (xbInt16 iPositionOption, xbInt16 iWriteOption)</td></tr>
+<tr class="separator:a44e1410109ef7b3d11a6af4b704b62b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a904ec348fd029d4a76e72b8fde636108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">SetEndianType</a> ()</td></tr>
+<tr class="memdesc:a904ec348fd029d4a76e72b8fde636108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the endian type. <a href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">More...</a><br /></td></tr>
+<tr class="separator:a904ec348fd029d4a76e72b8fde636108"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:afcd99924606be0a9e1e25180bcd1abf8"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#afcd99924606be0a9e1e25180bcd1abf8">ulCurRec</a></td></tr>
+<tr class="separator:afcd99924606be0a9e1e25180bcd1abf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab506450954bc86e7bf1d7c4efe681f43"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ab506450954bc86e7bf1d7c4efe681f43">iAutoCommit</a></td></tr>
+<tr class="separator:ab506450954bc86e7bf1d7c4efe681f43"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15f495446f0d75bcf2fa89e3b699d388"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a15f495446f0d75bcf2fa89e3b699d388">iFileVersion</a></td></tr>
+<tr class="separator:a15f495446f0d75bcf2fa89e3b699d388"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a73f9c792d0a769e2e604c1855245a276"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a73f9c792d0a769e2e604c1855245a276">sAlias</a></td></tr>
+<tr class="separator:a73f9c792d0a769e2e604c1855245a276"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5056757614c39f725cc775332494966a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a5056757614c39f725cc775332494966a">iNoOfFields</a></td></tr>
+<tr class="separator:a5056757614c39f725cc775332494966a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d8e193da3ca414eef1e8866ec5ca81b"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a6d8e193da3ca414eef1e8866ec5ca81b">iDbfStatus</a></td></tr>
+<tr class="separator:a6d8e193da3ca414eef1e8866ec5ca81b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8c8b5eb12063bb898da1b2cc02cfce7"><td class="memItemLeft" align="right" valign="top">xbSchemaRec *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ad8c8b5eb12063bb898da1b2cc02cfce7">SchemaPtr</a></td></tr>
+<tr class="separator:ad8c8b5eb12063bb898da1b2cc02cfce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8a9b3bce0b741e73473d3ebbd6e6f1cd"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a8a9b3bce0b741e73473d3ebbd6e6f1cd">RecBuf</a></td></tr>
+<tr class="separator:a8a9b3bce0b741e73473d3ebbd6e6f1cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a353ebfc8a2960ef827f429ec74025606"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a353ebfc8a2960ef827f429ec74025606">RecBuf2</a></td></tr>
+<tr class="separator:a353ebfc8a2960ef827f429ec74025606"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3a262abf658e5fa968b57ef457a69470"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a3a262abf658e5fa968b57ef457a69470">cVersion</a></td></tr>
+<tr class="separator:a3a262abf658e5fa968b57ef457a69470"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4fcd6a86ddd32d4a9d76a4074573440a"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a4fcd6a86ddd32d4a9d76a4074573440a">cUpdateYY</a></td></tr>
+<tr class="separator:a4fcd6a86ddd32d4a9d76a4074573440a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9340a5e8ee53eb0f3b6601eec2d71e1b"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a9340a5e8ee53eb0f3b6601eec2d71e1b">cUpdateMM</a></td></tr>
+<tr class="separator:a9340a5e8ee53eb0f3b6601eec2d71e1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6021789d314cd41488991e708fcd0df2"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a6021789d314cd41488991e708fcd0df2">cUpdateDD</a></td></tr>
+<tr class="separator:a6021789d314cd41488991e708fcd0df2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb594ab61dd35b17bdf28394083f8e87"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#acb594ab61dd35b17bdf28394083f8e87">ulNoOfRecs</a></td></tr>
+<tr class="separator:acb594ab61dd35b17bdf28394083f8e87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62f5fa9149ae0f6dc75642823de66918"><td class="memItemLeft" align="right" valign="top">xbUInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a62f5fa9149ae0f6dc75642823de66918">uiHeaderLen</a></td></tr>
+<tr class="separator:a62f5fa9149ae0f6dc75642823de66918"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1760e222567e2c849f9c799b9d896e91"><td class="memItemLeft" align="right" valign="top">xbUInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a1760e222567e2c849f9c799b9d896e91">uiRecordLen</a></td></tr>
+<tr class="separator:a1760e222567e2c849f9c799b9d896e91"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3c89fc3bc6a6abf385478a8adbed970"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ac3c89fc3bc6a6abf385478a8adbed970">cTransactionFlag</a></td></tr>
+<tr class="separator:ac3c89fc3bc6a6abf385478a8adbed970"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8734e799707582f022fc341d515650f4"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#a8734e799707582f022fc341d515650f4">cEncryptionFlag</a></td></tr>
+<tr class="separator:a8734e799707582f022fc341d515650f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad59074633641e03647e54d2b66c9102b"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#ad59074633641e03647e54d2b66c9102b">cIndexFlag</a></td></tr>
+<tr class="separator:ad59074633641e03647e54d2b66c9102b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html#aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1">cLangDriver</a></td></tr>
+<tr class="separator:aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae39a67ea391b46055d4ca299cb222004"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ae39a67ea391b46055d4ca299cb222004">xbase</a></td></tr>
+<tr class="separator:ae39a67ea391b46055d4ca299cb222004"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-static-attribs" name="pro-static-attribs"></a>
+Static Protected Attributes</h2></td></tr>
+<tr class="memitem:a5849e813f5e8e1cd180f0366637adbf3"><td class="memItemLeft" align="right" valign="top">static xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a5849e813f5e8e1cd180f0366637adbf3">iEndianType</a> = 0</td></tr>
+<tr class="separator:a5849e813f5e8e1cd180f0366637adbf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9dec3164c3b264882df634915ecf21da"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classxb_1_1xbString.html">xbString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a9dec3164c3b264882df634915ecf21da">sNullString</a> = &quot;&quot;</td></tr>
+<tr class="separator:a9dec3164c3b264882df634915ecf21da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p >Base class for handling dbf files/tables. </p>
+<p >The <a class="el" href="classxb_1_1xbDbf.html" title="Base class for handling dbf files/tables.">xbDbf</a> class is used as a base class for accessing dbf files. <br />
+ In line with relational theory, a each dbf file can be considered as a table. The documentation uses the terms dbf and table interchangeably.<br />
+</p>
+<p >This module handles methods for accessing and updating dbf files.</p>
+<p ><br />
+ 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 <a class="el" href="classxb_1_1xbDbf.html" title="Base class for handling dbf files/tables.">xbDbf</a> as a base class and modify methods needed to support the new dbf file version.<br />
+ See the following for examples on how to start on this:<br />
+ xbDbf3 is a derived class from <a class="el" href="classxb_1_1xbDbf.html" title="Base class for handling dbf files/tables.">xbDbf</a> and supports the original Dbase III+ file version.<br />
+ xbDbf4 is a derived class from <a class="el" href="classxb_1_1xbDbf.html" title="Base class for handling dbf files/tables.">xbDbf</a> and supports the original Dbase IV file version.<br />
+ </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a84a75f80bc0e9b8a22b728767949c204" name="a84a75f80bc0e9b8a22b728767949c204"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a84a75f80bc0e9b8a22b728767949c204">&#9670;&nbsp;</a></span>xbDbf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbDbf::xbDbf </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *&#160;</td>
+ <td class="paramname"><em>x</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">x</td><td>Pointer to xbXbase </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a7eb87521fba8a939c613056d9918d880" name="a7eb87521fba8a939c613056d9918d880"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7eb87521fba8a939c613056d9918d880">&#9670;&nbsp;</a></span>~xbDbf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbDbf::~xbDbf </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Destructor. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a4edcf31390fbdc8c3558004770fd9f2f" name="a4edcf31390fbdc8c3558004770fd9f2f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4edcf31390fbdc8c3558004770fd9f2f">&#9670;&nbsp;</a></span>Abort()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::Abort </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Abort any uncommited changes for the current record buffer. </p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a5b412dd796241673eb1aa2c93513d69b" name="a5b412dd796241673eb1aa2c93513d69b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5b412dd796241673eb1aa2c93513d69b">&#9670;&nbsp;</a></span>AppendRecord()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::AppendRecord </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Append the current record to the data file. </p>
+<p >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.<br />
+</p>
+<p >To add a record, an application would typically blank the record buffer, update various fields in the record buffer, then append the record.<br />
+</p>
+<p >The append method performs the following tasks:<br />
+ 1) Create new index key values<br />
+ 2) Lock the table<br />
+ 3) Lock append bytes<br />
+ 4) Lock indices<br />
+ 5) Read the dbf header<br />
+ 6) Check for dup keys<br />
+ 7) Calc last update date, no of recs<br />
+ 8) Add keys<br />
+ 9) Unlock indices<br />
+ 10) Update file header<br />
+ 11) Unlock file header<br />
+ 12) Append record<br />
+ 13) Unlock append bytes<br />
+</p>
+<p >Note: Locking memo files is not needed as the memo file updates are handled outside of the append method.<br />
+</p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="aba1395b8e4c7f28c3614061de6e49190" name="aba1395b8e4c7f28c3614061de6e49190"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba1395b8e4c7f28c3614061de6e49190">&#9670;&nbsp;</a></span>BitDump() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::BitDump </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8551b15a3ce4fa2a40d698db01f4a9ae" name="a8551b15a3ce4fa2a40d698db01f4a9ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8551b15a3ce4fa2a40d698db01f4a9ae">&#9670;&nbsp;</a></span>BitDump() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::BitDump </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a62e4fd0a5888665c76bbbad962794e72" name="a62e4fd0a5888665c76bbbad962794e72"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a62e4fd0a5888665c76bbbad962794e72">&#9670;&nbsp;</a></span>BitSet()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::BitSet </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iBitNo</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Check a bit in a one byte field and see if it is set. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>One byte char field to examine. </td></tr>
+ <tr><td class="paramname">iBitNo</td><td>which bit to examine. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue Bit is set<br />
+ xbFalse Bit is not set </dd></dl>
+
+</div>
+</div>
+<a id="a78da5a3d2011a3f2e7618cbdd3ba02d6" name="a78da5a3d2011a3f2e7618cbdd3ba02d6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78da5a3d2011a3f2e7618cbdd3ba02d6">&#9670;&nbsp;</a></span>BlankRecord()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::BlankRecord </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Blank the record buffer. </p>
+<p >This method would typically be called to initialize the record buffer before updates are applied to append a new record.</p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ad68d73113e54e1b5f326e90f45e9989d" name="ad68d73113e54e1b5f326e90f45e9989d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad68d73113e54e1b5f326e90f45e9989d">&#9670;&nbsp;</a></span>Close()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::Close </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Close DBF file/table. </p>
+<p >This routine flushes any remaining updates to disk, closes the DBF file and any associated memo and index files.</p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="abd69532c885ab72bcf3fb5066b318f4f" name="abd69532c885ab72bcf3fb5066b318f4f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd69532c885ab72bcf3fb5066b318f4f">&#9670;&nbsp;</a></span>Commit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::Commit </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Commit updates to disk. </p>
+<p >This routine commits any pending updates to disk.</p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a829c615a130a1fdf609d93438d8a6264" name="a829c615a130a1fdf609d93438d8a6264"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a829c615a130a1fdf609d93438d8a6264">&#9670;&nbsp;</a></span>CopyDbfStructure()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::CopyDbfStructure </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>dNewTable</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sNewTableName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sNewTableAlias</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOverlay</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iShareMode</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Copy table (dbf) file structure. </p>
+<p >This routine will copy the structure of a dbf file and if successful return a pointer to the new table in an open state.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dNewTable</td><td>Reference to new table object. </td></tr>
+ <tr><td class="paramname">sNewTableName</td><td>New table (dbf) name. </td></tr>
+ <tr><td class="paramname">sNewTableAlias</td><td>Alias name of new table. </td></tr>
+ <tr><td class="paramname">iOverlay</td><td>xbTrue - Overlay existing file.<br />
+ xbFalse - Don't overlay existing file. </td></tr>
+ <tr><td class="paramname">iShareMode</td><td>XB_SINGLE_USER<br />
+ XB_MULTI_USER </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> Copy DBF structure </dd></dl>
+
+</div>
+</div>
+<a id="a73e41bfe679dd06ab16c436652df93f1" name="a73e41bfe679dd06ab16c436652df93f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a73e41bfe679dd06ab16c436652df93f1">&#9670;&nbsp;</a></span>CreateTable()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual xbInt16 xb::xbDbf::CreateTable </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTableName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sAlias</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structxb_1_1xbSchema.html">xbSchema</a> *&#160;</td>
+ <td class="paramname"><em>pSchema</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOverlay</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iShareMode</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad39797624a752b9d62533d00fad9feff" name="ad39797624a752b9d62533d00fad9feff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad39797624a752b9d62533d00fad9feff">&#9670;&nbsp;</a></span>CreateUniqueFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::CreateUniqueFileName </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDirIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sExtIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFqnOut</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create a unique file name. </p>
+<p >Given a directory and file extension as inputs, create a unique file name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDirIn</td><td>Directory </td></tr>
+ <tr><td class="paramname">sExtIn</td><td>File Extension </td></tr>
+ <tr><td class="paramname">sFqnOut</td><td>A fully qualifed unique file name as output </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a></dd></dl>
+<p>Create a unique file name.</p>
+<p >Given a directory and file extension as inputs, create a unique file name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDirIn</td><td>Directory </td></tr>
+ <tr><td class="paramname">sExtIn</td><td>File Extension </td></tr>
+ <tr><td class="paramname">iOption</td><td>0 - look only for one file for a given directory and extension<br />
+ 1 - if file name extension is "dbf" or "DBF", verify unique dbt or DBT (memo) file is also available<br />
+ </td></tr>
+ <tr><td class="paramname">sFqnOut</td><td>A fully qualifed unique file name as output </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a01c26b67e312be1e674b3da710e031b9" name="a01c26b67e312be1e674b3da710e031b9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a01c26b67e312be1e674b3da710e031b9">&#9670;&nbsp;</a></span>DeleteAll()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::DeleteAll </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Delete or undelete all records in a dbf file (table). </p>
+<p >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's not physically removed from the file, the first byte is flagged as deleted.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOption</td><td>0 - Delete all records.<br />
+ 1 - Un-delete all deleted records. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a3067fdfa3a7a5c15651f6e89d1102176" name="a3067fdfa3a7a5c15651f6e89d1102176"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3067fdfa3a7a5c15651f6e89d1102176">&#9670;&nbsp;</a></span>DeleteAllRecords()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::DeleteAllRecords </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Delete all records. </p>
+<p >This routine deletes all the records in a table / dbf file.</p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="acd8c10579229f3a2e2c5fdb7fcef90db" name="acd8c10579229f3a2e2c5fdb7fcef90db"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acd8c10579229f3a2e2c5fdb7fcef90db">&#9670;&nbsp;</a></span>DeleteRecord()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::DeleteRecord </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Delete the current record. </p>
+<p >This routine flags the current record for deletion if it's not already flagged.</p>
+<dl class="section return"><dt>Returns</dt><dd>XB_NO_ERROR<br />
+ XB_INVALID_RECORD </dd></dl>
+
+</div>
+</div>
+<a id="a4085ed4f049d976124d8edc3d3c56397" name="a4085ed4f049d976124d8edc3d3c56397"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4085ed4f049d976124d8edc3d3c56397">&#9670;&nbsp;</a></span>DeleteTable()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::DeleteTable </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Delete a table. </p>
+<p >This routine deletes a given table, associated index files if any, the memo file if any and the .INF file if any. </p><dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a5a740033664c9ad2611c90e2a6d0c2d3" name="a5a740033664c9ad2611c90e2a6d0c2d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a740033664c9ad2611c90e2a6d0c2d3">&#9670;&nbsp;</a></span>DetermineXbaseMemoVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::DetermineXbaseMemoVersion </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>cFileTypeByte</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Determine which version the memo (dbt) file is. </p>
+<p >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.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">cFileTypeByte</td><td>is an output field and is one of:<br />
+ <br />
+ 0 - none<br />
+ 3 - Dbase III+<br />
+ 4 - Dbase IV<br />
+</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ae2b6ac26018dc28f77afbb3f008c3f66" name="ae2b6ac26018dc28f77afbb3f008c3f66"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae2b6ac26018dc28f77afbb3f008c3f66">&#9670;&nbsp;</a></span>DetermineXbaseTableVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::DetermineXbaseTableVersion </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>cFileTypeByte</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Determine xbase dbf version. </p>
+<p >This routine is used to determine which version of the Xbase classes can be used for a given DBF file.<br />
+</p>
+<p >It attempts to use the highest version compiled into the library.<br />
+</p>
+<p >References:<br />
+ This routine uses the first byte from the dbf file.<br />
+ Per DBase documentation:<br />
+ Valid dBASE for Windows table file, bits 0-2 indicate version number: 3 for dBASE Level 5, 4 for dBASE Level 7.<br />
+ Bit 3 and bit 7 indicate presence of a dBASE IV or dBASE for Windows memo file;<br />
+ Bits 4-6 indicate the presence of a dBASE IV SQL table;<br />
+ Bit 7 indicates the presence of any .DBT memo file (either a dBASE III PLUS type or a dBASE IV or dBASE for Windows memo file).<br />
+ <br />
+ Bachmann spec (used extensively in library build), page 7 - does not match DBase documentation<br />
+ <br />
+ returns<br />
+ 0 - unknown<br />
+ 3 - Dbase level 3<br />
+ 4 - Dbase level 4<br />
+ 5 - Dbase Level 5 (future)<br />
+ 7 - Dbase Level 7 (future)<br />
+ <br />
+ 1x - Clipper files (future)<br />
+ 2x - Foxbase files (future)<br />
+ <br />
+ </p>
+
+</div>
+</div>
+<a id="a97dfa59ab9a8e9f17454da0faceb023d" name="a97dfa59ab9a8e9f17454da0faceb023d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97dfa59ab9a8e9f17454da0faceb023d">&#9670;&nbsp;</a></span>DisplayError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::DisplayError </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iErrorCode</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Display error message on console for a given error number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iErrorCode</td><td>Error number to reference </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a47643728f74cf3b6e0ffc55259895bdb" name="a47643728f74cf3b6e0ffc55259895bdb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a47643728f74cf3b6e0ffc55259895bdb">&#9670;&nbsp;</a></span>DumpHeader()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::DumpHeader </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Dump dbf file header. </p>
+<p >This routine dumps dbf header information to the console.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOption</td><td>1 = Print header only<br />
+ 2 = Field data only<br />
+ 3 = Header and Field data<br />
+ 4 = Header, Field and Memo header data if applicable </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="aba30399f15885a07f87f904c0d0656fa" name="aba30399f15885a07f87f904c0d0656fa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba30399f15885a07f87f904c0d0656fa">&#9670;&nbsp;</a></span>DumpRecord()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::DumpRecord </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulRecNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOutputDest</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOutputFmt</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Dump record. </p>
+<p >Dump the contents of the specified record</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulRecNo</td><td>Record number of record to be dumped. </td></tr>
+ <tr><td class="paramname">iOutputDest</td><td>0 = stdout<br />
+ 1 = Syslog<br />
+ 2 = Both<br />
+</td></tr>
+ <tr><td class="paramname">iOutputFmt</td><td>0 = with field names<br />
+ 1 = 1 line per rec, no field names<br />
+ 2 = 1 line per rec, first line is a list of field names. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ab14e4a11427f5efb81cba1dd32bd1aa1" name="ab14e4a11427f5efb81cba1dd32bd1aa1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab14e4a11427f5efb81cba1dd32bd1aa1">&#9670;&nbsp;</a></span>eGetDouble()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> xb::xbFile::eGetDouble </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>p</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get a portable double value. </p>
+<p >This routine returns a double value from an 8 byte character stream, accounting for endian type.</p>
+<p >Converts a double (64 bit floating point) value stored at p from a portable format to the machine format.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>pointer to memory containing the portable double value</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the double value. </dd></dl>
+
+</div>
+</div>
+<a id="ac40c991110ddc6fb30a72d90f4652762" name="ac40c991110ddc6fb30a72d90f4652762"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac40c991110ddc6fb30a72d90f4652762">&#9670;&nbsp;</a></span>eGetInt16()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::eGetInt16 </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>p</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get a portable short value. </p>
+<p >This routine returns a short int value from a 2 byte character stream, accounting for endian type.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>pointer to memory containing the portable long value</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the short value. </dd></dl>
+
+</div>
+</div>
+<a id="a60b24a5afc984c586bf384c7e915ba0d" name="a60b24a5afc984c586bf384c7e915ba0d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a60b24a5afc984c586bf384c7e915ba0d">&#9670;&nbsp;</a></span>eGetInt32()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt32 xb::xbFile::eGetInt32 </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>p</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get a portable long value. </p>
+<p >This routine returns a long int value from a 4 byte character stream, accounting for endian type.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>pointer to memory containing the portable long value</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the long value. </dd></dl>
+
+</div>
+</div>
+<a id="a936ade458e6d5e6d29f9b5031888d189" name="a936ade458e6d5e6d29f9b5031888d189"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a936ade458e6d5e6d29f9b5031888d189">&#9670;&nbsp;</a></span>eGetUInt16()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt16 xb::xbFile::eGetUInt16 </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>p</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get a portable unsigned short value. </p>
+<p >This routine returns a short unsigned int value from a 2 byte character stream, accounting for endian type.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>pointer to memory containing the portable long value</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the short value. </dd></dl>
+
+</div>
+</div>
+<a id="a78f052529d39a18deaface5a0d47d0b0" name="a78f052529d39a18deaface5a0d47d0b0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78f052529d39a18deaface5a0d47d0b0">&#9670;&nbsp;</a></span>eGetUInt32()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbFile::eGetUInt32 </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>p</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get a portable unsigned long value. </p>
+<p >This routine returns an unsigned long int value from a 4 byte character stream, accounting for endian type.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>pointer to memory containing the portable long value</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the unsigned long value. </dd></dl>
+
+</div>
+</div>
+<a id="a98b6ff533ae93f90c977a2ba23eeb105" name="a98b6ff533ae93f90c977a2ba23eeb105"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a98b6ff533ae93f90c977a2ba23eeb105">&#9670;&nbsp;</a></span>ePutDouble()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::ePutDouble </td>
+ <td>(</td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a>&#160;</td>
+ <td class="paramname"><em>d</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Write a portable double value to memory location. </p>
+<p >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.</p>
+<p >This routine puts a double value to an 8 byte character stream</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Pointer to memory to hold converted value </td></tr>
+ <tr><td class="paramname">d</td><td>Input value to be converted </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a29130f12739ac8fa837f4eaedf1338b2" name="a29130f12739ac8fa837f4eaedf1338b2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a29130f12739ac8fa837f4eaedf1338b2">&#9670;&nbsp;</a></span>ePutInt16()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::ePutInt16 </td>
+ <td>(</td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>s</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Write a portable short value to memory location. </p>
+<p >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.</p>
+<p >This routine puts a short value to a 2 byte character stream</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Pointer to memory to hold converted value </td></tr>
+ <tr><td class="paramname">s</td><td>Input value to be converted </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a19c37f76a2ccbb45019cb0fc373d3f46" name="a19c37f76a2ccbb45019cb0fc373d3f46"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a19c37f76a2ccbb45019cb0fc373d3f46">&#9670;&nbsp;</a></span>ePutInt32()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::ePutInt32 </td>
+ <td>(</td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>l</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Write a portable long value to memory location. </p>
+<p >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.</p>
+<p >This routine puts a long value to a 4 byte character stream.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Pointer to memory to hold converted value </td></tr>
+ <tr><td class="paramname">l</td><td>Input value to be converted </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a65e9839f92b96eac7b0d071fac3bbe40" name="a65e9839f92b96eac7b0d071fac3bbe40"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a65e9839f92b96eac7b0d071fac3bbe40">&#9670;&nbsp;</a></span>ePutUInt16()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::ePutUInt16 </td>
+ <td>(</td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt16&#160;</td>
+ <td class="paramname"><em>s</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Write a portable unsigned short value to memory location. </p>
+<p >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.</p>
+<p >This routine puts an unsigned short value to a 2 byte character stream</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Pointer to memory to hold converted value </td></tr>
+ <tr><td class="paramname">s</td><td>Input value to be converted </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="aa3f6ceae4b96f24875d86848bf13a173" name="aa3f6ceae4b96f24875d86848bf13a173"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3f6ceae4b96f24875d86848bf13a173">&#9670;&nbsp;</a></span>ePutUInt32()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::ePutUInt32 </td>
+ <td>(</td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ul</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Write a portable unsigned long value to memory location. </p>
+<p >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.</p>
+<p >This routine puts an unsigned long value to a 4 byte character stream.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Pointer to memory to hold converted value </td></tr>
+ <tr><td class="paramname">ul</td><td>Input value to be converted </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a78bd8a11dce102647095baf3aff2b006" name="a78bd8a11dce102647095baf3aff2b006"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78bd8a11dce102647095baf3aff2b006">&#9670;&nbsp;</a></span>FileExists() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbFile::FileExists </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Determines if a file exists. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if file exists<br />
+ xbFalse if file does not exist </dd></dl>
+
+</div>
+</div>
+<a id="a61130b4fbf4cf9d5972dcb4993de2f94" name="a61130b4fbf4cf9d5972dcb4993de2f94"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a61130b4fbf4cf9d5972dcb4993de2f94">&#9670;&nbsp;</a></span>FileExists() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbFile::FileExists </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Determines if a file exists. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- file name to check for</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if file exists<br />
+ xbFalse if file does not exist </dd></dl>
+
+</div>
+</div>
+<a id="a0592168f39a10f2a401a88ef781f6148" name="a0592168f39a10f2a401a88ef781f6148"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0592168f39a10f2a401a88ef781f6148">&#9670;&nbsp;</a></span>FileExists() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbFile::FileExists </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Determines if a file exists. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- file name to check for </td></tr>
+ <tr><td class="paramname">iOption</td><td>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</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if both dbf and dbt files exist<br />
+ xbFalse if file does not exist </dd></dl>
+
+</div>
+</div>
+<a id="a174d8a6aabc9cfcd32fedbd1e5b13ddd" name="a174d8a6aabc9cfcd32fedbd1e5b13ddd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a174d8a6aabc9cfcd32fedbd1e5b13ddd">&#9670;&nbsp;</a></span>FileExists() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbFile::FileExists </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Determines if a file exists. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOption</td><td>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</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if both files exist<br />
+ xbFalse if file does not exist </dd></dl>
+
+</div>
+</div>
+<a id="a7fa837938a32dc9ca3fbc81cbaf50f59" name="a7fa837938a32dc9ca3fbc81cbaf50f59"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7fa837938a32dc9ca3fbc81cbaf50f59">&#9670;&nbsp;</a></span>FileIsOpen()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbFile::FileIsOpen </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Determines if file is open. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if file is open<br />
+ xbFalse if file is not open </dd></dl>
+
+</div>
+</div>
+<a id="abb9e20c5efacd4fea80f1515abbc6b55" name="abb9e20c5efacd4fea80f1515abbc6b55"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abb9e20c5efacd4fea80f1515abbc6b55">&#9670;&nbsp;</a></span>GetAutoCommit() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetAutoCommit </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get auto commit setting. </p>
+<p >This routine returns the table setting if set, otherwise returns the system level setting.</p>
+<dl class="section return"><dt>Returns</dt><dd>Not 0 - Auto commit on for this table.<br />
+ 0 - Auto commit off for this table. </dd></dl>
+
+</div>
+</div>
+<a id="ae0c00226fd2ea7a67f101e795467ed68" name="ae0c00226fd2ea7a67f101e795467ed68"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae0c00226fd2ea7a67f101e795467ed68">&#9670;&nbsp;</a></span>GetAutoCommit() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetAutoCommit </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get auto commit setting. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOption</td><td>0 - Specific setting for this table<br />
+ 1 - If this table should be auto updated (takes DBMS setting into account) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Not 0 - Auto commit on for this table.<br />
+ 0 - Auto commit off for this table. </dd></dl>
+
+</div>
+</div>
+<a id="a638e14262410a1627819f016a16cdce2" name="a638e14262410a1627819f016a16cdce2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a638e14262410a1627819f016a16cdce2">&#9670;&nbsp;</a></span>GetBlockSize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbFile::GetBlockSize </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the block size. </p>
+<dl class="section return"><dt>Returns</dt><dd>Block Size </dd></dl>
+
+</div>
+</div>
+<a id="ad0827a43c025c1184ffebab74cc9e779" name="ad0827a43c025c1184ffebab74cc9e779"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad0827a43c025c1184ffebab74cc9e779">&#9670;&nbsp;</a></span>GetBof()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbDbf::GetBof </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get a pointer to the current index object. </p>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to current index.</dd></dl>
+<p>Return true if dbf file empty or positioned to the first record</p>
+<dl class="section return"><dt>Returns</dt><dd>Returns true if dbf file is empty or positioned on the first record. </dd></dl>
+
+</div>
+</div>
+<a id="a643a80a3792a52760c8e09ba18719503" name="a643a80a3792a52760c8e09ba18719503"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a643a80a3792a52760c8e09ba18719503">&#9670;&nbsp;</a></span>GetCurRecNo()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbDbf::GetCurRecNo </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return the current record number. </p>
+<dl class="section return"><dt>Returns</dt><dd>Returns the current record number. </dd></dl>
+
+</div>
+</div>
+<a id="a1d803a4bfc8ba0561267a0bf9e51f7d9" name="a1d803a4bfc8ba0561267a0bf9e51f7d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d803a4bfc8ba0561267a0bf9e51f7d9">&#9670;&nbsp;</a></span>GetDataDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetDataDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the current data directory. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the current data directory where the database files are stored. </dd></dl>
+
+</div>
+</div>
+<a id="ac624e06a97666bfd64b4f252b4548b36" name="ac624e06a97666bfd64b4f252b4548b36"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac624e06a97666bfd64b4f252b4548b36">&#9670;&nbsp;</a></span>GetDateField() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetDateField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;&#160;</td>
+ <td class="paramname"><em>dtFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get <a class="el" href="classxb_1_1xbDate.html" title="xbDate class.">xbDate</a> field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to retrieve. </td></tr>
+ <tr><td class="paramname">dtFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="af78ef1fba949463ff7f829d3cffc4555" name="af78ef1fba949463ff7f829d3cffc4555"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af78ef1fba949463ff7f829d3cffc4555">&#9670;&nbsp;</a></span>GetDateField() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetDateField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;&#160;</td>
+ <td class="paramname"><em>dtFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get <a class="el" href="classxb_1_1xbDate.html" title="xbDate class.">xbDate</a> field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">dtFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="ac1110d867ba297a52c8b0e83e88f05e6" name="ac1110d867ba297a52c8b0e83e88f05e6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac1110d867ba297a52c8b0e83e88f05e6">&#9670;&nbsp;</a></span>GetDbfStatus()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetDbfStatus </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return the current dbf status. </p>
+<dl class="section return"><dt>Returns</dt><dd>0 = closed<br />
+ 1 = open<br />
+ 2 = updates pending<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a6982f973e81587b04916f4509746aaf5" name="a6982f973e81587b04916f4509746aaf5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6982f973e81587b04916f4509746aaf5">&#9670;&nbsp;</a></span>GetDefaultAutoCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::GetDefaultAutoCommit </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the default auto commit setting. </p>
+<p >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-&gt;Put() and dbf-&gt;<a class="el" href="classxb_1_1xbDbf.html#a5b412dd796241673eb1aa2c93513d69b" title="Append the current record to the data file.">AppendRecord()</a>.</p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if auto commit is turned on<br />
+ xbFalse is auto commit is turned off </dd></dl>
+
+</div>
+</div>
+<a id="a6fbb9c3a550ab0b3378f9586a57791d2" name="a6fbb9c3a550ab0b3378f9586a57791d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6fbb9c3a550ab0b3378f9586a57791d2">&#9670;&nbsp;</a></span>GetDefaultDateFormat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetDefaultDateFormat </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the default date format. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the default date format. </dd></dl>
+
+</div>
+</div>
+<a id="acd0fb2166b2bff7e8a1cf65a7bc8be1e" name="acd0fb2166b2bff7e8a1cf65a7bc8be1e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acd0fb2166b2bff7e8a1cf65a7bc8be1e">&#9670;&nbsp;</a></span>GetDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbFile::GetDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the directory name. </p>
+<dl class="section return"><dt>Returns</dt><dd>the directory name of the file </dd></dl>
+
+</div>
+</div>
+<a id="a6e6774df0f2d7733f4b25a9989596d95" name="a6e6774df0f2d7733f4b25a9989596d95"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e6774df0f2d7733f4b25a9989596d95">&#9670;&nbsp;</a></span>GetDoubleField() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetDoubleField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;&#160;</td>
+ <td class="paramname"><em>dFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get xbDouble field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to retrieve. </td></tr>
+ <tr><td class="paramname">dFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a4556041a7ff2f6b6f986729901c11f08" name="a4556041a7ff2f6b6f986729901c11f08"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4556041a7ff2f6b6f986729901c11f08">&#9670;&nbsp;</a></span>GetDoubleField() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetDoubleField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;&#160;</td>
+ <td class="paramname"><em>dFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get xbDouble field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">dFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a2370b5e736931441a5968649291b9ef4" name="a2370b5e736931441a5968649291b9ef4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2370b5e736931441a5968649291b9ef4">&#9670;&nbsp;</a></span>GetDoubleField() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetDoubleField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;&#160;</td>
+ <td class="paramname"><em>dFieldValue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iRecBufSw</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get xbDouble field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">dFieldValue</td><td>Output field value. </td></tr>
+ <tr><td class="paramname">iRecBufSw</td><td>0 - Record buffer with any updates.<br />
+1 - Record buffer with original data. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a49cd162f066eef2b829ba7c9f6620243" name="a49cd162f066eef2b829ba7c9f6620243"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a49cd162f066eef2b829ba7c9f6620243">&#9670;&nbsp;</a></span>GetEndianType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSsv::GetEndianType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the Endian type. </p>
+<dl class="section return"><dt>Returns</dt><dd>B - Big endian<br />
+ L - Little endian<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a256dc1f98626fa77da24e91a38ab5b4d" name="a256dc1f98626fa77da24e91a38ab5b4d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a256dc1f98626fa77da24e91a38ab5b4d">&#9670;&nbsp;</a></span>GetEof()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbDbf::GetEof </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return true if dbf file empty or positioned to the last record. </p>
+<dl class="section return"><dt>Returns</dt><dd>Returns true if error, dbf file is empty or positioned on the last record. </dd></dl>
+
+</div>
+</div>
+<a id="a56961d2a67b8e7470098626ac4dac7e4" name="a56961d2a67b8e7470098626ac4dac7e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a56961d2a67b8e7470098626ac4dac7e4">&#9670;&nbsp;</a></span>GetErrorMessage()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * xb::xbSsv::GetErrorMessage </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iErrorCode</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get an error message. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iErrorCode</td><td>ErrorCode is the error number of description to be returned. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a pointer to a string containing a text description for the error code. </dd></dl>
+
+</div>
+</div>
+<a id="a9a0fcf7e2040ab483e3807927833cb26" name="a9a0fcf7e2040ab483e3807927833cb26"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9a0fcf7e2040ab483e3807927833cb26">&#9670;&nbsp;</a></span>GetField() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get <a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to retrieve </td></tr>
+ <tr><td class="paramname">sFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="ac81f078f3c932f0da60ad1fbdd848d3e" name="ac81f078f3c932f0da60ad1fbdd848d3e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac81f078f3c932f0da60ad1fbdd848d3e">&#9670;&nbsp;</a></span>GetField() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get field data for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">sFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="ad245a26eb8b79610c9ae7bab19e05513" name="ad245a26eb8b79610c9ae7bab19e05513"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad245a26eb8b79610c9ae7bab19e05513">&#9670;&nbsp;</a></span>GetField() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldValue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iRecBufSw</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get field data for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">sFieldValue</td><td>Output field value. </td></tr>
+ <tr><td class="paramname">iRecBufSw</td><td>0 - Record buffer with any updates.<br />
+1 - Record buffer with original data. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="add27d8ef555a13b336b8c804165dc15e" name="add27d8ef555a13b336b8c804165dc15e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#add27d8ef555a13b336b8c804165dc15e">&#9670;&nbsp;</a></span>GetFieldCnt()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt32 xb::xbDbf::GetFieldCnt </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return the number of fields in the table. </p>
+<dl class="section return"><dt>Returns</dt><dd>The number of fields in the table. </dd></dl>
+
+</div>
+</div>
+<a id="a607f774fcd6dc0b9913d7a7801b60db2" name="a607f774fcd6dc0b9913d7a7801b60db2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a607f774fcd6dc0b9913d7a7801b60db2">&#9670;&nbsp;</a></span>GetFieldDecimal() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetFieldDecimal </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16 &amp;&#160;</td>
+ <td class="paramname"><em>iFieldDecimal</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get decimal for field name. </p>
+<p >This routine retreives a field's decimal length. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to retrieve </td></tr>
+ <tr><td class="paramname">iFieldDecimal</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="abcb4defad2e1b6e67f63cc60737ad840" name="abcb4defad2e1b6e67f63cc60737ad840"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abcb4defad2e1b6e67f63cc60737ad840">&#9670;&nbsp;</a></span>GetFieldDecimal() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetFieldDecimal </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16 &amp;&#160;</td>
+ <td class="paramname"><em>iFieldDecimal</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get decimal for field number. </p>
+<p >This routine retreives a field's decimal length. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve </td></tr>
+ <tr><td class="paramname">iFieldDecimal</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="acf06dbccdba1a4bcd90fa0bea6cca59b" name="acf06dbccdba1a4bcd90fa0bea6cca59b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acf06dbccdba1a4bcd90fa0bea6cca59b">&#9670;&nbsp;</a></span>GetFieldLen() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetFieldLen </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16 &amp;&#160;</td>
+ <td class="paramname"><em>iFieldLen</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get field length for field name. </p>
+<p >This function retrieves a field's length.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to retrieve </td></tr>
+ <tr><td class="paramname">iFieldLen</td><td>Output field length value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="adda4302b58cc6109b048f19d9b68bbd4" name="adda4302b58cc6109b048f19d9b68bbd4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adda4302b58cc6109b048f19d9b68bbd4">&#9670;&nbsp;</a></span>GetFieldLen() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetFieldLen </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16 &amp;&#160;</td>
+ <td class="paramname"><em>iFieldLen</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get field length for field number. </p>
+<p >This function retrieves a field's length.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Name of field to retrieve </td></tr>
+ <tr><td class="paramname">iFieldLen</td><td>Output field length value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a5e3e4368bfba1724c016b8859023e34c" name="a5e3e4368bfba1724c016b8859023e34c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5e3e4368bfba1724c016b8859023e34c">&#9670;&nbsp;</a></span>GetFieldName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetFieldName </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the name of the specified field. </p>
+<p >Returns a pointer to the name for the field specified by iFieldNo.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field. </td></tr>
+ <tr><td class="paramname">sFieldName</td><td>Output variable containing the field name. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="aad9029e63909aeb77d8473256d88bea8" name="aad9029e63909aeb77d8473256d88bea8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aad9029e63909aeb77d8473256d88bea8">&#9670;&nbsp;</a></span>GetFieldNo() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetFieldNo </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get field ID number for a given field name. </p>
+<p >Returns the field number for the named field.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Number of field or XB_INVALID_FIELD_NAME. </dd></dl>
+
+</div>
+</div>
+<a id="aed9113b5095c6df1b9c854cbd0d8047b" name="aed9113b5095c6df1b9c854cbd0d8047b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aed9113b5095c6df1b9c854cbd0d8047b">&#9670;&nbsp;</a></span>GetFieldNo() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetFieldNo </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16 &amp;&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the field number for name. </p>
+<p >Returns the field number for the named field.</p>
+<p >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.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field. </td></tr>
+ <tr><td class="paramname">iFieldNo</td><td>Output field number for the given name. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Number of field named fldName. </dd></dl>
+
+</div>
+</div>
+<a id="a181db879f1a75f93a34c03513a0b2fea" name="a181db879f1a75f93a34c03513a0b2fea"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a181db879f1a75f93a34c03513a0b2fea">&#9670;&nbsp;</a></span>GetFieldType() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetFieldType </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char &amp;&#160;</td>
+ <td class="paramname"><em>cFieldType</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get field type for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Field name. </td></tr>
+ <tr><td class="paramname">cFieldType</td><td>Output field type. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a5143973e4f165651152aa13c8fd45f84" name="a5143973e4f165651152aa13c8fd45f84"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5143973e4f165651152aa13c8fd45f84">&#9670;&nbsp;</a></span>GetFieldType() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetFieldType </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char &amp;&#160;</td>
+ <td class="paramname"><em>cFieldType</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get field type for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Field number. </td></tr>
+ <tr><td class="paramname">cFieldType</td><td>Output field type. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="af5127c92892816e9bbc5c19653c4147a" name="af5127c92892816e9bbc5c19653c4147a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af5127c92892816e9bbc5c19653c4147a">&#9670;&nbsp;</a></span>GetFileDirPart() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileDirPart </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sCompleteFileNameIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileDirPartOut</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the directory part of the file name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sCompleteFileNameIn</td><td>- a fully qualfied input file name </td></tr>
+ <tr><td class="paramname">sFileDirPartOut</td><td>- the returned directory name part out of sCompleteFileNameIn </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a60c53998e3d1b694134b20a87bc9bf5a" name="a60c53998e3d1b694134b20a87bc9bf5a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a60c53998e3d1b694134b20a87bc9bf5a">&#9670;&nbsp;</a></span>GetFileDirPart() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileDirPart </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileDirPartOut</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the directory part of the file name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileDirPartOut</td><td>- the returned directory name </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ab289b6ffe955321160c1f90220c22e25" name="ab289b6ffe955321160c1f90220c22e25"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab289b6ffe955321160c1f90220c22e25">&#9670;&nbsp;</a></span>GetFileExtPart() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileExtPart </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sCompleteFileNameIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileExtPartOut</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the extension part of the file name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sCompleteFileNameIn</td><td>- a fully qualfied input file name</td></tr>
+ <tr><td class="paramname">sFileExtPartOut</td><td>- the returned directory name part out of sCompleteFileNameIn </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a57a9222e5cbb51019d4eeb2c3ac89fa2" name="a57a9222e5cbb51019d4eeb2c3ac89fa2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a57a9222e5cbb51019d4eeb2c3ac89fa2">&#9670;&nbsp;</a></span>GetFileExtPart() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileExtPart </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileNameExtOut</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the extension part of the file name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileNameExtOut</td><td>- the returned extension part out of sCompleteFileNameIn </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a02df78f4c90313243f508fc56b95aba8" name="a02df78f4c90313243f508fc56b95aba8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a02df78f4c90313243f508fc56b95aba8">&#9670;&nbsp;</a></span>GetFileMtime()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileMtime </td>
+ <td>(</td>
+ <td class="paramtype">time_t &amp;&#160;</td>
+ <td class="paramname"><em>mtime</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the time of last file modification timestamp as reported by the OS. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">mtime</td><td>- returned time of last file modification </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ac95cb882ccbcdedc9a233c6ad9fed07a" name="ac95cb882ccbcdedc9a233c6ad9fed07a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac95cb882ccbcdedc9a233c6ad9fed07a">&#9670;&nbsp;</a></span>GetFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbFile::GetFileName </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the file name. </p>
+<dl class="section return"><dt>Returns</dt><dd>the file name portion of the file </dd></dl>
+
+</div>
+</div>
+<a id="a6110763c5ae996b72c7a62c15bdecc73" name="a6110763c5ae996b72c7a62c15bdecc73"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6110763c5ae996b72c7a62c15bdecc73">&#9670;&nbsp;</a></span>GetFileNamePart() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileNamePart </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sCompleteFileNameIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileNamePartOut</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the name part of the file name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sCompleteFileNameIn</td><td>- a fully qualified input file name </td></tr>
+ <tr><td class="paramname">sFileNamePartOut</td><td>- the returned file name part out of sCompleteFileNameIn </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a81422b3dd52763d2cc6c77237ec9af0a" name="a81422b3dd52763d2cc6c77237ec9af0a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a81422b3dd52763d2cc6c77237ec9af0a">&#9670;&nbsp;</a></span>GetFileNamePart() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileNamePart </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileNamePartOut</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the name part of the file name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileNamePartOut</td><td>- the returned file name part out of sCompleteFileNameIn </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a50b63c39e49d44e52078038027b24cc5" name="a50b63c39e49d44e52078038027b24cc5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a50b63c39e49d44e52078038027b24cc5">&#9670;&nbsp;</a></span>GetFileSize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileSize </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt64 &amp;&#160;</td>
+ <td class="paramname"><em>ullFileSize</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the size of the file as reported by the OS. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ullFileSize</td><td>- unsigned long long field as output </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a5548236d38d43b89ae29b9a015b1f678" name="a5548236d38d43b89ae29b9a015b1f678"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5548236d38d43b89ae29b9a015b1f678">&#9670;&nbsp;</a></span>GetFileType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileType </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileTypeOut</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the file type aka Capitalized file extension. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileTypeOut</td><td>- the returned extension part out of sCompleteFileNameIn </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a6fc5b8a3e2f177d5ceaf9d975cbb5226" name="a6fc5b8a3e2f177d5ceaf9d975cbb5226"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6fc5b8a3e2f177d5ceaf9d975cbb5226">&#9670;&nbsp;</a></span>GetFirstRecord() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetFirstRecord </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the first record. </p>
+<p >Get the first not deleted record. This routines skips over any deleted records. </p><dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="acb78991e8435edd36318c653cb977c1a" name="acb78991e8435edd36318c653cb977c1a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acb78991e8435edd36318c653cb977c1a">&#9670;&nbsp;</a></span>GetFirstRecord() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetFirstRecord </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the first record. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOption</td><td>XB_ALL_RECS - Get the first record, deleted or not.<br />
+ XB_ACTIVE_RECS - Get the first active record.<br />
+ XB_DELETED_RECS - Get the first deleted record.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a81ef2f36f921d7ece066a592eb6393eb" name="a81ef2f36f921d7ece066a592eb6393eb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a81ef2f36f921d7ece066a592eb6393eb">&#9670;&nbsp;</a></span>GetFloatField() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetFloatField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a> &amp;&#160;</td>
+ <td class="paramname"><em>fFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get xbFloat field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">fFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a3443f646038ced14425f067a59c0f2da" name="a3443f646038ced14425f067a59c0f2da"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3443f646038ced14425f067a59c0f2da">&#9670;&nbsp;</a></span>GetFloatField() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetFloatField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a> &amp;&#160;</td>
+ <td class="paramname"><em>fFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get xbFloat field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">fFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a31b4e641f93206ba23e2a5a27491dcd4" name="a31b4e641f93206ba23e2a5a27491dcd4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a31b4e641f93206ba23e2a5a27491dcd4">&#9670;&nbsp;</a></span>GetFqFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbFile::GetFqFileName </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the fully qualified file name. </p>
+<dl class="section return"><dt>Returns</dt><dd>the fully qualfied name of the file </dd></dl>
+
+</div>
+</div>
+<a id="ad56be2756b7a9f8318d9ba5cf215dafb" name="ad56be2756b7a9f8318d9ba5cf215dafb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad56be2756b7a9f8318d9ba5cf215dafb">&#9670;&nbsp;</a></span>GetHeaderLen()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual xbUInt16 xb::xbDbf::GetHeaderLen </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abc9c06c95d71fbad8294e1ae8862cea9" name="abc9c06c95d71fbad8294e1ae8862cea9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc9c06c95d71fbad8294e1ae8862cea9">&#9670;&nbsp;</a></span>GetHomeDir()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::GetHomeDir </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sHomeDirOut</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get home directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sHomeDirOut</td><td>- Output home directory for current user. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a49e667f9c8ee55c36444702663fc5964" name="a49e667f9c8ee55c36444702663fc5964"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a49e667f9c8ee55c36444702663fc5964">&#9670;&nbsp;</a></span>GetLastRecord() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetLastRecord </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the last record. </p>
+<p >Get the last not deleted record. This routines skips over any deleted records. </p><dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a8ccfa2291417412b6894940d1b92f9a6" name="a8ccfa2291417412b6894940d1b92f9a6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8ccfa2291417412b6894940d1b92f9a6">&#9670;&nbsp;</a></span>GetLastRecord() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetLastRecord </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the last record. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOption</td><td>XB_ALL_RECS - Get the last record, deleted or not.<br />
+ XB_ACTIVE_RECS - Get the last active record.<br />
+ XB_DELETED_RECS - Get the last deleted record.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a4822315bded3969b59aeeb683c373051" name="a4822315bded3969b59aeeb683c373051"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4822315bded3969b59aeeb683c373051">&#9670;&nbsp;</a></span>GetLogDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetLogDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afaef09435be73b3111f5edbd7091d861" name="afaef09435be73b3111f5edbd7091d861"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afaef09435be73b3111f5edbd7091d861">&#9670;&nbsp;</a></span>GetLogFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetLogFileName </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a943cea7fde1b06c1a05184193eff8d2d" name="a943cea7fde1b06c1a05184193eff8d2d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a943cea7fde1b06c1a05184193eff8d2d">&#9670;&nbsp;</a></span>GetLogicalField() <span class="overload">[1/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetLogicalField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;&#160;</td>
+ <td class="paramname"><em>bFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get logical field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to retrieve. </td></tr>
+ <tr><td class="paramname">bFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a9cd6819bfd932ff8507e54d9cb9a624e" name="a9cd6819bfd932ff8507e54d9cb9a624e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9cd6819bfd932ff8507e54d9cb9a624e">&#9670;&nbsp;</a></span>GetLogicalField() <span class="overload">[2/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetLogicalField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get logical field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to retrieve. </td></tr>
+ <tr><td class="paramname">sFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="aaf615ddcf08f8cd14efc713c2a8d7ae1" name="aaf615ddcf08f8cd14efc713c2a8d7ae1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaf615ddcf08f8cd14efc713c2a8d7ae1">&#9670;&nbsp;</a></span>GetLogicalField() <span class="overload">[3/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetLogicalField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;&#160;</td>
+ <td class="paramname"><em>bFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get logical field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">bFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="ab28feef20c988b0a6f1c1911a45377b0" name="ab28feef20c988b0a6f1c1911a45377b0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab28feef20c988b0a6f1c1911a45377b0">&#9670;&nbsp;</a></span>GetLogicalField() <span class="overload">[4/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetLogicalField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;&#160;</td>
+ <td class="paramname"><em>bFieldValue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iRecBufSw</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get logical field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">bFieldValue</td><td>Output field value. </td></tr>
+ <tr><td class="paramname">iRecBufSw</td><td>0 - Record buffer with any updates.<br />
+1 - Record buffer with original data. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a3254f091fc4a1404abed3dd2bcdd6ce6" name="a3254f091fc4a1404abed3dd2bcdd6ce6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3254f091fc4a1404abed3dd2bcdd6ce6">&#9670;&nbsp;</a></span>GetLogicalField() <span class="overload">[5/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetLogicalField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get logical field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">sFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a7b8ef75b17941beac17e50e969b2d3db" name="a7b8ef75b17941beac17e50e969b2d3db"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7b8ef75b17941beac17e50e969b2d3db">&#9670;&nbsp;</a></span>GetLongField() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetLongField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt32 &amp;&#160;</td>
+ <td class="paramname"><em>lFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get long field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">lFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="abe525c0820640e0a9e169d0b7913cfa1" name="abe525c0820640e0a9e169d0b7913cfa1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abe525c0820640e0a9e169d0b7913cfa1">&#9670;&nbsp;</a></span>GetLongField() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetLongField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt32 &amp;&#160;</td>
+ <td class="paramname"><em>lFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get long field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">lFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="abd58031c5f1c3766c24d47a82e6fd9c5" name="abd58031c5f1c3766c24d47a82e6fd9c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd58031c5f1c3766c24d47a82e6fd9c5">&#9670;&nbsp;</a></span>GetMultiUser()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::GetMultiUser </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the multi user setting. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Multi user mode turned on.<br />
+ xbFalse - Multi user mode turned off.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="ab896fe3b734f556de578d30f92b18fe2" name="ab896fe3b734f556de578d30f92b18fe2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab896fe3b734f556de578d30f92b18fe2">&#9670;&nbsp;</a></span>GetNextRecord() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetNextRecord </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the next record. </p>
+<p >Get the next not deleted record. This routines skips over any deleted records. </p><dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a3191428a7a92d9107d8d42448884f2ac" name="a3191428a7a92d9107d8d42448884f2ac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3191428a7a92d9107d8d42448884f2ac">&#9670;&nbsp;</a></span>GetNextRecord() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetNextRecord </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the next record. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOption</td><td>XB_ALL_RECS - Get the next record, deleted or not.<br />
+ XB_ACTIVE_RECS - Get the next active record.<br />
+ XB_DELETED_RECS - Get the next deleted record.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a18fdcb4ab15b36cd47fa6f6f7a540d1a" name="a18fdcb4ab15b36cd47fa6f6f7a540d1a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a18fdcb4ab15b36cd47fa6f6f7a540d1a">&#9670;&nbsp;</a></span>GetNextRecord() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetNextRecord </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulStartRec</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the next record. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOption</td><td>XB_ALL_RECS - Get the next record, deleted or not.<br />
+ XB_ACTIVE_RECS - Get the next active record.<br />
+ XB_DELETED_RECS - Get the next deleted record.<br />
+ </td></tr>
+ <tr><td class="paramname">ulStartRec</td><td>Get next record, starting from ulStartRec. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a909788123ce0694b65dfcf036380d918" name="a909788123ce0694b65dfcf036380d918"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a909788123ce0694b65dfcf036380d918">&#9670;&nbsp;</a></span>GetNullSts() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetNullSts </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;&#160;</td>
+ <td class="paramname"><em>bIsNull</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get field null status. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldName</td><td>Field Name of field to retrieve. </td></tr>
+ <tr><td class="paramname">bIsNull</td><td>Output field value. If field is all spaces on record buffer, returns true. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="ae9a3f726ce5229ed021bfce0515050fc" name="ae9a3f726ce5229ed021bfce0515050fc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae9a3f726ce5229ed021bfce0515050fc">&#9670;&nbsp;</a></span>GetNullSts() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetNullSts </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;&#160;</td>
+ <td class="paramname"><em>bIsNull</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get field null status. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">bIsNull</td><td>Output field value. If field is all spaces on record buffer, returns true. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a7930fe8b930c6d646b7b0d3df576fe9e" name="a7930fe8b930c6d646b7b0d3df576fe9e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7930fe8b930c6d646b7b0d3df576fe9e">&#9670;&nbsp;</a></span>GetNullSts() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetNullSts </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;&#160;</td>
+ <td class="paramname"><em>bIsNull</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iRecBufSw</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get field null status. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">bIsNull</td><td>Output field value. If field is all spaces on record buffer, returns true. </td></tr>
+ <tr><td class="paramname">iRecBufSw</td><td>0 - Record buffer with any updates.<br />
+1 - Record buffer with original data. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a3c500dc9dac22c49496e4b29386b2dd3" name="a3c500dc9dac22c49496e4b29386b2dd3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c500dc9dac22c49496e4b29386b2dd3">&#9670;&nbsp;</a></span>GetOpenMode()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetOpenMode </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the open mode of the file. </p>
+<dl class="section return"><dt>Returns</dt><dd>XB_READ<br />
+ XB_READ_WRITE<br />
+ XB_WRITE<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a63cee13b473ee13970e93b11837b9e35" name="a63cee13b473ee13970e93b11837b9e35"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63cee13b473ee13970e93b11837b9e35">&#9670;&nbsp;</a></span>GetPathSeparator()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbSsv::GetPathSeparator </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the OS dependent path separator. </p>
+<dl class="section return"><dt>Returns</dt><dd>Returns '\' for windows environment, otherwise returns '/'. </dd></dl>
+
+</div>
+</div>
+<a id="ab3d248e5221b4f0809897cd43af17a1e" name="ab3d248e5221b4f0809897cd43af17a1e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab3d248e5221b4f0809897cd43af17a1e">&#9670;&nbsp;</a></span>GetPrevRecord() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetPrevRecord </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the previous record. </p>
+<p >Get the previous not deleted record. This routine skips over any deleted records. </p><dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a7eadc7b08d73003802b90584f7b33387" name="a7eadc7b08d73003802b90584f7b33387"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7eadc7b08d73003802b90584f7b33387">&#9670;&nbsp;</a></span>GetPrevRecord() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetPrevRecord </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the previous record. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOption</td><td>XB_ALL_RECS - Get the previous record, deleted or not.<br />
+ XB_ACTIVE_RECS - Get the previous active record.<br />
+ XB_DELETED_RECS - Get the previous deleted record.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="aabd146c0e1054ab905ec96aedd84b02e" name="aabd146c0e1054ab905ec96aedd84b02e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aabd146c0e1054ab905ec96aedd84b02e">&#9670;&nbsp;</a></span>GetRawField()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetRawField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>cBuf</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulBufSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iRecBufSw</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get raw field data for field number. </p>
+<p >This is a protected method, used by other methods. This method would be subject to buffer overflows if made public.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">cBuf</td><td>Pointer to buffer area provided by calling application program. </td></tr>
+ <tr><td class="paramname">ulBufSize</td><td>Size of data to copy </td></tr>
+ <tr><td class="paramname">iRecBufSw</td><td>0 - Record buffer with any updates.<br />
+1 - Record buffer with original data. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a26fba086b07caeab95066bf1c8d25161" name="a26fba086b07caeab95066bf1c8d25161"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a26fba086b07caeab95066bf1c8d25161">&#9670;&nbsp;</a></span>GetRecord()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetRecord </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulRecNo</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get record for specified record number. </p>
+<p >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 ulRecNo.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulRecNo</td><td>- Record number to retrieve. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="aa3e38c4057d726a28a27d07a1610d124" name="aa3e38c4057d726a28a27d07a1610d124"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3e38c4057d726a28a27d07a1610d124">&#9670;&nbsp;</a></span>GetRecordBuf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char * xb::xbDbf::GetRecordBuf </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOpt</em> = <code>0</code></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get pointer to record buffer. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOpt</td><td>0 for RecBuf (current) or 1 for RecBuf2 (original contents)</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to record buffer. </dd></dl>
+
+</div>
+</div>
+<a id="ac196ad55335e1f4789d698748434dc89" name="ac196ad55335e1f4789d698748434dc89"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac196ad55335e1f4789d698748434dc89">&#9670;&nbsp;</a></span>GetRecordCnt()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetRecordCnt </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32 &amp;&#160;</td>
+ <td class="paramname"><em>ulRecCnt</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the current number of records in the dbf data file. </p>
+<dl class="section return"><dt>Returns</dt><dd>Record count or <a href="xbretcod_8h.html">Return Codes</a></dd></dl>
+<p>Get the current number of records in the dbf data file.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulRecCnt</td><td>Output number of records in file. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ab50d76c6e29e81e347a6feb04c2f62bb" name="ab50d76c6e29e81e347a6feb04c2f62bb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab50d76c6e29e81e347a6feb04c2f62bb">&#9670;&nbsp;</a></span>GetRecordLen()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt16 xb::xbDbf::GetRecordLen </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the dbf record length. </p>
+<dl class="section return"><dt>Returns</dt><dd>Record length. </dd></dl>
+
+</div>
+</div>
+<a id="a9b63e05b77f477ff6109ff7b9432c1b6" name="a9b63e05b77f477ff6109ff7b9432c1b6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9b63e05b77f477ff6109ff7b9432c1b6">&#9670;&nbsp;</a></span>GetShareMode()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetShareMode </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the share mode of the file. </p>
+<dl class="section return"><dt>Returns</dt><dd>XB_SINGLE_USER - (file buffering on&gt;<br />
+ XB_MULTI_USER - (file buffering off)<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a27758a325c097f204247908b65ba7fbd" name="a27758a325c097f204247908b65ba7fbd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a27758a325c097f204247908b65ba7fbd">&#9670;&nbsp;</a></span>GetTblAlias()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbDbf::GetTblAlias </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the table alias. </p>
+<p >This routine returns the table alias. </p><dl class="section return"><dt>Returns</dt><dd>Table alias </dd></dl>
+
+</div>
+</div>
+<a id="abfaeef85935331073d213465bb362a61" name="abfaeef85935331073d213465bb362a61"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abfaeef85935331073d213465bb362a61">&#9670;&nbsp;</a></span>GetTempDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetTempDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the current temp directory. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the current data directory where the database files are stored. </dd></dl>
+
+</div>
+</div>
+<a id="a039eb02418ec4ca862adbc0f95b9cbec" name="a039eb02418ec4ca862adbc0f95b9cbec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a039eb02418ec4ca862adbc0f95b9cbec">&#9670;&nbsp;</a></span>GetULongField() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetULongField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32 &amp;&#160;</td>
+ <td class="paramname"><em>ulFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get unsigned long field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">ulFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a67e3a050f9090edf69eee75aef7f5d83" name="a67e3a050f9090edf69eee75aef7f5d83"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a67e3a050f9090edf69eee75aef7f5d83">&#9670;&nbsp;</a></span>GetULongField() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::GetULongField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32 &amp;&#160;</td>
+ <td class="paramname"><em>ulFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get unsigned long field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to retrieve. </td></tr>
+ <tr><td class="paramname">ulFieldValue</td><td>Output field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a49212a9eb17f7fa9f303e08d5fc50fc6" name="a49212a9eb17f7fa9f303e08d5fc50fc6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a49212a9eb17f7fa9f303e08d5fc50fc6">&#9670;&nbsp;</a></span>GetVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual xbInt16 xb::xbDbf::GetVersion </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7af337808919680b90710ad5e8a99232" name="a7af337808919680b90710ad5e8a99232"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7af337808919680b90710ad5e8a99232">&#9670;&nbsp;</a></span>GetXbaseFileTypeByte() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetXbaseFileTypeByte </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned char &amp;&#160;</td>
+ <td class="paramname"><em>cFileTypeByte</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the file type byte and version of the dbf file. </p>
+<p >Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- Name of file to examine </td></tr>
+ <tr><td class="paramname">cFileTypeByte</td><td>- Retruned first byte of dbf file </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a78aebdd21d3de46a450d5f835e3027f6" name="a78aebdd21d3de46a450d5f835e3027f6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78aebdd21d3de46a450d5f835e3027f6">&#9670;&nbsp;</a></span>GetXbaseFileTypeByte() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetXbaseFileTypeByte </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned char &amp;&#160;</td>
+ <td class="paramname"><em>cFileTypeByte</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16 &amp;&#160;</td>
+ <td class="paramname"><em>iVersion</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the file type byte and version of the dbf file. </p>
+<p >Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- Name of file to examine </td></tr>
+ <tr><td class="paramname">cFileTypeByte</td><td>- Returned first byte of dbf file </td></tr>
+ <tr><td class="paramname">iVersion</td><td>- Returned file version </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="aaf2e697751a0beff41432a66bb83fb5e" name="aaf2e697751a0beff41432a66bb83fb5e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaf2e697751a0beff41432a66bb83fb5e">&#9670;&nbsp;</a></span>GetXbaseFileTypeByte() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetXbaseFileTypeByte </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16 &amp;&#160;</td>
+ <td class="paramname"><em>iVersion</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the file type byte and version of the dbf file. </p>
+<p >Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- Name of file to examine </td></tr>
+ <tr><td class="paramname">iVersion</td><td>- Returned file version </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ab21ec23c076b0c9affdc0f6672bd133f" name="ab21ec23c076b0c9affdc0f6672bd133f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab21ec23c076b0c9affdc0f6672bd133f">&#9670;&nbsp;</a></span>GetXbasePtr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> * xb::xbDbf::GetXbasePtr </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the pointer to the xbXbase structure,. </p>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to xbXbase structure. </dd></dl>
+
+</div>
+</div>
+<a id="ad06fe0f7975fb81125d27d82504e6829" name="ad06fe0f7975fb81125d27d82504e6829"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad06fe0f7975fb81125d27d82504e6829">&#9670;&nbsp;</a></span>InitVars()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbDbf::InitVars </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a013dc8c51fc1aa988de39cf3da6da950" name="a013dc8c51fc1aa988de39cf3da6da950"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a013dc8c51fc1aa988de39cf3da6da950">&#9670;&nbsp;</a></span>MemoFieldsExist()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbDbf::MemoFieldsExist </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Check for existence of any memo fields. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Memo fields exist.<br />
+xbFalse - Memo fields don't exist. </dd></dl>
+
+</div>
+</div>
+<a id="a361e3cc318bbf1c4d10f069e0800a24e" name="a361e3cc318bbf1c4d10f069e0800a24e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a361e3cc318bbf1c4d10f069e0800a24e">&#9670;&nbsp;</a></span>NameSuffixMissing()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::NameSuffixMissing </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Determines status of file extension. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- Name of file to examine </td></tr>
+ <tr><td class="paramname">iOption</td><td>- Inspection type<br />
+ 1 check for DBF<br />
+ 2 check for NDX<br />
+ 3 check for MDX<br />
+ 4 check for NTX<br />
+</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 if suffix found<br />
+ 1 if suffix not found, lower case<br />
+ 2 is suffix not found, upper case<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a69824d7bafc3f5a15bf7d09f2f511768" name="a69824d7bafc3f5a15bf7d09f2f511768"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a69824d7bafc3f5a15bf7d09f2f511768">&#9670;&nbsp;</a></span>Open() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::Open </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTableName</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Open a table/dbf file. </p>
+<p >This routine sets the alias name to the same as the table name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sTableName</td><td>Table name to open, Include the .dbf or .DBF extension. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ae388c5e02adc86e6e9988e697e061610" name="ae388c5e02adc86e6e9988e697e061610"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae388c5e02adc86e6e9988e697e061610">&#9670;&nbsp;</a></span>Open() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::Open </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTableName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sAlias</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Open a table/dbf file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sTableName</td><td>Table name to open, Include the .dbf or .DBF extension. </td></tr>
+ <tr><td class="paramname">sAlias</td><td>Alias name to assign to this entry. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a4d018cbf44d8d8b2145c9acab02c8adf" name="a4d018cbf44d8d8b2145c9acab02c8adf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4d018cbf44d8d8b2145c9acab02c8adf">&#9670;&nbsp;</a></span>Open() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual xbInt16 xb::xbDbf::Open </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTableName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sAlias</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOpenMode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iShareMode</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8a52bf3ef2123c0d17e6b1f67bf0dc55" name="a8a52bf3ef2123c0d17e6b1f67bf0dc55"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8a52bf3ef2123c0d17e6b1f67bf0dc55">&#9670;&nbsp;</a></span>Pack() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::Pack </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Pack dbf file. </p>
+<p >This routine eliminates all deleted records from the file. </p><dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a93bb14ad0451355bfa3379128120988a" name="a93bb14ad0451355bfa3379128120988a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a93bb14ad0451355bfa3379128120988a">&#9670;&nbsp;</a></span>Pack() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::Pack </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32 &amp;&#160;</td>
+ <td class="paramname"><em>ulDeletedRecCnt</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Pack dbf file. </p>
+<p >This routine eliminates all deleted records from the file and clears out any unused blocks in the memo file if one exists. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulDeletedRecCnt</td><td>- Output - number of recrods removed from the file. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a571b36b3a940b1a16d5e834f329b33b9" name="a571b36b3a940b1a16d5e834f329b33b9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a571b36b3a940b1a16d5e834f329b33b9">&#9670;&nbsp;</a></span>PutDateField() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutDateField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;&#160;</td>
+ <td class="paramname"><em>dtFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put date field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to update. </td></tr>
+ <tr><td class="paramname">dtFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a873f04af528a9d81e6a367a59d998ec5" name="a873f04af528a9d81e6a367a59d998ec5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a873f04af528a9d81e6a367a59d998ec5">&#9670;&nbsp;</a></span>PutDateField() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutDateField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbDate.html">xbDate</a> &amp;&#160;</td>
+ <td class="paramname"><em>dtFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put date field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to update. </td></tr>
+ <tr><td class="paramname">dtFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="ae695bbc71c19abc71c0c5f2ff2e1f971" name="ae695bbc71c19abc71c0c5f2ff2e1f971"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae695bbc71c19abc71c0c5f2ff2e1f971">&#9670;&nbsp;</a></span>PutDoubleField() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutDoubleField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a>&#160;</td>
+ <td class="paramname"><em>dFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put double field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to update. </td></tr>
+ <tr><td class="paramname">dFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a4f34842d7e8ff1f16992c2ece2fc38a5" name="a4f34842d7e8ff1f16992c2ece2fc38a5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4f34842d7e8ff1f16992c2ece2fc38a5">&#9670;&nbsp;</a></span>PutDoubleField() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutDoubleField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a>&#160;</td>
+ <td class="paramname"><em>dFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put double field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to update. </td></tr>
+ <tr><td class="paramname">dFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a7862215dd2f83a1c488e539cd1f9aec0" name="a7862215dd2f83a1c488e539cd1f9aec0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7862215dd2f83a1c488e539cd1f9aec0">&#9670;&nbsp;</a></span>PutField() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to update. </td></tr>
+ <tr><td class="paramname">sFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a142b0c0dc904917f3c68c5572c1237b5" name="a142b0c0dc904917f3c68c5572c1237b5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a142b0c0dc904917f3c68c5572c1237b5">&#9670;&nbsp;</a></span>PutField() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to update. </td></tr>
+ <tr><td class="paramname">sFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a4ea3241bc710d57e5f755efda62288ad" name="a4ea3241bc710d57e5f755efda62288ad"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4ea3241bc710d57e5f755efda62288ad">&#9670;&nbsp;</a></span>PutFloatField() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutFloatField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a>&#160;</td>
+ <td class="paramname"><em>fFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put float field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to update. </td></tr>
+ <tr><td class="paramname">fFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a64161eb50d72e424b11bf3732657ebd8" name="a64161eb50d72e424b11bf3732657ebd8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a64161eb50d72e424b11bf3732657ebd8">&#9670;&nbsp;</a></span>PutFloatField() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutFloatField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a>&#160;</td>
+ <td class="paramname"><em>fFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put float field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to update. </td></tr>
+ <tr><td class="paramname">fFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a507e400ca6526a9e0391cf06dd6a014e" name="a507e400ca6526a9e0391cf06dd6a014e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a507e400ca6526a9e0391cf06dd6a014e">&#9670;&nbsp;</a></span>PutLogicalField() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutLogicalField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put logical field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to update. </td></tr>
+ <tr><td class="paramname">sFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a623ca3ef5520c42308c1a16b518e7ff3" name="a623ca3ef5520c42308c1a16b518e7ff3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a623ca3ef5520c42308c1a16b518e7ff3">&#9670;&nbsp;</a></span>PutLogicalField() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutLogicalField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put logical field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to update. </td></tr>
+ <tr><td class="paramname">bFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="ab39ac4269ac63bc7ea4f638733bb17f0" name="ab39ac4269ac63bc7ea4f638733bb17f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab39ac4269ac63bc7ea4f638733bb17f0">&#9670;&nbsp;</a></span>PutLogicalField() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutLogicalField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put logical field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to update. </td></tr>
+ <tr><td class="paramname">sFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a423a0cb7bd252cedf956ace4954f275d" name="a423a0cb7bd252cedf956ace4954f275d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a423a0cb7bd252cedf956ace4954f275d">&#9670;&nbsp;</a></span>PutLogicalField() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutLogicalField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put logical field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to update. </td></tr>
+ <tr><td class="paramname">bFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a0692d1776a725c2f61d4c14677e9307c" name="a0692d1776a725c2f61d4c14677e9307c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0692d1776a725c2f61d4c14677e9307c">&#9670;&nbsp;</a></span>PutLongField() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutLongField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>lFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put long field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to update. </td></tr>
+ <tr><td class="paramname">lFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a56c8f924284bf88aabf90b7930b4eb47" name="a56c8f924284bf88aabf90b7930b4eb47"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a56c8f924284bf88aabf90b7930b4eb47">&#9670;&nbsp;</a></span>PutLongField() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutLongField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>lFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put long field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to update. </td></tr>
+ <tr><td class="paramname">lFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="a3c36a5ffbc7067a1abbcb526dd3b981d" name="a3c36a5ffbc7067a1abbcb526dd3b981d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c36a5ffbc7067a1abbcb526dd3b981d">&#9670;&nbsp;</a></span>PutRecord() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutRecord </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Write the current record to disk. </p>
+<p >This routine is used to write any updates to the current record buffer to disk.</p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="aacbc7bac3ea0c502ee75b838f4f0fcbf" name="aacbc7bac3ea0c502ee75b838f4f0fcbf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aacbc7bac3ea0c502ee75b838f4f0fcbf">&#9670;&nbsp;</a></span>PutRecord() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutRecord </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulRecNo</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Write record to disk. </p>
+<p >This routine is used to write a copy of the current record buffer to disk for a given record number.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulRecNo</td><td>Record number to update. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ac62cb97c4e678c83f41788b1ae4d0381" name="ac62cb97c4e678c83f41788b1ae4d0381"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac62cb97c4e678c83f41788b1ae4d0381">&#9670;&nbsp;</a></span>PutULongField() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutULongField </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFieldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put unsigned long field for field name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFieldName</td><td>Name of field to update. </td></tr>
+ <tr><td class="paramname">ulFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="af5dec5c9ff903efffdb0490a44d296d2" name="af5dec5c9ff903efffdb0490a44d296d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af5dec5c9ff903efffdb0490a44d296d2">&#9670;&nbsp;</a></span>PutULongField() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::PutULongField </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iFieldNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulFieldValue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Put unsigned long field for field number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iFieldNo</td><td>Number of field to update. </td></tr>
+ <tr><td class="paramname">ulFieldValue</td><td>Field value. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The field routines return one of:<br />
+ XB_NO_ERROR<br />
+XB_INVALID_DATA<br />
+XB_INVALID_FIELD_NO<br />
+XB_INVALID_FIELD_NAME<br />
+ XB_INVALID_FIELD_TYPE<br />
+XB_INVALID_DATA </dd></dl>
+
+</div>
+</div>
+<a id="aa1bb80340abc7a5c22f87f878e9dc825" name="aa1bb80340abc7a5c22f87f878e9dc825"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa1bb80340abc7a5c22f87f878e9dc825">&#9670;&nbsp;</a></span>ReadBlock() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::ReadBlock </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulBlockNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>lReadSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>buf</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Read a block of data from file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulBlockNo</td><td>- block number to read </td></tr>
+ <tr><td class="paramname">lReadSize</td><td>- size of data to read at block location, set to 0 to read blocksize </td></tr>
+ <tr><td class="paramname">*buf</td><td>- pointer to buffer to write output data, assumed to be previosuly allocated and large enough to contain data </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="aef696b1c4c0ef5338e818599f695d485" name="aef696b1c4c0ef5338e818599f695d485"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aef696b1c4c0ef5338e818599f695d485">&#9670;&nbsp;</a></span>ReadBlock() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::ReadBlock </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulBlockNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulBlockSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>lReadSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>buf</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Read a block of data from file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulBlockNo</td><td>- block number to read </td></tr>
+ <tr><td class="paramname">ulBlockSize</td><td>- block size </td></tr>
+ <tr><td class="paramname">lReadSize</td><td>- size of data to read at block location, set to 0 to read blocksize </td></tr>
+ <tr><td class="paramname">buf</td><td>- pointer to buffer to write output data, assumed to be previosuly allocated and large enough to contain data </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a060541addb5bb1f0fe12959ed6f66fb9" name="a060541addb5bb1f0fe12959ed6f66fb9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a060541addb5bb1f0fe12959ed6f66fb9">&#9670;&nbsp;</a></span>ReadHeader()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::ReadHeader </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iPositionOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iReadOption</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Read dbf file header information. </p>
+<p >This method assumes the header has been locked appropriately in a multi user environment</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iPositionOption</td><td>0 - Don't fseek to beginning of file before read.<br />
+ 1 - Start from beginning of file.</td></tr>
+ <tr><td class="paramname">iReadOption</td><td>0 - Read entire 32 byte header<br />
+ 1 - Read first eight bytes which includes the last update date and number of records.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a94d7d626ba691fd4b740c034673e6fc6" name="a94d7d626ba691fd4b740c034673e6fc6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a94d7d626ba691fd4b740c034673e6fc6">&#9670;&nbsp;</a></span>RecordDeleted()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::RecordDeleted </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOpt</em> = <code>0</code></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return record deletion status. </p>
+<p >This routine returns the record deletion status. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOpt</td><td>0 = Current record buffer, 1 = Original record buffer </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Record deleted.<br />
+xbFalse - Record not deleted. </dd></dl>
+
+</div>
+</div>
+<a id="aeeeb2eb5fabcd0f91d457df07b0e0708" name="aeeeb2eb5fabcd0f91d457df07b0e0708"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeeeb2eb5fabcd0f91d457df07b0e0708">&#9670;&nbsp;</a></span>Rename()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual xbInt16 xb::xbDbf::Rename </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a>&#160;</td>
+ <td class="paramname"><em>sNewName</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4cf7f0d423164f3cf074ae41f96f4e90" name="a4cf7f0d423164f3cf074ae41f96f4e90"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4cf7f0d423164f3cf074ae41f96f4e90">&#9670;&nbsp;</a></span>SetAutoCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::SetAutoCommit </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iAutoCommit</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set auto commit. </p>
+<p >This routine sets the auto commit setting for this table. </p><dl class="section return"><dt>Returns</dt><dd>XB_NO_ERROR; </dd></dl>
+
+</div>
+</div>
+<a id="a991c5676a6f38fa752435390989f413e" name="a991c5676a6f38fa752435390989f413e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a991c5676a6f38fa752435390989f413e">&#9670;&nbsp;</a></span>SetBlockSize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::SetBlockSize </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulBlockSize</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the block size. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulBlockSize</td><td>- unsigned long block size, divisible by 512 </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a57caaaadfbd089d9a58ecfcb50c88a6c" name="a57caaaadfbd089d9a58ecfcb50c88a6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a57caaaadfbd089d9a58ecfcb50c88a6c">&#9670;&nbsp;</a></span>SetDataDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDataDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDataDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the data directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDataDirectory</td><td>Set the data directory. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a25542afadaaf39b4fb5a1772a29cc0bd" name="a25542afadaaf39b4fb5a1772a29cc0bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a25542afadaaf39b4fb5a1772a29cc0bd">&#9670;&nbsp;</a></span>SetDefaultAutoCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDefaultAutoCommit </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bDefaultAutoCommit</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the default auto commit. </p>
+<p >Disabling auto commit requires the application execute explicit updates using dbf-&gt;Put() and dbf-&gt;<a class="el" href="classxb_1_1xbDbf.html#a5b412dd796241673eb1aa2c93513d69b" title="Append the current record to the data file.">AppendRecord()</a>. With auto commit on, the library posts updates automatically when moving off the current record or closing a file.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bDefaultAutoCommit</td><td>xbTrue - Enable default auto commit.<br />
+ xbFalse - Disable default auto commit.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a5f74db23f8902846d581935c7db73f9c" name="a5f74db23f8902846d581935c7db73f9c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f74db23f8902846d581935c7db73f9c">&#9670;&nbsp;</a></span>SetDefaultDateFormat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDefaultDateFormat </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDefaultDateFormat</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the default date format. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDefaultDateFormat</td><td>Set the default date format. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="ae78a85255488bc78964c16946dbaead3" name="ae78a85255488bc78964c16946dbaead3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae78a85255488bc78964c16946dbaead3">&#9670;&nbsp;</a></span>SetDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::SetDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDirectory</td><td>- Valid directory name </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a904ec348fd029d4a76e72b8fde636108" name="a904ec348fd029d4a76e72b8fde636108"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a904ec348fd029d4a76e72b8fde636108">&#9670;&nbsp;</a></span>SetEndianType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetEndianType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the endian type. </p>
+<p >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. </p>
+
+</div>
+</div>
+<a id="a5419eb27e56822f828b2b88a9502a636" name="a5419eb27e56822f828b2b88a9502a636"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5419eb27e56822f828b2b88a9502a636">&#9670;&nbsp;</a></span>SetFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::SetFileName </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the filename. </p>
+<p >This routine builds out two internal variables from the input file name<br />
+ sFileName - the file name part<br />
+ sFqFileName - the fully qualified file name<br />
+</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- Input file name </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="aee832fa11db2077a532f49e1329bd05a" name="aee832fa11db2077a532f49e1329bd05a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aee832fa11db2077a532f49e1329bd05a">&#9670;&nbsp;</a></span>SetFqFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::SetFqFileName </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFqFileName</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the fully qualifed filename. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFqFileName</td><td>- Fully qualifed input file name </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a060acbfaa8d528f86cb59301814b414a" name="a060acbfaa8d528f86cb59301814b414a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a060acbfaa8d528f86cb59301814b414a">&#9670;&nbsp;</a></span>SetHomeFolders()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::SetHomeFolders </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set Home Folders. </p>
+<p >Create xbase64 log, data and temp folders in the home directory for current usre.</p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a7b992ed97281bf25b5b66f5df686225e" name="a7b992ed97281bf25b5b66f5df686225e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7b992ed97281bf25b5b66f5df686225e">&#9670;&nbsp;</a></span>SetLogDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetLogDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sLogDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7f05738e7dfd759e89990242ef503544" name="a7f05738e7dfd759e89990242ef503544"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7f05738e7dfd759e89990242ef503544">&#9670;&nbsp;</a></span>SetLogFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetLogFileName </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sLogFileName</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aba6e59512f7172dd55dcf92059e5928c" name="aba6e59512f7172dd55dcf92059e5928c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba6e59512f7172dd55dcf92059e5928c">&#9670;&nbsp;</a></span>SetMultiUser()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetMultiUser </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bMultiUser</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the multi user setting. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bMultiUser</td><td>xbTrue - Turn on Multi user mode.<br />
+ xbFalse - Turn off Multi user mode.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a17c229a20ef9ab4034df8f9cd657adb2" name="a17c229a20ef9ab4034df8f9cd657adb2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a17c229a20ef9ab4034df8f9cd657adb2">&#9670;&nbsp;</a></span>SetTempDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetTempDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTempDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the temp directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sTempDirectory</td><td>Set the data direcroty. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a7e63e852418f337eb7c44de5dcd50323" name="a7e63e852418f337eb7c44de5dcd50323"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7e63e852418f337eb7c44de5dcd50323">&#9670;&nbsp;</a></span>SetVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual xbInt16 xb::xbDbf::SetVersion </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae94cb1bf9f75184f39d9e1a80ab49d4a" name="ae94cb1bf9f75184f39d9e1a80ab49d4a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae94cb1bf9f75184f39d9e1a80ab49d4a">&#9670;&nbsp;</a></span>UndeleteAllRecords()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::UndeleteAllRecords </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set auto lock. </p>
+<p >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's own autolock setting. This method controls the table level auto lock setting.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iAutoLock</td><td>1 - Use auto lock for this table.<br />
+ 0 - Don't use auto lock for this table.<br />
+ -1 - (minus one) Use system default.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a></dd></dl>
+<p>Set the header locked status.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bHeaderLocked</td><td>xbTrue - Locked<br />
+xbFalse - Not locked. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>void</dd></dl>
+<p>Set lock flavor.</p>
+<p >This routine is for future expansion. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iLockFlavor</td><td>1 - Use Dbase (tm) style locking. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>void</dd></dl>
+<p>Set table locked status.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bTableLocked</td><td>- xbTrue Table locked.<br />
+xbFalse Table unlocked. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>void</dd></dl>
+<p>Undelete all records.</p>
+<p >This routine will remove the deletion flag on any deleted records in the table. </p><dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a255681976a04fc722538bb630507b3a0" name="a255681976a04fc722538bb630507b3a0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a255681976a04fc722538bb630507b3a0">&#9670;&nbsp;</a></span>UndeleteRecord()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::UndeleteRecord </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Undelete one record. </p>
+<p >This routine will undelete the current record, if it is deleted. </p><dl class="section return"><dt>Returns</dt><dd>XB_NO_ERROR<br />
+XB_INVALID_RECORD </dd></dl>
+
+</div>
+</div>
+<a id="aba5dcac3b4092261bc1669740cdd669d" name="aba5dcac3b4092261bc1669740cdd669d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba5dcac3b4092261bc1669740cdd669d">&#9670;&nbsp;</a></span>ValidateSchema()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual xbInt16 xb::xbDbf::ValidateSchema </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structxb_1_1xbSchema.html">xbSchema</a> *&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5d871dcfecc2b4338f7a13722aab766c" name="a5d871dcfecc2b4338f7a13722aab766c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5d871dcfecc2b4338f7a13722aab766c">&#9670;&nbsp;</a></span>WriteBlock()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::WriteBlock </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulBlockNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>lWriteSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>buf</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Write a block of data to file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulBlockNo</td><td>- block number to write </td></tr>
+ <tr><td class="paramname">lWriteSize</td><td>- size of data to write, set to 0 to write blocksize </td></tr>
+ <tr><td class="paramname">*buf</td><td>- pointer to buffer of data to be written </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a44e1410109ef7b3d11a6af4b704b62b2" name="a44e1410109ef7b3d11a6af4b704b62b2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a44e1410109ef7b3d11a6af4b704b62b2">&#9670;&nbsp;</a></span>WriteHeader()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::WriteHeader </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iPositionOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iWriteOption</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a18830b5755d74818f60d9c7ce38ddf2d" name="a18830b5755d74818f60d9c7ce38ddf2d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a18830b5755d74818f60d9c7ce38ddf2d">&#9670;&nbsp;</a></span>xbFclose()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFclose </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fclose. </p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="af5b6356832d2a67212070a1aa605f170" name="af5b6356832d2a67212070a1aa605f170"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af5b6356832d2a67212070a1aa605f170">&#9670;&nbsp;</a></span>xbFeof()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFeof </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary feof. </p>
+<dl class="section return"><dt>Returns</dt><dd>non zero if end-of-file is set for the stream. </dd></dl>
+
+</div>
+</div>
+<a id="ad205184d43409f04216540ae22f15009" name="ad205184d43409f04216540ae22f15009"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad205184d43409f04216540ae22f15009">&#9670;&nbsp;</a></span>xbFflush()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFflush </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fflush. </p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a5ee229bda4d7d6695e122200e581e7a6" name="a5ee229bda4d7d6695e122200e581e7a6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5ee229bda4d7d6695e122200e581e7a6">&#9670;&nbsp;</a></span>xbFgetc() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFgetc </td>
+ <td>(</td>
+ <td class="paramtype">char &amp;&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fgetc. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>- output character returned by fgetc </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="afb1c584d2895ffb7834df80aea7eb1e4" name="afb1c584d2895ffb7834df80aea7eb1e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afb1c584d2895ffb7834df80aea7eb1e4">&#9670;&nbsp;</a></span>xbFgetc() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFgetc </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32 &amp;&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fgetc. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>- output integer returned by fgetc </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ad245955ace26e5dde85fd4373b30d026" name="ad245955ace26e5dde85fd4373b30d026"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad245955ace26e5dde85fd4373b30d026">&#9670;&nbsp;</a></span>xbFgets()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFgets </td>
+ <td>(</td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>lSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fgets. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lSize</td><td>- reads in at most, one character less than lSize </td></tr>
+ <tr><td class="paramname">s</td><td>- an <a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing data returned by fseek </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ab0fa19686ca8953ff4b556fb5b249135" name="ab0fa19686ca8953ff4b556fb5b249135"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab0fa19686ca8953ff4b556fb5b249135">&#9670;&nbsp;</a></span>xbFopen() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFopen </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sOpenMode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iShareMode</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fopen. </p>
+<p >This routine supports all the standard C library open modes. The Xbase routines only use "r" and "r+b".</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sOpenMode</td><td><table class="doxtable">
+<tr>
+<th>OpenMode</th><th>Description </th></tr>
+<tr>
+<td>r</td><td>Reading </td></tr>
+<tr>
+<td>r+</td><td>Reading and Writing </td></tr>
+<tr>
+<td>w</td><td>Open for writing. Truncate to zero bytes if it exists </td></tr>
+<tr>
+<td>w+</td><td>Open for reading and writing, truncate to zero bytes if it exists </td></tr>
+<tr>
+<td>a</td><td>Open for append </td></tr>
+<tr>
+<td>a+</td><td>Open for reading and writing (at end). </td></tr>
+</table>
+The mode can also include the letter "b" for binary ie; "r+b". The "b" is ignored on POSIX compliant systems, but is included for cross platform compatibility. </td></tr>
+ <tr><td class="paramname">sFileName</td><td>File name to open </td></tr>
+ <tr><td class="paramname">iShareMode</td><td>XB_SINGLE_USER<br />
+ XB_MULTI_USER<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a0548cedf0f26b7d8ac221f75b0cd048c" name="a0548cedf0f26b7d8ac221f75b0cd048c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0548cedf0f26b7d8ac221f75b0cd048c">&#9670;&nbsp;</a></span>xbFopen() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFopen </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sOpenMode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iShareMode</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fopen. </p>
+<p >This routine supports all the standard C library open modes. The Xbase routines only use "r" and "r+".</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sOpenMode</td><td><table class="doxtable">
+<tr>
+<th>OpenMode</th><th>Description </th></tr>
+<tr>
+<td>r</td><td>Reading </td></tr>
+<tr>
+<td>r+</td><td>Reading and Writing </td></tr>
+<tr>
+<td>w</td><td>Open for writing. Truncate to zero bytes if it exists </td></tr>
+<tr>
+<td>w+</td><td>Open for reading and writing, truncate to zero bytes if it exists </td></tr>
+<tr>
+<td>a</td><td>Open for append </td></tr>
+<tr>
+<td>a+</td><td>Open for reading and writing (at end). </td></tr>
+</table>
+The mode can also include the letter "b" for binary ie; "r+b". The "b" is ignored on POSIX compliant systems, but is included for cross platform compatibility. </td></tr>
+ <tr><td class="paramname">iShareMode</td><td>XB_SINGLE_USER<br />
+ XB_MULTI_USER<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a7cdfef5ede9ac98d44a28a6b7a70972c" name="a7cdfef5ede9ac98d44a28a6b7a70972c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7cdfef5ede9ac98d44a28a6b7a70972c">&#9670;&nbsp;</a></span>xbFopen() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFopen </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOpenMode</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aabd113333b49c36cad23244b392baab4" name="aabd113333b49c36cad23244b392baab4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aabd113333b49c36cad23244b392baab4">&#9670;&nbsp;</a></span>xbFopen() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFopen </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOpenMode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iShareMode</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fopen. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOpenMode</td><td>XB_READ<br />
+ XB_READ_WRITE<br />
+ </td></tr>
+ <tr><td class="paramname">iShareMode</td><td>XB_SINGLE_USER<br />
+ XB_MULTI_USER<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="af2e940c78956e5cb6824f9a1bc404896" name="af2e940c78956e5cb6824f9a1bc404896"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af2e940c78956e5cb6824f9a1bc404896">&#9670;&nbsp;</a></span>xbFputc() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFputc </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fputc. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Character to write </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a863f74cf17df8186d88586b4d2a6441a" name="a863f74cf17df8186d88586b4d2a6441a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a863f74cf17df8186d88586b4d2a6441a">&#9670;&nbsp;</a></span>xbFputc() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFputc </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>iNoOfTimes</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fputc. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Character to write </td></tr>
+ <tr><td class="paramname">iNoOfTimes</td><td>Number of times to write the character </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a698f3b40216778562e639e6ca1a47573" name="a698f3b40216778562e639e6ca1a47573"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a698f3b40216778562e639e6ca1a47573">&#9670;&nbsp;</a></span>xbFputs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFputs </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fputs. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> to write to file </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ab4f6afaa1f77539f27a4f05c26e54e2f" name="ab4f6afaa1f77539f27a4f05c26e54e2f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab4f6afaa1f77539f27a4f05c26e54e2f">&#9670;&nbsp;</a></span>xbFread()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFread </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>nmemb</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fread. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>Pointer to data to write </td></tr>
+ <tr><td class="paramname">size</td><td>size of write </td></tr>
+ <tr><td class="paramname">nmemb</td><td>Number of times to read it </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a5337ab8918df240910c0d19b4f298e3d" name="a5337ab8918df240910c0d19b4f298e3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5337ab8918df240910c0d19b4f298e3d">&#9670;&nbsp;</a></span>xbFseek()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFseek </td>
+ <td>(</td>
+ <td class="paramtype">xbInt64&#160;</td>
+ <td class="paramname"><em>lOffset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>iWhence</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fseek. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lOffset</td><td>Position in file to seek to </td></tr>
+ <tr><td class="paramname">iWhence</td><td>SEEK_SET - from beginning of file<br />
+ SEEK_CUR - from current position<br />
+ SEEK_END - from end of file<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a0e1c06aedfa7fbcb92e117f891edd13b" name="a0e1c06aedfa7fbcb92e117f891edd13b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0e1c06aedfa7fbcb92e117f891edd13b">&#9670;&nbsp;</a></span>xbFtell()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t xb::xbFile::xbFtell </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary ftell. </p>
+<p >Returns the current file position. </p><dl class="section return"><dt>Returns</dt><dd>Current file position. </dd></dl>
+
+</div>
+</div>
+<a id="a9891b792f585a696f38a5cf959e30918" name="a9891b792f585a696f38a5cf959e30918"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9891b792f585a696f38a5cf959e30918">&#9670;&nbsp;</a></span>xbFTurnOffFileBuffering()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::xbFTurnOffFileBuffering </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Turn off file buffering. </p>
+<p >Turns off file buffering. File buffering can't be used while in multi user mode. </p>
+
+</div>
+</div>
+<a id="a6aadd871d1782944703fed773d44b85f" name="a6aadd871d1782944703fed773d44b85f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6aadd871d1782944703fed773d44b85f">&#9670;&nbsp;</a></span>xbFwrite()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFwrite </td>
+ <td>(</td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>nmemb</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fwrite. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>Pointer to data buffer to write </td></tr>
+ <tr><td class="paramname">size</td><td>Size of data to write </td></tr>
+ <tr><td class="paramname">nmemb</td><td>Number of times to write data buffer </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a08463f506f425c2385acbe1a561506e9" name="a08463f506f425c2385acbe1a561506e9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a08463f506f425c2385acbe1a561506e9">&#9670;&nbsp;</a></span>xbReadUntil()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbReadUntil </td>
+ <td>(</td>
+ <td class="paramtype">const char&#160;</td>
+ <td class="paramname"><em>cDelim</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sOut</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Read file until a particular character is encountered on input stream. </p>
+<p >This routine will read until cDelim is encountered or eof, which ever occurs first.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">cDelim</td><td>Delimiter to stop writing at. </td></tr>
+ <tr><td class="paramname">sOut</td><td>Output <a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing data read </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ab3c668a8570433188382d31d7c60bd48" name="ab3c668a8570433188382d31d7c60bd48"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab3c668a8570433188382d31d7c60bd48">&#9670;&nbsp;</a></span>xbRemove() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbRemove </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Delete file. </p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a58f6a6751fdf7e9549c273bb75d93eb5" name="a58f6a6751fdf7e9549c273bb75d93eb5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a58f6a6751fdf7e9549c273bb75d93eb5">&#9670;&nbsp;</a></span>xbRemove() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbRemove </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileNameIn</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Delete file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileNameIn</td><td>Name of file to delete </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a6d919366c2ec95e529906bf8842cbf07" name="a6d919366c2ec95e529906bf8842cbf07"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d919366c2ec95e529906bf8842cbf07">&#9670;&nbsp;</a></span>xbRemove() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbRemove </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileNameIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Delete file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileNameIn</td><td>Name of file to delete </td></tr>
+ <tr><td class="paramname">iOption</td><td>If Set to 1, assume this is a delete request for a dbf file, and should rename the dbt file also </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="afc8ce113aa72611a278233f9bb170012" name="afc8ce113aa72611a278233f9bb170012"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afc8ce113aa72611a278233f9bb170012">&#9670;&nbsp;</a></span>xbRename()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbRename </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sOldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sNewName</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Rename file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sOldName</td><td>Original file name </td></tr>
+ <tr><td class="paramname">sNewName</td><td>New file name </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a7996b6e084665c37c3892faea64b3505" name="a7996b6e084665c37c3892faea64b3505"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7996b6e084665c37c3892faea64b3505">&#9670;&nbsp;</a></span>xbRewind()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::xbRewind </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for rewind. </p>
+<p >Set file pointer at beginning of file. </p>
+
+</div>
+</div>
+<a id="a518bfcbfa3699d883cf89affee383296" name="a518bfcbfa3699d883cf89affee383296"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a518bfcbfa3699d883cf89affee383296">&#9670;&nbsp;</a></span>xbTruncate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbTruncate </td>
+ <td>(</td>
+ <td class="paramtype">xbInt64&#160;</td>
+ <td class="paramname"><em>llSize</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for ftruncate. </p>
+<p >Set file size to llSize </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">llSize</td><td>New file size. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a8ed0693b10b95aaa4e46037758d160ed" name="a8ed0693b10b95aaa4e46037758d160ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8ed0693b10b95aaa4e46037758d160ed">&#9670;&nbsp;</a></span>Zap()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::Zap </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Zap (remove) everything from the file,. </p>
+<p >This routine eliminates everything from the dbf file and dbt memo file. </p><dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a8734e799707582f022fc341d515650f4" name="a8734e799707582f022fc341d515650f4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8734e799707582f022fc341d515650f4">&#9670;&nbsp;</a></span>cEncryptionFlag</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbDbf::cEncryptionFlag</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad59074633641e03647e54d2b66c9102b" name="ad59074633641e03647e54d2b66c9102b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad59074633641e03647e54d2b66c9102b">&#9670;&nbsp;</a></span>cIndexFlag</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbDbf::cIndexFlag</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1" name="aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1">&#9670;&nbsp;</a></span>cLangDriver</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbDbf::cLangDriver</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac3c89fc3bc6a6abf385478a8adbed970" name="ac3c89fc3bc6a6abf385478a8adbed970"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac3c89fc3bc6a6abf385478a8adbed970">&#9670;&nbsp;</a></span>cTransactionFlag</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbDbf::cTransactionFlag</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6021789d314cd41488991e708fcd0df2" name="a6021789d314cd41488991e708fcd0df2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6021789d314cd41488991e708fcd0df2">&#9670;&nbsp;</a></span>cUpdateDD</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbDbf::cUpdateDD</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9340a5e8ee53eb0f3b6601eec2d71e1b" name="a9340a5e8ee53eb0f3b6601eec2d71e1b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9340a5e8ee53eb0f3b6601eec2d71e1b">&#9670;&nbsp;</a></span>cUpdateMM</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbDbf::cUpdateMM</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4fcd6a86ddd32d4a9d76a4074573440a" name="a4fcd6a86ddd32d4a9d76a4074573440a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4fcd6a86ddd32d4a9d76a4074573440a">&#9670;&nbsp;</a></span>cUpdateYY</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbDbf::cUpdateYY</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3a262abf658e5fa968b57ef457a69470" name="a3a262abf658e5fa968b57ef457a69470"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3a262abf658e5fa968b57ef457a69470">&#9670;&nbsp;</a></span>cVersion</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">unsigned char xb::xbDbf::cVersion</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6219f1b5e24ea12fe158cd5aea56988e" name="a6219f1b5e24ea12fe158cd5aea56988e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6219f1b5e24ea12fe158cd5aea56988e">&#9670;&nbsp;</a></span>ErrorCodeText</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char* xb::xbSsv::ErrorCodeText[]</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab506450954bc86e7bf1d7c4efe681f43" name="ab506450954bc86e7bf1d7c4efe681f43"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab506450954bc86e7bf1d7c4efe681f43">&#9670;&nbsp;</a></span>iAutoCommit</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::iAutoCommit</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6d8e193da3ca414eef1e8866ec5ca81b" name="a6d8e193da3ca414eef1e8866ec5ca81b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d8e193da3ca414eef1e8866ec5ca81b">&#9670;&nbsp;</a></span>iDbfStatus</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::iDbfStatus</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5849e813f5e8e1cd180f0366637adbf3" name="a5849e813f5e8e1cd180f0366637adbf3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5849e813f5e8e1cd180f0366637adbf3">&#9670;&nbsp;</a></span>iEndianType</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSsv::iEndianType = 0</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a15f495446f0d75bcf2fa89e3b699d388" name="a15f495446f0d75bcf2fa89e3b699d388"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a15f495446f0d75bcf2fa89e3b699d388">&#9670;&nbsp;</a></span>iFileVersion</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::iFileVersion</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5056757614c39f725cc775332494966a" name="a5056757614c39f725cc775332494966a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5056757614c39f725cc775332494966a">&#9670;&nbsp;</a></span>iNoOfFields</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbDbf::iNoOfFields</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8a9b3bce0b741e73473d3ebbd6e6f1cd" name="a8a9b3bce0b741e73473d3ebbd6e6f1cd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8a9b3bce0b741e73473d3ebbd6e6f1cd">&#9670;&nbsp;</a></span>RecBuf</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* xb::xbDbf::RecBuf</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a353ebfc8a2960ef827f429ec74025606" name="a353ebfc8a2960ef827f429ec74025606"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a353ebfc8a2960ef827f429ec74025606">&#9670;&nbsp;</a></span>RecBuf2</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* xb::xbDbf::RecBuf2</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a73f9c792d0a769e2e604c1855245a276" name="a73f9c792d0a769e2e604c1855245a276"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a73f9c792d0a769e2e604c1855245a276">&#9670;&nbsp;</a></span>sAlias</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> xb::xbDbf::sAlias</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad8c8b5eb12063bb898da1b2cc02cfce7" name="ad8c8b5eb12063bb898da1b2cc02cfce7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8c8b5eb12063bb898da1b2cc02cfce7">&#9670;&nbsp;</a></span>SchemaPtr</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbSchemaRec* xb::xbDbf::SchemaPtr</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9dec3164c3b264882df634915ecf21da" name="a9dec3164c3b264882df634915ecf21da"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9dec3164c3b264882df634915ecf21da">&#9670;&nbsp;</a></span>sNullString</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> xb::xbSsv::sNullString = &quot;&quot;</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a62f5fa9149ae0f6dc75642823de66918" name="a62f5fa9149ae0f6dc75642823de66918"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a62f5fa9149ae0f6dc75642823de66918">&#9670;&nbsp;</a></span>uiHeaderLen</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt16 xb::xbDbf::uiHeaderLen</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1760e222567e2c849f9c799b9d896e91" name="a1760e222567e2c849f9c799b9d896e91"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1760e222567e2c849f9c799b9d896e91">&#9670;&nbsp;</a></span>uiRecordLen</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt16 xb::xbDbf::uiRecordLen</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afcd99924606be0a9e1e25180bcd1abf8" name="afcd99924606be0a9e1e25180bcd1abf8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afcd99924606be0a9e1e25180bcd1abf8">&#9670;&nbsp;</a></span>ulCurRec</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbDbf::ulCurRec</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="acb594ab61dd35b17bdf28394083f8e87" name="acb594ab61dd35b17bdf28394083f8e87"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acb594ab61dd35b17bdf28394083f8e87">&#9670;&nbsp;</a></span>ulNoOfRecs</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbDbf::ulNoOfRecs</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae39a67ea391b46055d4ca299cb222004" name="ae39a67ea391b46055d4ca299cb222004"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae39a67ea391b46055d4ca299cb222004">&#9670;&nbsp;</a></span>xbase</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a>* xb::xbFile::xbase</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/include/<a class="el" href="xbdbf_8h_source.html">xbdbf.h</a></li>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/core/<a class="el" href="xbdbf_8cpp.html">xbdbf.cpp</a></li>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/core/<a class="el" href="xbfields_8cpp.html">xbfields.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/classxb_1_1xbDbf.png b/docs/doxygen/html/classxb_1_1xbDbf.png
new file mode 100644
index 0000000..d7b0ae3
--- /dev/null
+++ b/docs/doxygen/html/classxb_1_1xbDbf.png
Binary files differ
diff --git a/docs/doxygen/html/classxb_1_1xbFile.html b/docs/doxygen/html/classxb_1_1xbFile.html
new file mode 100644
index 0000000..4dc8b1c
--- /dev/null
+++ b/docs/doxygen/html/classxb_1_1xbFile.html
@@ -0,0 +1,3520 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: xb::xbFile Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="namespacexb.html">xb</a></li><li class="navelem"><a class="el" href="classxb_1_1xbFile.html">xbFile</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="#pro-static-attribs">Static Protected Attributes</a> </div>
+ <div class="headertitle"><div class="title">xb::xbFile Class Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>Class for handling low level file I/O.
+ <a href="classxb_1_1xbFile.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="xbfile_8h_source.html">xbfile.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for xb::xbFile:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classxb_1_1xbFile.png" usemap="#xb::xbFile_map" alt=""/>
+ <map id="xb::xbFile_map" name="xb::xbFile_map">
+<area href="classxb_1_1xbSsv.html" title="Class for handling shared system variables." alt="xb::xbSsv" shape="rect" coords="0,0,65,24"/>
+<area href="classxb_1_1xbDbf.html" title="Base class for handling dbf files/tables." alt="xb::xbDbf" shape="rect" coords="0,112,65,136"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a869eedd74c6eddc308852eb546c87176"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a869eedd74c6eddc308852eb546c87176">xbFile</a> (<a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *x)</td></tr>
+<tr class="memdesc:a869eedd74c6eddc308852eb546c87176"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class Constructor. <a href="classxb_1_1xbFile.html#a869eedd74c6eddc308852eb546c87176">More...</a><br /></td></tr>
+<tr class="separator:a869eedd74c6eddc308852eb546c87176"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a491f6c48076e89da2e791a42b2727a90"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a491f6c48076e89da2e791a42b2727a90">~xbFile</a> ()</td></tr>
+<tr class="memdesc:a491f6c48076e89da2e791a42b2727a90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class Destructor. <a href="classxb_1_1xbFile.html#a491f6c48076e89da2e791a42b2727a90">More...</a><br /></td></tr>
+<tr class="separator:a491f6c48076e89da2e791a42b2727a90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd0fb2166b2bff7e8a1cf65a7bc8be1e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#acd0fb2166b2bff7e8a1cf65a7bc8be1e">GetDirectory</a> () const</td></tr>
+<tr class="memdesc:acd0fb2166b2bff7e8a1cf65a7bc8be1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the directory name. <a href="classxb_1_1xbFile.html#acd0fb2166b2bff7e8a1cf65a7bc8be1e">More...</a><br /></td></tr>
+<tr class="separator:acd0fb2166b2bff7e8a1cf65a7bc8be1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac95cb882ccbcdedc9a233c6ad9fed07a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ac95cb882ccbcdedc9a233c6ad9fed07a">GetFileName</a> () const</td></tr>
+<tr class="memdesc:ac95cb882ccbcdedc9a233c6ad9fed07a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the file name. <a href="classxb_1_1xbFile.html#ac95cb882ccbcdedc9a233c6ad9fed07a">More...</a><br /></td></tr>
+<tr class="separator:ac95cb882ccbcdedc9a233c6ad9fed07a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31b4e641f93206ba23e2a5a27491dcd4"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a31b4e641f93206ba23e2a5a27491dcd4">GetFqFileName</a> () const</td></tr>
+<tr class="memdesc:a31b4e641f93206ba23e2a5a27491dcd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the fully qualified file name. <a href="classxb_1_1xbFile.html#a31b4e641f93206ba23e2a5a27491dcd4">More...</a><br /></td></tr>
+<tr class="separator:a31b4e641f93206ba23e2a5a27491dcd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad39797624a752b9d62533d00fad9feff"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ad39797624a752b9d62533d00fad9feff">CreateUniqueFileName</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDirIn, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sExtIn, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFqnOut, xbInt16 iOption=0)</td></tr>
+<tr class="memdesc:ad39797624a752b9d62533d00fad9feff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a unique file name. <a href="classxb_1_1xbFile.html#ad39797624a752b9d62533d00fad9feff">More...</a><br /></td></tr>
+<tr class="separator:ad39797624a752b9d62533d00fad9feff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2b6ac26018dc28f77afbb3f008c3f66"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ae2b6ac26018dc28f77afbb3f008c3f66">DetermineXbaseTableVersion</a> (unsigned char cFileTypeByte) const</td></tr>
+<tr class="memdesc:ae2b6ac26018dc28f77afbb3f008c3f66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine xbase dbf version. <a href="classxb_1_1xbFile.html#ae2b6ac26018dc28f77afbb3f008c3f66">More...</a><br /></td></tr>
+<tr class="separator:ae2b6ac26018dc28f77afbb3f008c3f66"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a740033664c9ad2611c90e2a6d0c2d3"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a5a740033664c9ad2611c90e2a6d0c2d3">DetermineXbaseMemoVersion</a> (unsigned char cFileTypeByte) const</td></tr>
+<tr class="memdesc:a5a740033664c9ad2611c90e2a6d0c2d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine which version the memo (dbt) file is. <a href="classxb_1_1xbFile.html#a5a740033664c9ad2611c90e2a6d0c2d3">More...</a><br /></td></tr>
+<tr class="separator:a5a740033664c9ad2611c90e2a6d0c2d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab14e4a11427f5efb81cba1dd32bd1aa1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ab14e4a11427f5efb81cba1dd32bd1aa1">eGetDouble</a> (const char *p) const</td></tr>
+<tr class="memdesc:ab14e4a11427f5efb81cba1dd32bd1aa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a portable double value. <a href="classxb_1_1xbFile.html#ab14e4a11427f5efb81cba1dd32bd1aa1">More...</a><br /></td></tr>
+<tr class="separator:ab14e4a11427f5efb81cba1dd32bd1aa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a60b24a5afc984c586bf384c7e915ba0d"><td class="memItemLeft" align="right" valign="top">xbInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a60b24a5afc984c586bf384c7e915ba0d">eGetInt32</a> (const char *p) const</td></tr>
+<tr class="memdesc:a60b24a5afc984c586bf384c7e915ba0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a portable long value. <a href="classxb_1_1xbFile.html#a60b24a5afc984c586bf384c7e915ba0d">More...</a><br /></td></tr>
+<tr class="separator:a60b24a5afc984c586bf384c7e915ba0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78f052529d39a18deaface5a0d47d0b0"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a78f052529d39a18deaface5a0d47d0b0">eGetUInt32</a> (const char *p) const</td></tr>
+<tr class="memdesc:a78f052529d39a18deaface5a0d47d0b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a portable unsigned long value. <a href="classxb_1_1xbFile.html#a78f052529d39a18deaface5a0d47d0b0">More...</a><br /></td></tr>
+<tr class="separator:a78f052529d39a18deaface5a0d47d0b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac40c991110ddc6fb30a72d90f4652762"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ac40c991110ddc6fb30a72d90f4652762">eGetInt16</a> (const char *p) const</td></tr>
+<tr class="memdesc:ac40c991110ddc6fb30a72d90f4652762"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a portable short value. <a href="classxb_1_1xbFile.html#ac40c991110ddc6fb30a72d90f4652762">More...</a><br /></td></tr>
+<tr class="separator:ac40c991110ddc6fb30a72d90f4652762"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a936ade458e6d5e6d29f9b5031888d189"><td class="memItemLeft" align="right" valign="top">xbUInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a936ade458e6d5e6d29f9b5031888d189">eGetUInt16</a> (const char *p) const</td></tr>
+<tr class="memdesc:a936ade458e6d5e6d29f9b5031888d189"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a portable unsigned short value. <a href="classxb_1_1xbFile.html#a936ade458e6d5e6d29f9b5031888d189">More...</a><br /></td></tr>
+<tr class="separator:a936ade458e6d5e6d29f9b5031888d189"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98b6ff533ae93f90c977a2ba23eeb105"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a98b6ff533ae93f90c977a2ba23eeb105">ePutDouble</a> (char *p, <a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> d)</td></tr>
+<tr class="memdesc:a98b6ff533ae93f90c977a2ba23eeb105"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a portable double value to memory location. <a href="classxb_1_1xbFile.html#a98b6ff533ae93f90c977a2ba23eeb105">More...</a><br /></td></tr>
+<tr class="separator:a98b6ff533ae93f90c977a2ba23eeb105"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a19c37f76a2ccbb45019cb0fc373d3f46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a19c37f76a2ccbb45019cb0fc373d3f46">ePutInt32</a> (char *p, xbInt32 l)</td></tr>
+<tr class="memdesc:a19c37f76a2ccbb45019cb0fc373d3f46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a portable long value to memory location. <a href="classxb_1_1xbFile.html#a19c37f76a2ccbb45019cb0fc373d3f46">More...</a><br /></td></tr>
+<tr class="separator:a19c37f76a2ccbb45019cb0fc373d3f46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3f6ceae4b96f24875d86848bf13a173"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#aa3f6ceae4b96f24875d86848bf13a173">ePutUInt32</a> (char *p, xbUInt32 ul)</td></tr>
+<tr class="memdesc:aa3f6ceae4b96f24875d86848bf13a173"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a portable unsigned long value to memory location. <a href="classxb_1_1xbFile.html#aa3f6ceae4b96f24875d86848bf13a173">More...</a><br /></td></tr>
+<tr class="separator:aa3f6ceae4b96f24875d86848bf13a173"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29130f12739ac8fa837f4eaedf1338b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a29130f12739ac8fa837f4eaedf1338b2">ePutInt16</a> (char *p, xbInt16 s)</td></tr>
+<tr class="memdesc:a29130f12739ac8fa837f4eaedf1338b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a portable short value to memory location. <a href="classxb_1_1xbFile.html#a29130f12739ac8fa837f4eaedf1338b2">More...</a><br /></td></tr>
+<tr class="separator:a29130f12739ac8fa837f4eaedf1338b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65e9839f92b96eac7b0d071fac3bbe40"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a65e9839f92b96eac7b0d071fac3bbe40">ePutUInt16</a> (char *p, xbUInt16 s)</td></tr>
+<tr class="memdesc:a65e9839f92b96eac7b0d071fac3bbe40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a portable unsigned short value to memory location. <a href="classxb_1_1xbFile.html#a65e9839f92b96eac7b0d071fac3bbe40">More...</a><br /></td></tr>
+<tr class="separator:a65e9839f92b96eac7b0d071fac3bbe40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78bd8a11dce102647095baf3aff2b006"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a78bd8a11dce102647095baf3aff2b006">FileExists</a> () const</td></tr>
+<tr class="memdesc:a78bd8a11dce102647095baf3aff2b006"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if a file exists. <a href="classxb_1_1xbFile.html#a78bd8a11dce102647095baf3aff2b006">More...</a><br /></td></tr>
+<tr class="separator:a78bd8a11dce102647095baf3aff2b006"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a174d8a6aabc9cfcd32fedbd1e5b13ddd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a174d8a6aabc9cfcd32fedbd1e5b13ddd">FileExists</a> (xbInt16 iOption) const</td></tr>
+<tr class="memdesc:a174d8a6aabc9cfcd32fedbd1e5b13ddd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if a file exists. <a href="classxb_1_1xbFile.html#a174d8a6aabc9cfcd32fedbd1e5b13ddd">More...</a><br /></td></tr>
+<tr class="separator:a174d8a6aabc9cfcd32fedbd1e5b13ddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a61130b4fbf4cf9d5972dcb4993de2f94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a61130b4fbf4cf9d5972dcb4993de2f94">FileExists</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName) const</td></tr>
+<tr class="memdesc:a61130b4fbf4cf9d5972dcb4993de2f94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if a file exists. <a href="classxb_1_1xbFile.html#a61130b4fbf4cf9d5972dcb4993de2f94">More...</a><br /></td></tr>
+<tr class="separator:a61130b4fbf4cf9d5972dcb4993de2f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0592168f39a10f2a401a88ef781f6148"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a0592168f39a10f2a401a88ef781f6148">FileExists</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 iOption) const</td></tr>
+<tr class="memdesc:a0592168f39a10f2a401a88ef781f6148"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if a file exists. <a href="classxb_1_1xbFile.html#a0592168f39a10f2a401a88ef781f6148">More...</a><br /></td></tr>
+<tr class="separator:a0592168f39a10f2a401a88ef781f6148"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7fa837938a32dc9ca3fbc81cbaf50f59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a7fa837938a32dc9ca3fbc81cbaf50f59">FileIsOpen</a> () const</td></tr>
+<tr class="memdesc:a7fa837938a32dc9ca3fbc81cbaf50f59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if file is open. <a href="classxb_1_1xbFile.html#a7fa837938a32dc9ca3fbc81cbaf50f59">More...</a><br /></td></tr>
+<tr class="separator:a7fa837938a32dc9ca3fbc81cbaf50f59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a638e14262410a1627819f016a16cdce2"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a638e14262410a1627819f016a16cdce2">GetBlockSize</a> () const</td></tr>
+<tr class="memdesc:a638e14262410a1627819f016a16cdce2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the block size. <a href="classxb_1_1xbFile.html#a638e14262410a1627819f016a16cdce2">More...</a><br /></td></tr>
+<tr class="separator:a638e14262410a1627819f016a16cdce2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a60c53998e3d1b694134b20a87bc9bf5a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a60c53998e3d1b694134b20a87bc9bf5a">GetFileDirPart</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileDirPartOut) const</td></tr>
+<tr class="memdesc:a60c53998e3d1b694134b20a87bc9bf5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the directory part of the file name. <a href="classxb_1_1xbFile.html#a60c53998e3d1b694134b20a87bc9bf5a">More...</a><br /></td></tr>
+<tr class="separator:a60c53998e3d1b694134b20a87bc9bf5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5127c92892816e9bbc5c19653c4147a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#af5127c92892816e9bbc5c19653c4147a">GetFileDirPart</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sCompleteFileNameIn, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileDirPartOut) const</td></tr>
+<tr class="memdesc:af5127c92892816e9bbc5c19653c4147a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the directory part of the file name. <a href="classxb_1_1xbFile.html#af5127c92892816e9bbc5c19653c4147a">More...</a><br /></td></tr>
+<tr class="separator:af5127c92892816e9bbc5c19653c4147a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57a9222e5cbb51019d4eeb2c3ac89fa2"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a57a9222e5cbb51019d4eeb2c3ac89fa2">GetFileExtPart</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileExtPartOut) const</td></tr>
+<tr class="memdesc:a57a9222e5cbb51019d4eeb2c3ac89fa2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the extension part of the file name. <a href="classxb_1_1xbFile.html#a57a9222e5cbb51019d4eeb2c3ac89fa2">More...</a><br /></td></tr>
+<tr class="separator:a57a9222e5cbb51019d4eeb2c3ac89fa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab289b6ffe955321160c1f90220c22e25"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ab289b6ffe955321160c1f90220c22e25">GetFileExtPart</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sCompleteFileNameIn, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileExtPartOut) const</td></tr>
+<tr class="memdesc:ab289b6ffe955321160c1f90220c22e25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the extension part of the file name. <a href="classxb_1_1xbFile.html#ab289b6ffe955321160c1f90220c22e25">More...</a><br /></td></tr>
+<tr class="separator:ab289b6ffe955321160c1f90220c22e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02df78f4c90313243f508fc56b95aba8"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a02df78f4c90313243f508fc56b95aba8">GetFileMtime</a> (time_t &amp;mtime)</td></tr>
+<tr class="memdesc:a02df78f4c90313243f508fc56b95aba8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the time of last file modification timestamp as reported by the OS. <a href="classxb_1_1xbFile.html#a02df78f4c90313243f508fc56b95aba8">More...</a><br /></td></tr>
+<tr class="separator:a02df78f4c90313243f508fc56b95aba8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a81422b3dd52763d2cc6c77237ec9af0a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a81422b3dd52763d2cc6c77237ec9af0a">GetFileNamePart</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileNamePartOut) const</td></tr>
+<tr class="memdesc:a81422b3dd52763d2cc6c77237ec9af0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name part of the file name. <a href="classxb_1_1xbFile.html#a81422b3dd52763d2cc6c77237ec9af0a">More...</a><br /></td></tr>
+<tr class="separator:a81422b3dd52763d2cc6c77237ec9af0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6110763c5ae996b72c7a62c15bdecc73"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a6110763c5ae996b72c7a62c15bdecc73">GetFileNamePart</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sCompleteFileNameIn, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileNamePartOut) const</td></tr>
+<tr class="memdesc:a6110763c5ae996b72c7a62c15bdecc73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name part of the file name. <a href="classxb_1_1xbFile.html#a6110763c5ae996b72c7a62c15bdecc73">More...</a><br /></td></tr>
+<tr class="separator:a6110763c5ae996b72c7a62c15bdecc73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50b63c39e49d44e52078038027b24cc5"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a50b63c39e49d44e52078038027b24cc5">GetFileSize</a> (xbUInt64 &amp;ullFileSize)</td></tr>
+<tr class="memdesc:a50b63c39e49d44e52078038027b24cc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of the file as reported by the OS. <a href="classxb_1_1xbFile.html#a50b63c39e49d44e52078038027b24cc5">More...</a><br /></td></tr>
+<tr class="separator:a50b63c39e49d44e52078038027b24cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5548236d38d43b89ae29b9a015b1f678"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a5548236d38d43b89ae29b9a015b1f678">GetFileType</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileType) const</td></tr>
+<tr class="memdesc:a5548236d38d43b89ae29b9a015b1f678"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the file type aka Capitalized file extension. <a href="classxb_1_1xbFile.html#a5548236d38d43b89ae29b9a015b1f678">More...</a><br /></td></tr>
+<tr class="separator:a5548236d38d43b89ae29b9a015b1f678"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c500dc9dac22c49496e4b29386b2dd3"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a3c500dc9dac22c49496e4b29386b2dd3">GetOpenMode</a> () const</td></tr>
+<tr class="memdesc:a3c500dc9dac22c49496e4b29386b2dd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the open mode of the file. <a href="classxb_1_1xbFile.html#a3c500dc9dac22c49496e4b29386b2dd3">More...</a><br /></td></tr>
+<tr class="separator:a3c500dc9dac22c49496e4b29386b2dd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9b63e05b77f477ff6109ff7b9432c1b6"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a9b63e05b77f477ff6109ff7b9432c1b6">GetShareMode</a> () const</td></tr>
+<tr class="memdesc:a9b63e05b77f477ff6109ff7b9432c1b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the share mode of the file. <a href="classxb_1_1xbFile.html#a9b63e05b77f477ff6109ff7b9432c1b6">More...</a><br /></td></tr>
+<tr class="separator:a9b63e05b77f477ff6109ff7b9432c1b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf2e697751a0beff41432a66bb83fb5e"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#aaf2e697751a0beff41432a66bb83fb5e">GetXbaseFileTypeByte</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 &amp;iVersion)</td></tr>
+<tr class="memdesc:aaf2e697751a0beff41432a66bb83fb5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the file type byte and version of the dbf file. <a href="classxb_1_1xbFile.html#aaf2e697751a0beff41432a66bb83fb5e">More...</a><br /></td></tr>
+<tr class="separator:aaf2e697751a0beff41432a66bb83fb5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7af337808919680b90710ad5e8a99232"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a7af337808919680b90710ad5e8a99232">GetXbaseFileTypeByte</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, unsigned char &amp;cFileTypeByte)</td></tr>
+<tr class="memdesc:a7af337808919680b90710ad5e8a99232"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the file type byte and version of the dbf file. <a href="classxb_1_1xbFile.html#a7af337808919680b90710ad5e8a99232">More...</a><br /></td></tr>
+<tr class="separator:a7af337808919680b90710ad5e8a99232"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78aebdd21d3de46a450d5f835e3027f6"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a78aebdd21d3de46a450d5f835e3027f6">GetXbaseFileTypeByte</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, unsigned char &amp;cFileTypeByte, xbInt16 &amp;iVersion)</td></tr>
+<tr class="memdesc:a78aebdd21d3de46a450d5f835e3027f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the file type byte and version of the dbf file. <a href="classxb_1_1xbFile.html#a78aebdd21d3de46a450d5f835e3027f6">More...</a><br /></td></tr>
+<tr class="separator:a78aebdd21d3de46a450d5f835e3027f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a361e3cc318bbf1c4d10f069e0800a24e"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a361e3cc318bbf1c4d10f069e0800a24e">NameSuffixMissing</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 iOption) const</td></tr>
+<tr class="memdesc:a361e3cc318bbf1c4d10f069e0800a24e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines status of file extension. <a href="classxb_1_1xbFile.html#a361e3cc318bbf1c4d10f069e0800a24e">More...</a><br /></td></tr>
+<tr class="separator:a361e3cc318bbf1c4d10f069e0800a24e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1bb80340abc7a5c22f87f878e9dc825"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#aa1bb80340abc7a5c22f87f878e9dc825">ReadBlock</a> (xbUInt32 ulBlockNo, size_t readSize, void *buf)</td></tr>
+<tr class="memdesc:aa1bb80340abc7a5c22f87f878e9dc825"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a block of data from file. <a href="classxb_1_1xbFile.html#aa1bb80340abc7a5c22f87f878e9dc825">More...</a><br /></td></tr>
+<tr class="separator:aa1bb80340abc7a5c22f87f878e9dc825"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef696b1c4c0ef5338e818599f695d485"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#aef696b1c4c0ef5338e818599f695d485">ReadBlock</a> (xbUInt32 ulBlockNo, xbUInt32 ulBlockSize, size_t readSize, void *buf)</td></tr>
+<tr class="memdesc:aef696b1c4c0ef5338e818599f695d485"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a block of data from file. <a href="classxb_1_1xbFile.html#aef696b1c4c0ef5338e818599f695d485">More...</a><br /></td></tr>
+<tr class="separator:aef696b1c4c0ef5338e818599f695d485"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a991c5676a6f38fa752435390989f413e"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a991c5676a6f38fa752435390989f413e">SetBlockSize</a> (xbUInt32 ulBlockSize)</td></tr>
+<tr class="memdesc:a991c5676a6f38fa752435390989f413e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the block size. <a href="classxb_1_1xbFile.html#a991c5676a6f38fa752435390989f413e">More...</a><br /></td></tr>
+<tr class="separator:a991c5676a6f38fa752435390989f413e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae78a85255488bc78964c16946dbaead3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ae78a85255488bc78964c16946dbaead3">SetDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDirectory)</td></tr>
+<tr class="memdesc:ae78a85255488bc78964c16946dbaead3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the directory. <a href="classxb_1_1xbFile.html#ae78a85255488bc78964c16946dbaead3">More...</a><br /></td></tr>
+<tr class="separator:ae78a85255488bc78964c16946dbaead3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5419eb27e56822f828b2b88a9502a636"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a5419eb27e56822f828b2b88a9502a636">SetFileName</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName)</td></tr>
+<tr class="memdesc:a5419eb27e56822f828b2b88a9502a636"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the filename. <a href="classxb_1_1xbFile.html#a5419eb27e56822f828b2b88a9502a636">More...</a><br /></td></tr>
+<tr class="separator:a5419eb27e56822f828b2b88a9502a636"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee832fa11db2077a532f49e1329bd05a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#aee832fa11db2077a532f49e1329bd05a">SetFqFileName</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFqName)</td></tr>
+<tr class="memdesc:aee832fa11db2077a532f49e1329bd05a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the fully qualifed filename. <a href="classxb_1_1xbFile.html#aee832fa11db2077a532f49e1329bd05a">More...</a><br /></td></tr>
+<tr class="separator:aee832fa11db2077a532f49e1329bd05a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a060acbfaa8d528f86cb59301814b414a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a060acbfaa8d528f86cb59301814b414a">SetHomeFolders</a> ()</td></tr>
+<tr class="memdesc:a060acbfaa8d528f86cb59301814b414a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Home Folders. <a href="classxb_1_1xbFile.html#a060acbfaa8d528f86cb59301814b414a">More...</a><br /></td></tr>
+<tr class="separator:a060acbfaa8d528f86cb59301814b414a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d871dcfecc2b4338f7a13722aab766c"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a5d871dcfecc2b4338f7a13722aab766c">WriteBlock</a> (xbUInt32 ulBlockNo, size_t writeSize, void *buf)</td></tr>
+<tr class="memdesc:a5d871dcfecc2b4338f7a13722aab766c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a block of data to file. <a href="classxb_1_1xbFile.html#a5d871dcfecc2b4338f7a13722aab766c">More...</a><br /></td></tr>
+<tr class="separator:a5d871dcfecc2b4338f7a13722aab766c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a18830b5755d74818f60d9c7ce38ddf2d"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a18830b5755d74818f60d9c7ce38ddf2d">xbFclose</a> ()</td></tr>
+<tr class="memdesc:a18830b5755d74818f60d9c7ce38ddf2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fclose. <a href="classxb_1_1xbFile.html#a18830b5755d74818f60d9c7ce38ddf2d">More...</a><br /></td></tr>
+<tr class="separator:a18830b5755d74818f60d9c7ce38ddf2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5b6356832d2a67212070a1aa605f170"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#af5b6356832d2a67212070a1aa605f170">xbFeof</a> ()</td></tr>
+<tr class="memdesc:af5b6356832d2a67212070a1aa605f170"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary feof. <a href="classxb_1_1xbFile.html#af5b6356832d2a67212070a1aa605f170">More...</a><br /></td></tr>
+<tr class="separator:af5b6356832d2a67212070a1aa605f170"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad205184d43409f04216540ae22f15009"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ad205184d43409f04216540ae22f15009">xbFflush</a> ()</td></tr>
+<tr class="memdesc:ad205184d43409f04216540ae22f15009"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fflush. <a href="classxb_1_1xbFile.html#ad205184d43409f04216540ae22f15009">More...</a><br /></td></tr>
+<tr class="separator:ad205184d43409f04216540ae22f15009"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb1c584d2895ffb7834df80aea7eb1e4"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#afb1c584d2895ffb7834df80aea7eb1e4">xbFgetc</a> (xbInt32 &amp;c)</td></tr>
+<tr class="memdesc:afb1c584d2895ffb7834df80aea7eb1e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fgetc. <a href="classxb_1_1xbFile.html#afb1c584d2895ffb7834df80aea7eb1e4">More...</a><br /></td></tr>
+<tr class="separator:afb1c584d2895ffb7834df80aea7eb1e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ee229bda4d7d6695e122200e581e7a6"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a5ee229bda4d7d6695e122200e581e7a6">xbFgetc</a> (char &amp;c)</td></tr>
+<tr class="memdesc:a5ee229bda4d7d6695e122200e581e7a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fgetc. <a href="classxb_1_1xbFile.html#a5ee229bda4d7d6695e122200e581e7a6">More...</a><br /></td></tr>
+<tr class="separator:a5ee229bda4d7d6695e122200e581e7a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad245955ace26e5dde85fd4373b30d026"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ad245955ace26e5dde85fd4373b30d026">xbFgets</a> (size_t lSize, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLine)</td></tr>
+<tr class="memdesc:ad245955ace26e5dde85fd4373b30d026"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fgets. <a href="classxb_1_1xbFile.html#ad245955ace26e5dde85fd4373b30d026">More...</a><br /></td></tr>
+<tr class="separator:ad245955ace26e5dde85fd4373b30d026"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7cdfef5ede9ac98d44a28a6b7a70972c"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a7cdfef5ede9ac98d44a28a6b7a70972c">xbFopen</a> (xbInt16 iOpenMode)</td></tr>
+<tr class="separator:a7cdfef5ede9ac98d44a28a6b7a70972c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0548cedf0f26b7d8ac221f75b0cd048c"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a0548cedf0f26b7d8ac221f75b0cd048c">xbFopen</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sOpenMode, xbInt16 iShareMode)</td></tr>
+<tr class="memdesc:a0548cedf0f26b7d8ac221f75b0cd048c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fopen. <a href="classxb_1_1xbFile.html#a0548cedf0f26b7d8ac221f75b0cd048c">More...</a><br /></td></tr>
+<tr class="separator:a0548cedf0f26b7d8ac221f75b0cd048c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabd113333b49c36cad23244b392baab4"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#aabd113333b49c36cad23244b392baab4">xbFopen</a> (xbInt16 iOpenMode, xbInt16 iShareMode)</td></tr>
+<tr class="memdesc:aabd113333b49c36cad23244b392baab4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fopen. <a href="classxb_1_1xbFile.html#aabd113333b49c36cad23244b392baab4">More...</a><br /></td></tr>
+<tr class="separator:aabd113333b49c36cad23244b392baab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab0fa19686ca8953ff4b556fb5b249135"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ab0fa19686ca8953ff4b556fb5b249135">xbFopen</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sMode, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 iShareMode)</td></tr>
+<tr class="memdesc:ab0fa19686ca8953ff4b556fb5b249135"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fopen. <a href="classxb_1_1xbFile.html#ab0fa19686ca8953ff4b556fb5b249135">More...</a><br /></td></tr>
+<tr class="separator:ab0fa19686ca8953ff4b556fb5b249135"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af2e940c78956e5cb6824f9a1bc404896"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#af2e940c78956e5cb6824f9a1bc404896">xbFputc</a> (xbInt32 c)</td></tr>
+<tr class="memdesc:af2e940c78956e5cb6824f9a1bc404896"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fputc. <a href="classxb_1_1xbFile.html#af2e940c78956e5cb6824f9a1bc404896">More...</a><br /></td></tr>
+<tr class="separator:af2e940c78956e5cb6824f9a1bc404896"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a863f74cf17df8186d88586b4d2a6441a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a863f74cf17df8186d88586b4d2a6441a">xbFputc</a> (xbInt32 c, xbInt32 iNoTimes)</td></tr>
+<tr class="memdesc:a863f74cf17df8186d88586b4d2a6441a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fputc. <a href="classxb_1_1xbFile.html#a863f74cf17df8186d88586b4d2a6441a">More...</a><br /></td></tr>
+<tr class="separator:a863f74cf17df8186d88586b4d2a6441a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a698f3b40216778562e639e6ca1a47573"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a698f3b40216778562e639e6ca1a47573">xbFputs</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s)</td></tr>
+<tr class="memdesc:a698f3b40216778562e639e6ca1a47573"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fputs. <a href="classxb_1_1xbFile.html#a698f3b40216778562e639e6ca1a47573">More...</a><br /></td></tr>
+<tr class="separator:a698f3b40216778562e639e6ca1a47573"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4f6afaa1f77539f27a4f05c26e54e2f"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ab4f6afaa1f77539f27a4f05c26e54e2f">xbFread</a> (void *ptr, size_t size, size_t nmemb)</td></tr>
+<tr class="memdesc:ab4f6afaa1f77539f27a4f05c26e54e2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fread. <a href="classxb_1_1xbFile.html#ab4f6afaa1f77539f27a4f05c26e54e2f">More...</a><br /></td></tr>
+<tr class="separator:ab4f6afaa1f77539f27a4f05c26e54e2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5337ab8918df240910c0d19b4f298e3d"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a5337ab8918df240910c0d19b4f298e3d">xbFseek</a> (xbInt64 llOffset, xbInt32 whence)</td></tr>
+<tr class="memdesc:a5337ab8918df240910c0d19b4f298e3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fseek. <a href="classxb_1_1xbFile.html#a5337ab8918df240910c0d19b4f298e3d">More...</a><br /></td></tr>
+<tr class="separator:a5337ab8918df240910c0d19b4f298e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e1c06aedfa7fbcb92e117f891edd13b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a0e1c06aedfa7fbcb92e117f891edd13b">xbFtell</a> ()</td></tr>
+<tr class="memdesc:a0e1c06aedfa7fbcb92e117f891edd13b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary ftell. <a href="classxb_1_1xbFile.html#a0e1c06aedfa7fbcb92e117f891edd13b">More...</a><br /></td></tr>
+<tr class="separator:a0e1c06aedfa7fbcb92e117f891edd13b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9891b792f585a696f38a5cf959e30918"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a9891b792f585a696f38a5cf959e30918">xbFTurnOffFileBuffering</a> ()</td></tr>
+<tr class="memdesc:a9891b792f585a696f38a5cf959e30918"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn off file buffering. <a href="classxb_1_1xbFile.html#a9891b792f585a696f38a5cf959e30918">More...</a><br /></td></tr>
+<tr class="separator:a9891b792f585a696f38a5cf959e30918"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a08463f506f425c2385acbe1a561506e9"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a08463f506f425c2385acbe1a561506e9">xbReadUntil</a> (const char cDelim, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sOut)</td></tr>
+<tr class="memdesc:a08463f506f425c2385acbe1a561506e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read file until a particular character is encountered on input stream. <a href="classxb_1_1xbFile.html#a08463f506f425c2385acbe1a561506e9">More...</a><br /></td></tr>
+<tr class="separator:a08463f506f425c2385acbe1a561506e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d919366c2ec95e529906bf8842cbf07"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a6d919366c2ec95e529906bf8842cbf07">xbRemove</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 iOption)</td></tr>
+<tr class="memdesc:a6d919366c2ec95e529906bf8842cbf07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete file. <a href="classxb_1_1xbFile.html#a6d919366c2ec95e529906bf8842cbf07">More...</a><br /></td></tr>
+<tr class="separator:a6d919366c2ec95e529906bf8842cbf07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58f6a6751fdf7e9549c273bb75d93eb5"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a58f6a6751fdf7e9549c273bb75d93eb5">xbRemove</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName)</td></tr>
+<tr class="memdesc:a58f6a6751fdf7e9549c273bb75d93eb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete file. <a href="classxb_1_1xbFile.html#a58f6a6751fdf7e9549c273bb75d93eb5">More...</a><br /></td></tr>
+<tr class="separator:a58f6a6751fdf7e9549c273bb75d93eb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3c668a8570433188382d31d7c60bd48"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ab3c668a8570433188382d31d7c60bd48">xbRemove</a> ()</td></tr>
+<tr class="memdesc:ab3c668a8570433188382d31d7c60bd48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete file. <a href="classxb_1_1xbFile.html#ab3c668a8570433188382d31d7c60bd48">More...</a><br /></td></tr>
+<tr class="separator:ab3c668a8570433188382d31d7c60bd48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc8ce113aa72611a278233f9bb170012"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#afc8ce113aa72611a278233f9bb170012">xbRename</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sOldName, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sNewName)</td></tr>
+<tr class="memdesc:afc8ce113aa72611a278233f9bb170012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rename file. <a href="classxb_1_1xbFile.html#afc8ce113aa72611a278233f9bb170012">More...</a><br /></td></tr>
+<tr class="separator:afc8ce113aa72611a278233f9bb170012"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7996b6e084665c37c3892faea64b3505"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a7996b6e084665c37c3892faea64b3505">xbRewind</a> ()</td></tr>
+<tr class="memdesc:a7996b6e084665c37c3892faea64b3505"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for rewind. <a href="classxb_1_1xbFile.html#a7996b6e084665c37c3892faea64b3505">More...</a><br /></td></tr>
+<tr class="separator:a7996b6e084665c37c3892faea64b3505"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6aadd871d1782944703fed773d44b85f"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a6aadd871d1782944703fed773d44b85f">xbFwrite</a> (const void *ptr, size_t lSize, size_t lNmemb)</td></tr>
+<tr class="memdesc:a6aadd871d1782944703fed773d44b85f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for standard libary fwrite. <a href="classxb_1_1xbFile.html#a6aadd871d1782944703fed773d44b85f">More...</a><br /></td></tr>
+<tr class="separator:a6aadd871d1782944703fed773d44b85f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a518bfcbfa3699d883cf89affee383296"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#a518bfcbfa3699d883cf89affee383296">xbTruncate</a> (xbInt64 llSize)</td></tr>
+<tr class="memdesc:a518bfcbfa3699d883cf89affee383296"><td class="mdescLeft">&#160;</td><td class="mdescRight">Xbase wrapper for ftruncate. <a href="classxb_1_1xbFile.html#a518bfcbfa3699d883cf89affee383296">More...</a><br /></td></tr>
+<tr class="separator:a518bfcbfa3699d883cf89affee383296"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97dfa59ab9a8e9f17454da0faceb023d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">DisplayError</a> (xbInt16 ErrorCode) const</td></tr>
+<tr class="memdesc:a97dfa59ab9a8e9f17454da0faceb023d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display error message on console for a given error number. <a href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">More...</a><br /></td></tr>
+<tr class="separator:a97dfa59ab9a8e9f17454da0faceb023d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">GetDefaultDateFormat</a> () const</td></tr>
+<tr class="memdesc:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default date format. <a href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">More...</a><br /></td></tr>
+<tr class="separator:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">GetDataDirectory</a> () const</td></tr>
+<tr class="memdesc:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current data directory. <a href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">More...</a><br /></td></tr>
+<tr class="separator:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abfaeef85935331073d213465bb362a61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">GetTempDirectory</a> () const</td></tr>
+<tr class="memdesc:abfaeef85935331073d213465bb362a61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current temp directory. <a href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">More...</a><br /></td></tr>
+<tr class="separator:abfaeef85935331073d213465bb362a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc9c06c95d71fbad8294e1ae8862cea9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">GetHomeDir</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sHomeDirOut)</td></tr>
+<tr class="memdesc:abc9c06c95d71fbad8294e1ae8862cea9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get home directory. <a href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">More...</a><br /></td></tr>
+<tr class="separator:abc9c06c95d71fbad8294e1ae8862cea9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49cd162f066eef2b829ba7c9f6620243"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">GetEndianType</a> () const</td></tr>
+<tr class="memdesc:a49cd162f066eef2b829ba7c9f6620243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Endian type. <a href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">More...</a><br /></td></tr>
+<tr class="separator:a49cd162f066eef2b829ba7c9f6620243"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56961d2a67b8e7470098626ac4dac7e4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">GetErrorMessage</a> (xbInt16 ErrorCode) const</td></tr>
+<tr class="memdesc:a56961d2a67b8e7470098626ac4dac7e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an error message. <a href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">More...</a><br /></td></tr>
+<tr class="separator:a56961d2a67b8e7470098626ac4dac7e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63cee13b473ee13970e93b11837b9e35"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">GetPathSeparator</a> () const</td></tr>
+<tr class="memdesc:a63cee13b473ee13970e93b11837b9e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the OS dependent path separator. <a href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">More...</a><br /></td></tr>
+<tr class="separator:a63cee13b473ee13970e93b11837b9e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">SetDataDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDataDirectory)</td></tr>
+<tr class="memdesc:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data directory. <a href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">More...</a><br /></td></tr>
+<tr class="separator:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f74db23f8902846d581935c7db73f9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">SetDefaultDateFormat</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDefaultDateFormat)</td></tr>
+<tr class="memdesc:a5f74db23f8902846d581935c7db73f9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default date format. <a href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">More...</a><br /></td></tr>
+<tr class="separator:a5f74db23f8902846d581935c7db73f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a17c229a20ef9ab4034df8f9cd657adb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">SetTempDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTempDirectory)</td></tr>
+<tr class="memdesc:a17c229a20ef9ab4034df8f9cd657adb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the temp directory. <a href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">More...</a><br /></td></tr>
+<tr class="separator:a17c229a20ef9ab4034df8f9cd657adb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62e4fd0a5888665c76bbbad962794e72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">BitSet</a> (unsigned char c, xbInt16 iBitNo) const</td></tr>
+<tr class="memdesc:a62e4fd0a5888665c76bbbad962794e72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check a bit in a one byte field and see if it is set. <a href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">More...</a><br /></td></tr>
+<tr class="separator:a62e4fd0a5888665c76bbbad962794e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8551b15a3ce4fa2a40d698db01f4a9ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a8551b15a3ce4fa2a40d698db01f4a9ae">BitDump</a> (unsigned char c) const</td></tr>
+<tr class="separator:a8551b15a3ce4fa2a40d698db01f4a9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba1395b8e4c7f28c3614061de6e49190"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#aba1395b8e4c7f28c3614061de6e49190">BitDump</a> (char c) const</td></tr>
+<tr class="separator:aba1395b8e4c7f28c3614061de6e49190"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6982f973e81587b04916f4509746aaf5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">GetDefaultAutoCommit</a> () const</td></tr>
+<tr class="memdesc:a6982f973e81587b04916f4509746aaf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default auto commit setting. <a href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">More...</a><br /></td></tr>
+<tr class="separator:a6982f973e81587b04916f4509746aaf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">SetDefaultAutoCommit</a> (<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bDefaultAutoCommit)</td></tr>
+<tr class="memdesc:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default auto commit. <a href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">More...</a><br /></td></tr>
+<tr class="separator:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4822315bded3969b59aeeb683c373051"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a4822315bded3969b59aeeb683c373051">GetLogDirectory</a> () const</td></tr>
+<tr class="separator:a4822315bded3969b59aeeb683c373051"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afaef09435be73b3111f5edbd7091d861"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#afaef09435be73b3111f5edbd7091d861">GetLogFileName</a> () const</td></tr>
+<tr class="separator:afaef09435be73b3111f5edbd7091d861"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b992ed97281bf25b5b66f5df686225e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a7b992ed97281bf25b5b66f5df686225e">SetLogDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLogDirectory)</td></tr>
+<tr class="separator:a7b992ed97281bf25b5b66f5df686225e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f05738e7dfd759e89990242ef503544"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a7f05738e7dfd759e89990242ef503544">SetLogFileName</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLogFileName)</td></tr>
+<tr class="separator:a7f05738e7dfd759e89990242ef503544"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">GetMultiUser</a> () const</td></tr>
+<tr class="memdesc:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the multi user setting. <a href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">More...</a><br /></td></tr>
+<tr class="separator:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba6e59512f7172dd55dcf92059e5928c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">SetMultiUser</a> (<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bMultiUser)</td></tr>
+<tr class="memdesc:aba6e59512f7172dd55dcf92059e5928c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the multi user setting. <a href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">More...</a><br /></td></tr>
+<tr class="separator:aba6e59512f7172dd55dcf92059e5928c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a6219f1b5e24ea12fe158cd5aea56988e"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6219f1b5e24ea12fe158cd5aea56988e">ErrorCodeText</a> []</td></tr>
+<tr class="separator:a6219f1b5e24ea12fe158cd5aea56988e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a904ec348fd029d4a76e72b8fde636108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">SetEndianType</a> ()</td></tr>
+<tr class="memdesc:a904ec348fd029d4a76e72b8fde636108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the endian type. <a href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">More...</a><br /></td></tr>
+<tr class="separator:a904ec348fd029d4a76e72b8fde636108"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:ae39a67ea391b46055d4ca299cb222004"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html#ae39a67ea391b46055d4ca299cb222004">xbase</a></td></tr>
+<tr class="separator:ae39a67ea391b46055d4ca299cb222004"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-static-attribs" name="pro-static-attribs"></a>
+Static Protected Attributes</h2></td></tr>
+<tr class="memitem:a5849e813f5e8e1cd180f0366637adbf3"><td class="memItemLeft" align="right" valign="top">static xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a5849e813f5e8e1cd180f0366637adbf3">iEndianType</a> = 0</td></tr>
+<tr class="separator:a5849e813f5e8e1cd180f0366637adbf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9dec3164c3b264882df634915ecf21da"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classxb_1_1xbString.html">xbString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a9dec3164c3b264882df634915ecf21da">sNullString</a> = &quot;&quot;</td></tr>
+<tr class="separator:a9dec3164c3b264882df634915ecf21da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p >Class for handling low level file I/O. </p>
+<p >The <a class="el" href="classxb_1_1xbFile.html" title="Class for handling low level file I/O.">xbFile</a> class is used as an abstraction layer to isolate the library from the nuances of different operating systems and machine architectures.</p>
+<p >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 <a class="el" href="classxb_1_1xbFile.html" title="Class for handling low level file I/O.">xbFile</a> class.<br />
+ This class handles:<br />
+ 1) Big and little endian reads/writes<br />
+ 2) 32 or 64 bit system calls, depending on OS<br />
+ 3) Various different c/c++ calls to open/close/read/write based on OS and compiler version<br />
+ <br />
+ 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. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a869eedd74c6eddc308852eb546c87176" name="a869eedd74c6eddc308852eb546c87176"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a869eedd74c6eddc308852eb546c87176">&#9670;&nbsp;</a></span>xbFile()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbFile::xbFile </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *&#160;</td>
+ <td class="paramname"><em>x</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Class Constructor. </p>
+
+</div>
+</div>
+<a id="a491f6c48076e89da2e791a42b2727a90" name="a491f6c48076e89da2e791a42b2727a90"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a491f6c48076e89da2e791a42b2727a90">&#9670;&nbsp;</a></span>~xbFile()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbFile::~xbFile </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Class Destructor. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="aba1395b8e4c7f28c3614061de6e49190" name="aba1395b8e4c7f28c3614061de6e49190"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba1395b8e4c7f28c3614061de6e49190">&#9670;&nbsp;</a></span>BitDump() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::BitDump </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8551b15a3ce4fa2a40d698db01f4a9ae" name="a8551b15a3ce4fa2a40d698db01f4a9ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8551b15a3ce4fa2a40d698db01f4a9ae">&#9670;&nbsp;</a></span>BitDump() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::BitDump </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a62e4fd0a5888665c76bbbad962794e72" name="a62e4fd0a5888665c76bbbad962794e72"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a62e4fd0a5888665c76bbbad962794e72">&#9670;&nbsp;</a></span>BitSet()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::BitSet </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iBitNo</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Check a bit in a one byte field and see if it is set. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>One byte char field to examine. </td></tr>
+ <tr><td class="paramname">iBitNo</td><td>which bit to examine. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue Bit is set<br />
+ xbFalse Bit is not set </dd></dl>
+
+</div>
+</div>
+<a id="ad39797624a752b9d62533d00fad9feff" name="ad39797624a752b9d62533d00fad9feff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad39797624a752b9d62533d00fad9feff">&#9670;&nbsp;</a></span>CreateUniqueFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::CreateUniqueFileName </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDirIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sExtIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFqnOut</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Create a unique file name. </p>
+<p >Given a directory and file extension as inputs, create a unique file name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDirIn</td><td>Directory </td></tr>
+ <tr><td class="paramname">sExtIn</td><td>File Extension </td></tr>
+ <tr><td class="paramname">sFqnOut</td><td>A fully qualifed unique file name as output </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a></dd></dl>
+<p>Create a unique file name.</p>
+<p >Given a directory and file extension as inputs, create a unique file name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDirIn</td><td>Directory </td></tr>
+ <tr><td class="paramname">sExtIn</td><td>File Extension </td></tr>
+ <tr><td class="paramname">iOption</td><td>0 - look only for one file for a given directory and extension<br />
+ 1 - if file name extension is "dbf" or "DBF", verify unique dbt or DBT (memo) file is also available<br />
+ </td></tr>
+ <tr><td class="paramname">sFqnOut</td><td>A fully qualifed unique file name as output </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a5a740033664c9ad2611c90e2a6d0c2d3" name="a5a740033664c9ad2611c90e2a6d0c2d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a740033664c9ad2611c90e2a6d0c2d3">&#9670;&nbsp;</a></span>DetermineXbaseMemoVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::DetermineXbaseMemoVersion </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>cFileTypeByte</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determine which version the memo (dbt) file is. </p>
+<p >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.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">cFileTypeByte</td><td>is an output field and is one of:<br />
+ <br />
+ 0 - none<br />
+ 3 - Dbase III+<br />
+ 4 - Dbase IV<br />
+</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ae2b6ac26018dc28f77afbb3f008c3f66" name="ae2b6ac26018dc28f77afbb3f008c3f66"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae2b6ac26018dc28f77afbb3f008c3f66">&#9670;&nbsp;</a></span>DetermineXbaseTableVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::DetermineXbaseTableVersion </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>cFileTypeByte</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determine xbase dbf version. </p>
+<p >This routine is used to determine which version of the Xbase classes can be used for a given DBF file.<br />
+</p>
+<p >It attempts to use the highest version compiled into the library.<br />
+</p>
+<p >References:<br />
+ This routine uses the first byte from the dbf file.<br />
+ Per DBase documentation:<br />
+ Valid dBASE for Windows table file, bits 0-2 indicate version number: 3 for dBASE Level 5, 4 for dBASE Level 7.<br />
+ Bit 3 and bit 7 indicate presence of a dBASE IV or dBASE for Windows memo file;<br />
+ Bits 4-6 indicate the presence of a dBASE IV SQL table;<br />
+ Bit 7 indicates the presence of any .DBT memo file (either a dBASE III PLUS type or a dBASE IV or dBASE for Windows memo file).<br />
+ <br />
+ Bachmann spec (used extensively in library build), page 7 - does not match DBase documentation<br />
+ <br />
+ returns<br />
+ 0 - unknown<br />
+ 3 - Dbase level 3<br />
+ 4 - Dbase level 4<br />
+ 5 - Dbase Level 5 (future)<br />
+ 7 - Dbase Level 7 (future)<br />
+ <br />
+ 1x - Clipper files (future)<br />
+ 2x - Foxbase files (future)<br />
+ <br />
+ </p>
+
+</div>
+</div>
+<a id="a97dfa59ab9a8e9f17454da0faceb023d" name="a97dfa59ab9a8e9f17454da0faceb023d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97dfa59ab9a8e9f17454da0faceb023d">&#9670;&nbsp;</a></span>DisplayError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::DisplayError </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iErrorCode</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Display error message on console for a given error number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iErrorCode</td><td>Error number to reference </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="ab14e4a11427f5efb81cba1dd32bd1aa1" name="ab14e4a11427f5efb81cba1dd32bd1aa1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab14e4a11427f5efb81cba1dd32bd1aa1">&#9670;&nbsp;</a></span>eGetDouble()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> xb::xbFile::eGetDouble </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>p</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get a portable double value. </p>
+<p >This routine returns a double value from an 8 byte character stream, accounting for endian type.</p>
+<p >Converts a double (64 bit floating point) value stored at p from a portable format to the machine format.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>pointer to memory containing the portable double value</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the double value. </dd></dl>
+
+</div>
+</div>
+<a id="ac40c991110ddc6fb30a72d90f4652762" name="ac40c991110ddc6fb30a72d90f4652762"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac40c991110ddc6fb30a72d90f4652762">&#9670;&nbsp;</a></span>eGetInt16()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::eGetInt16 </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>p</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get a portable short value. </p>
+<p >This routine returns a short int value from a 2 byte character stream, accounting for endian type.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>pointer to memory containing the portable long value</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the short value. </dd></dl>
+
+</div>
+</div>
+<a id="a60b24a5afc984c586bf384c7e915ba0d" name="a60b24a5afc984c586bf384c7e915ba0d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a60b24a5afc984c586bf384c7e915ba0d">&#9670;&nbsp;</a></span>eGetInt32()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt32 xb::xbFile::eGetInt32 </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>p</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get a portable long value. </p>
+<p >This routine returns a long int value from a 4 byte character stream, accounting for endian type.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>pointer to memory containing the portable long value</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the long value. </dd></dl>
+
+</div>
+</div>
+<a id="a936ade458e6d5e6d29f9b5031888d189" name="a936ade458e6d5e6d29f9b5031888d189"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a936ade458e6d5e6d29f9b5031888d189">&#9670;&nbsp;</a></span>eGetUInt16()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt16 xb::xbFile::eGetUInt16 </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>p</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get a portable unsigned short value. </p>
+<p >This routine returns a short unsigned int value from a 2 byte character stream, accounting for endian type.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>pointer to memory containing the portable long value</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the short value. </dd></dl>
+
+</div>
+</div>
+<a id="a78f052529d39a18deaface5a0d47d0b0" name="a78f052529d39a18deaface5a0d47d0b0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78f052529d39a18deaface5a0d47d0b0">&#9670;&nbsp;</a></span>eGetUInt32()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbFile::eGetUInt32 </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>p</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get a portable unsigned long value. </p>
+<p >This routine returns an unsigned long int value from a 4 byte character stream, accounting for endian type.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>pointer to memory containing the portable long value</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the unsigned long value. </dd></dl>
+
+</div>
+</div>
+<a id="a98b6ff533ae93f90c977a2ba23eeb105" name="a98b6ff533ae93f90c977a2ba23eeb105"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a98b6ff533ae93f90c977a2ba23eeb105">&#9670;&nbsp;</a></span>ePutDouble()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::ePutDouble </td>
+ <td>(</td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a>&#160;</td>
+ <td class="paramname"><em>d</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Write a portable double value to memory location. </p>
+<p >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.</p>
+<p >This routine puts a double value to an 8 byte character stream</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Pointer to memory to hold converted value </td></tr>
+ <tr><td class="paramname">d</td><td>Input value to be converted </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a29130f12739ac8fa837f4eaedf1338b2" name="a29130f12739ac8fa837f4eaedf1338b2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a29130f12739ac8fa837f4eaedf1338b2">&#9670;&nbsp;</a></span>ePutInt16()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::ePutInt16 </td>
+ <td>(</td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>s</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Write a portable short value to memory location. </p>
+<p >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.</p>
+<p >This routine puts a short value to a 2 byte character stream</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Pointer to memory to hold converted value </td></tr>
+ <tr><td class="paramname">s</td><td>Input value to be converted </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a19c37f76a2ccbb45019cb0fc373d3f46" name="a19c37f76a2ccbb45019cb0fc373d3f46"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a19c37f76a2ccbb45019cb0fc373d3f46">&#9670;&nbsp;</a></span>ePutInt32()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::ePutInt32 </td>
+ <td>(</td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>l</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Write a portable long value to memory location. </p>
+<p >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.</p>
+<p >This routine puts a long value to a 4 byte character stream.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Pointer to memory to hold converted value </td></tr>
+ <tr><td class="paramname">l</td><td>Input value to be converted </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a65e9839f92b96eac7b0d071fac3bbe40" name="a65e9839f92b96eac7b0d071fac3bbe40"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a65e9839f92b96eac7b0d071fac3bbe40">&#9670;&nbsp;</a></span>ePutUInt16()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::ePutUInt16 </td>
+ <td>(</td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt16&#160;</td>
+ <td class="paramname"><em>s</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Write a portable unsigned short value to memory location. </p>
+<p >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.</p>
+<p >This routine puts an unsigned short value to a 2 byte character stream</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Pointer to memory to hold converted value </td></tr>
+ <tr><td class="paramname">s</td><td>Input value to be converted </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="aa3f6ceae4b96f24875d86848bf13a173" name="aa3f6ceae4b96f24875d86848bf13a173"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3f6ceae4b96f24875d86848bf13a173">&#9670;&nbsp;</a></span>ePutUInt32()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::ePutUInt32 </td>
+ <td>(</td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ul</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Write a portable unsigned long value to memory location. </p>
+<p >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.</p>
+<p >This routine puts an unsigned long value to a 4 byte character stream.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Pointer to memory to hold converted value </td></tr>
+ <tr><td class="paramname">ul</td><td>Input value to be converted </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a78bd8a11dce102647095baf3aff2b006" name="a78bd8a11dce102647095baf3aff2b006"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78bd8a11dce102647095baf3aff2b006">&#9670;&nbsp;</a></span>FileExists() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbFile::FileExists </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determines if a file exists. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if file exists<br />
+ xbFalse if file does not exist </dd></dl>
+
+</div>
+</div>
+<a id="a61130b4fbf4cf9d5972dcb4993de2f94" name="a61130b4fbf4cf9d5972dcb4993de2f94"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a61130b4fbf4cf9d5972dcb4993de2f94">&#9670;&nbsp;</a></span>FileExists() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbFile::FileExists </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determines if a file exists. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- file name to check for</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if file exists<br />
+ xbFalse if file does not exist </dd></dl>
+
+</div>
+</div>
+<a id="a0592168f39a10f2a401a88ef781f6148" name="a0592168f39a10f2a401a88ef781f6148"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0592168f39a10f2a401a88ef781f6148">&#9670;&nbsp;</a></span>FileExists() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbFile::FileExists </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determines if a file exists. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- file name to check for </td></tr>
+ <tr><td class="paramname">iOption</td><td>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</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if both dbf and dbt files exist<br />
+ xbFalse if file does not exist </dd></dl>
+
+</div>
+</div>
+<a id="a174d8a6aabc9cfcd32fedbd1e5b13ddd" name="a174d8a6aabc9cfcd32fedbd1e5b13ddd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a174d8a6aabc9cfcd32fedbd1e5b13ddd">&#9670;&nbsp;</a></span>FileExists() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbFile::FileExists </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determines if a file exists. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOption</td><td>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</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if both files exist<br />
+ xbFalse if file does not exist </dd></dl>
+
+</div>
+</div>
+<a id="a7fa837938a32dc9ca3fbc81cbaf50f59" name="a7fa837938a32dc9ca3fbc81cbaf50f59"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7fa837938a32dc9ca3fbc81cbaf50f59">&#9670;&nbsp;</a></span>FileIsOpen()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbFile::FileIsOpen </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determines if file is open. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if file is open<br />
+ xbFalse if file is not open </dd></dl>
+
+</div>
+</div>
+<a id="a638e14262410a1627819f016a16cdce2" name="a638e14262410a1627819f016a16cdce2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a638e14262410a1627819f016a16cdce2">&#9670;&nbsp;</a></span>GetBlockSize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbFile::GetBlockSize </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the block size. </p>
+<dl class="section return"><dt>Returns</dt><dd>Block Size </dd></dl>
+
+</div>
+</div>
+<a id="a1d803a4bfc8ba0561267a0bf9e51f7d9" name="a1d803a4bfc8ba0561267a0bf9e51f7d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d803a4bfc8ba0561267a0bf9e51f7d9">&#9670;&nbsp;</a></span>GetDataDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetDataDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the current data directory. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the current data directory where the database files are stored. </dd></dl>
+
+</div>
+</div>
+<a id="a6982f973e81587b04916f4509746aaf5" name="a6982f973e81587b04916f4509746aaf5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6982f973e81587b04916f4509746aaf5">&#9670;&nbsp;</a></span>GetDefaultAutoCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::GetDefaultAutoCommit </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the default auto commit setting. </p>
+<p >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-&gt;Put() and dbf-&gt;AppendRecord().</p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if auto commit is turned on<br />
+ xbFalse is auto commit is turned off </dd></dl>
+
+</div>
+</div>
+<a id="a6fbb9c3a550ab0b3378f9586a57791d2" name="a6fbb9c3a550ab0b3378f9586a57791d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6fbb9c3a550ab0b3378f9586a57791d2">&#9670;&nbsp;</a></span>GetDefaultDateFormat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetDefaultDateFormat </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the default date format. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the default date format. </dd></dl>
+
+</div>
+</div>
+<a id="acd0fb2166b2bff7e8a1cf65a7bc8be1e" name="acd0fb2166b2bff7e8a1cf65a7bc8be1e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acd0fb2166b2bff7e8a1cf65a7bc8be1e">&#9670;&nbsp;</a></span>GetDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbFile::GetDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the directory name. </p>
+<dl class="section return"><dt>Returns</dt><dd>the directory name of the file </dd></dl>
+
+</div>
+</div>
+<a id="a49cd162f066eef2b829ba7c9f6620243" name="a49cd162f066eef2b829ba7c9f6620243"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a49cd162f066eef2b829ba7c9f6620243">&#9670;&nbsp;</a></span>GetEndianType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSsv::GetEndianType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the Endian type. </p>
+<dl class="section return"><dt>Returns</dt><dd>B - Big endian<br />
+ L - Little endian<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a56961d2a67b8e7470098626ac4dac7e4" name="a56961d2a67b8e7470098626ac4dac7e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a56961d2a67b8e7470098626ac4dac7e4">&#9670;&nbsp;</a></span>GetErrorMessage()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * xb::xbSsv::GetErrorMessage </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iErrorCode</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get an error message. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iErrorCode</td><td>ErrorCode is the error number of description to be returned. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a pointer to a string containing a text description for the error code. </dd></dl>
+
+</div>
+</div>
+<a id="af5127c92892816e9bbc5c19653c4147a" name="af5127c92892816e9bbc5c19653c4147a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af5127c92892816e9bbc5c19653c4147a">&#9670;&nbsp;</a></span>GetFileDirPart() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileDirPart </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sCompleteFileNameIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileDirPartOut</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the directory part of the file name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sCompleteFileNameIn</td><td>- a fully qualfied input file name </td></tr>
+ <tr><td class="paramname">sFileDirPartOut</td><td>- the returned directory name part out of sCompleteFileNameIn </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a60c53998e3d1b694134b20a87bc9bf5a" name="a60c53998e3d1b694134b20a87bc9bf5a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a60c53998e3d1b694134b20a87bc9bf5a">&#9670;&nbsp;</a></span>GetFileDirPart() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileDirPart </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileDirPartOut</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the directory part of the file name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileDirPartOut</td><td>- the returned directory name </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ab289b6ffe955321160c1f90220c22e25" name="ab289b6ffe955321160c1f90220c22e25"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab289b6ffe955321160c1f90220c22e25">&#9670;&nbsp;</a></span>GetFileExtPart() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileExtPart </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sCompleteFileNameIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileExtPartOut</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the extension part of the file name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sCompleteFileNameIn</td><td>- a fully qualfied input file name</td></tr>
+ <tr><td class="paramname">sFileExtPartOut</td><td>- the returned directory name part out of sCompleteFileNameIn </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a57a9222e5cbb51019d4eeb2c3ac89fa2" name="a57a9222e5cbb51019d4eeb2c3ac89fa2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a57a9222e5cbb51019d4eeb2c3ac89fa2">&#9670;&nbsp;</a></span>GetFileExtPart() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileExtPart </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileNameExtOut</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the extension part of the file name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileNameExtOut</td><td>- the returned extension part out of sCompleteFileNameIn </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a02df78f4c90313243f508fc56b95aba8" name="a02df78f4c90313243f508fc56b95aba8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a02df78f4c90313243f508fc56b95aba8">&#9670;&nbsp;</a></span>GetFileMtime()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileMtime </td>
+ <td>(</td>
+ <td class="paramtype">time_t &amp;&#160;</td>
+ <td class="paramname"><em>mtime</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the time of last file modification timestamp as reported by the OS. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">mtime</td><td>- returned time of last file modification </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ac95cb882ccbcdedc9a233c6ad9fed07a" name="ac95cb882ccbcdedc9a233c6ad9fed07a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac95cb882ccbcdedc9a233c6ad9fed07a">&#9670;&nbsp;</a></span>GetFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbFile::GetFileName </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the file name. </p>
+<dl class="section return"><dt>Returns</dt><dd>the file name portion of the file </dd></dl>
+
+</div>
+</div>
+<a id="a6110763c5ae996b72c7a62c15bdecc73" name="a6110763c5ae996b72c7a62c15bdecc73"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6110763c5ae996b72c7a62c15bdecc73">&#9670;&nbsp;</a></span>GetFileNamePart() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileNamePart </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sCompleteFileNameIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileNamePartOut</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the name part of the file name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sCompleteFileNameIn</td><td>- a fully qualified input file name </td></tr>
+ <tr><td class="paramname">sFileNamePartOut</td><td>- the returned file name part out of sCompleteFileNameIn </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a81422b3dd52763d2cc6c77237ec9af0a" name="a81422b3dd52763d2cc6c77237ec9af0a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a81422b3dd52763d2cc6c77237ec9af0a">&#9670;&nbsp;</a></span>GetFileNamePart() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileNamePart </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileNamePartOut</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the name part of the file name. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileNamePartOut</td><td>- the returned file name part out of sCompleteFileNameIn </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a50b63c39e49d44e52078038027b24cc5" name="a50b63c39e49d44e52078038027b24cc5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a50b63c39e49d44e52078038027b24cc5">&#9670;&nbsp;</a></span>GetFileSize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileSize </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt64 &amp;&#160;</td>
+ <td class="paramname"><em>ullFileSize</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the size of the file as reported by the OS. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ullFileSize</td><td>- unsigned long long field as output </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a5548236d38d43b89ae29b9a015b1f678" name="a5548236d38d43b89ae29b9a015b1f678"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5548236d38d43b89ae29b9a015b1f678">&#9670;&nbsp;</a></span>GetFileType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetFileType </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileTypeOut</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the file type aka Capitalized file extension. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileTypeOut</td><td>- the returned extension part out of sCompleteFileNameIn </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a31b4e641f93206ba23e2a5a27491dcd4" name="a31b4e641f93206ba23e2a5a27491dcd4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a31b4e641f93206ba23e2a5a27491dcd4">&#9670;&nbsp;</a></span>GetFqFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbFile::GetFqFileName </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the fully qualified file name. </p>
+<dl class="section return"><dt>Returns</dt><dd>the fully qualfied name of the file </dd></dl>
+
+</div>
+</div>
+<a id="abc9c06c95d71fbad8294e1ae8862cea9" name="abc9c06c95d71fbad8294e1ae8862cea9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc9c06c95d71fbad8294e1ae8862cea9">&#9670;&nbsp;</a></span>GetHomeDir()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::GetHomeDir </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sHomeDirOut</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get home directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sHomeDirOut</td><td>- Output home directory for current user. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a4822315bded3969b59aeeb683c373051" name="a4822315bded3969b59aeeb683c373051"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4822315bded3969b59aeeb683c373051">&#9670;&nbsp;</a></span>GetLogDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetLogDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afaef09435be73b3111f5edbd7091d861" name="afaef09435be73b3111f5edbd7091d861"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afaef09435be73b3111f5edbd7091d861">&#9670;&nbsp;</a></span>GetLogFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetLogFileName </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abd58031c5f1c3766c24d47a82e6fd9c5" name="abd58031c5f1c3766c24d47a82e6fd9c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd58031c5f1c3766c24d47a82e6fd9c5">&#9670;&nbsp;</a></span>GetMultiUser()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::GetMultiUser </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the multi user setting. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Multi user mode turned on.<br />
+ xbFalse - Multi user mode turned off.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a3c500dc9dac22c49496e4b29386b2dd3" name="a3c500dc9dac22c49496e4b29386b2dd3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c500dc9dac22c49496e4b29386b2dd3">&#9670;&nbsp;</a></span>GetOpenMode()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetOpenMode </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the open mode of the file. </p>
+<dl class="section return"><dt>Returns</dt><dd>XB_READ<br />
+ XB_READ_WRITE<br />
+ XB_WRITE<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a63cee13b473ee13970e93b11837b9e35" name="a63cee13b473ee13970e93b11837b9e35"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63cee13b473ee13970e93b11837b9e35">&#9670;&nbsp;</a></span>GetPathSeparator()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbSsv::GetPathSeparator </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the OS dependent path separator. </p>
+<dl class="section return"><dt>Returns</dt><dd>Returns '\' for windows environment, otherwise returns '/'. </dd></dl>
+
+</div>
+</div>
+<a id="a9b63e05b77f477ff6109ff7b9432c1b6" name="a9b63e05b77f477ff6109ff7b9432c1b6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9b63e05b77f477ff6109ff7b9432c1b6">&#9670;&nbsp;</a></span>GetShareMode()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetShareMode </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the share mode of the file. </p>
+<dl class="section return"><dt>Returns</dt><dd>XB_SINGLE_USER - (file buffering on&gt;<br />
+ XB_MULTI_USER - (file buffering off)<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="abfaeef85935331073d213465bb362a61" name="abfaeef85935331073d213465bb362a61"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abfaeef85935331073d213465bb362a61">&#9670;&nbsp;</a></span>GetTempDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetTempDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the current temp directory. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the current data directory where the database files are stored. </dd></dl>
+
+</div>
+</div>
+<a id="a7af337808919680b90710ad5e8a99232" name="a7af337808919680b90710ad5e8a99232"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7af337808919680b90710ad5e8a99232">&#9670;&nbsp;</a></span>GetXbaseFileTypeByte() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetXbaseFileTypeByte </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned char &amp;&#160;</td>
+ <td class="paramname"><em>cFileTypeByte</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the file type byte and version of the dbf file. </p>
+<p >Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- Name of file to examine </td></tr>
+ <tr><td class="paramname">cFileTypeByte</td><td>- Retruned first byte of dbf file </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a78aebdd21d3de46a450d5f835e3027f6" name="a78aebdd21d3de46a450d5f835e3027f6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78aebdd21d3de46a450d5f835e3027f6">&#9670;&nbsp;</a></span>GetXbaseFileTypeByte() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetXbaseFileTypeByte </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned char &amp;&#160;</td>
+ <td class="paramname"><em>cFileTypeByte</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16 &amp;&#160;</td>
+ <td class="paramname"><em>iVersion</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the file type byte and version of the dbf file. </p>
+<p >Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- Name of file to examine </td></tr>
+ <tr><td class="paramname">cFileTypeByte</td><td>- Returned first byte of dbf file </td></tr>
+ <tr><td class="paramname">iVersion</td><td>- Returned file version </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="aaf2e697751a0beff41432a66bb83fb5e" name="aaf2e697751a0beff41432a66bb83fb5e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaf2e697751a0beff41432a66bb83fb5e">&#9670;&nbsp;</a></span>GetXbaseFileTypeByte() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::GetXbaseFileTypeByte </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16 &amp;&#160;</td>
+ <td class="paramname"><em>iVersion</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the file type byte and version of the dbf file. </p>
+<p >Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- Name of file to examine </td></tr>
+ <tr><td class="paramname">iVersion</td><td>- Returned file version </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a361e3cc318bbf1c4d10f069e0800a24e" name="a361e3cc318bbf1c4d10f069e0800a24e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a361e3cc318bbf1c4d10f069e0800a24e">&#9670;&nbsp;</a></span>NameSuffixMissing()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::NameSuffixMissing </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determines status of file extension. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- Name of file to examine </td></tr>
+ <tr><td class="paramname">iOption</td><td>- Inspection type<br />
+ 1 check for DBF<br />
+ 2 check for NDX<br />
+ 3 check for MDX<br />
+ 4 check for NTX<br />
+</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 if suffix found<br />
+ 1 if suffix not found, lower case<br />
+ 2 is suffix not found, upper case<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="aa1bb80340abc7a5c22f87f878e9dc825" name="aa1bb80340abc7a5c22f87f878e9dc825"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa1bb80340abc7a5c22f87f878e9dc825">&#9670;&nbsp;</a></span>ReadBlock() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::ReadBlock </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulBlockNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>lReadSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>buf</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Read a block of data from file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulBlockNo</td><td>- block number to read </td></tr>
+ <tr><td class="paramname">lReadSize</td><td>- size of data to read at block location, set to 0 to read blocksize </td></tr>
+ <tr><td class="paramname">*buf</td><td>- pointer to buffer to write output data, assumed to be previosuly allocated and large enough to contain data </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="aef696b1c4c0ef5338e818599f695d485" name="aef696b1c4c0ef5338e818599f695d485"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aef696b1c4c0ef5338e818599f695d485">&#9670;&nbsp;</a></span>ReadBlock() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::ReadBlock </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulBlockNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulBlockSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>lReadSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>buf</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Read a block of data from file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulBlockNo</td><td>- block number to read </td></tr>
+ <tr><td class="paramname">ulBlockSize</td><td>- block size </td></tr>
+ <tr><td class="paramname">lReadSize</td><td>- size of data to read at block location, set to 0 to read blocksize </td></tr>
+ <tr><td class="paramname">buf</td><td>- pointer to buffer to write output data, assumed to be previosuly allocated and large enough to contain data </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a991c5676a6f38fa752435390989f413e" name="a991c5676a6f38fa752435390989f413e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a991c5676a6f38fa752435390989f413e">&#9670;&nbsp;</a></span>SetBlockSize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::SetBlockSize </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulBlockSize</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the block size. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulBlockSize</td><td>- unsigned long block size, divisible by 512 </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a57caaaadfbd089d9a58ecfcb50c88a6c" name="a57caaaadfbd089d9a58ecfcb50c88a6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a57caaaadfbd089d9a58ecfcb50c88a6c">&#9670;&nbsp;</a></span>SetDataDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDataDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDataDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the data directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDataDirectory</td><td>Set the data directory. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a25542afadaaf39b4fb5a1772a29cc0bd" name="a25542afadaaf39b4fb5a1772a29cc0bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a25542afadaaf39b4fb5a1772a29cc0bd">&#9670;&nbsp;</a></span>SetDefaultAutoCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDefaultAutoCommit </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bDefaultAutoCommit</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the default auto commit. </p>
+<p >Disabling auto commit requires the application execute explicit updates using dbf-&gt;Put() and dbf-&gt;AppendRecord(). With auto commit on, the library posts updates automatically when moving off the current record or closing a file.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bDefaultAutoCommit</td><td>xbTrue - Enable default auto commit.<br />
+ xbFalse - Disable default auto commit.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a5f74db23f8902846d581935c7db73f9c" name="a5f74db23f8902846d581935c7db73f9c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f74db23f8902846d581935c7db73f9c">&#9670;&nbsp;</a></span>SetDefaultDateFormat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDefaultDateFormat </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDefaultDateFormat</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the default date format. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDefaultDateFormat</td><td>Set the default date format. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="ae78a85255488bc78964c16946dbaead3" name="ae78a85255488bc78964c16946dbaead3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae78a85255488bc78964c16946dbaead3">&#9670;&nbsp;</a></span>SetDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::SetDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDirectory</td><td>- Valid directory name </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a904ec348fd029d4a76e72b8fde636108" name="a904ec348fd029d4a76e72b8fde636108"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a904ec348fd029d4a76e72b8fde636108">&#9670;&nbsp;</a></span>SetEndianType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetEndianType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the endian type. </p>
+<p >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. </p>
+
+</div>
+</div>
+<a id="a5419eb27e56822f828b2b88a9502a636" name="a5419eb27e56822f828b2b88a9502a636"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5419eb27e56822f828b2b88a9502a636">&#9670;&nbsp;</a></span>SetFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::SetFileName </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the filename. </p>
+<p >This routine builds out two internal variables from the input file name<br />
+ sFileName - the file name part<br />
+ sFqFileName - the fully qualified file name<br />
+</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileName</td><td>- Input file name </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="aee832fa11db2077a532f49e1329bd05a" name="aee832fa11db2077a532f49e1329bd05a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aee832fa11db2077a532f49e1329bd05a">&#9670;&nbsp;</a></span>SetFqFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::SetFqFileName </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFqFileName</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the fully qualifed filename. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFqFileName</td><td>- Fully qualifed input file name </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a060acbfaa8d528f86cb59301814b414a" name="a060acbfaa8d528f86cb59301814b414a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a060acbfaa8d528f86cb59301814b414a">&#9670;&nbsp;</a></span>SetHomeFolders()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::SetHomeFolders </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set Home Folders. </p>
+<p >Create xbase64 log, data and temp folders in the home directory for current usre.</p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a7b992ed97281bf25b5b66f5df686225e" name="a7b992ed97281bf25b5b66f5df686225e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7b992ed97281bf25b5b66f5df686225e">&#9670;&nbsp;</a></span>SetLogDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetLogDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sLogDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7f05738e7dfd759e89990242ef503544" name="a7f05738e7dfd759e89990242ef503544"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7f05738e7dfd759e89990242ef503544">&#9670;&nbsp;</a></span>SetLogFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetLogFileName </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sLogFileName</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aba6e59512f7172dd55dcf92059e5928c" name="aba6e59512f7172dd55dcf92059e5928c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba6e59512f7172dd55dcf92059e5928c">&#9670;&nbsp;</a></span>SetMultiUser()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetMultiUser </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bMultiUser</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the multi user setting. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bMultiUser</td><td>xbTrue - Turn on Multi user mode.<br />
+ xbFalse - Turn off Multi user mode.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a17c229a20ef9ab4034df8f9cd657adb2" name="a17c229a20ef9ab4034df8f9cd657adb2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a17c229a20ef9ab4034df8f9cd657adb2">&#9670;&nbsp;</a></span>SetTempDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetTempDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTempDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the temp directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sTempDirectory</td><td>Set the data direcroty. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a5d871dcfecc2b4338f7a13722aab766c" name="a5d871dcfecc2b4338f7a13722aab766c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5d871dcfecc2b4338f7a13722aab766c">&#9670;&nbsp;</a></span>WriteBlock()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::WriteBlock </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulBlockNo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>lWriteSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>buf</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Write a block of data to file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulBlockNo</td><td>- block number to write </td></tr>
+ <tr><td class="paramname">lWriteSize</td><td>- size of data to write, set to 0 to write blocksize </td></tr>
+ <tr><td class="paramname">*buf</td><td>- pointer to buffer of data to be written </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a18830b5755d74818f60d9c7ce38ddf2d" name="a18830b5755d74818f60d9c7ce38ddf2d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a18830b5755d74818f60d9c7ce38ddf2d">&#9670;&nbsp;</a></span>xbFclose()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFclose </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fclose. </p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="af5b6356832d2a67212070a1aa605f170" name="af5b6356832d2a67212070a1aa605f170"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af5b6356832d2a67212070a1aa605f170">&#9670;&nbsp;</a></span>xbFeof()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFeof </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary feof. </p>
+<dl class="section return"><dt>Returns</dt><dd>non zero if end-of-file is set for the stream. </dd></dl>
+
+</div>
+</div>
+<a id="ad205184d43409f04216540ae22f15009" name="ad205184d43409f04216540ae22f15009"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad205184d43409f04216540ae22f15009">&#9670;&nbsp;</a></span>xbFflush()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFflush </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fflush. </p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a5ee229bda4d7d6695e122200e581e7a6" name="a5ee229bda4d7d6695e122200e581e7a6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5ee229bda4d7d6695e122200e581e7a6">&#9670;&nbsp;</a></span>xbFgetc() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFgetc </td>
+ <td>(</td>
+ <td class="paramtype">char &amp;&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fgetc. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>- output character returned by fgetc </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="afb1c584d2895ffb7834df80aea7eb1e4" name="afb1c584d2895ffb7834df80aea7eb1e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afb1c584d2895ffb7834df80aea7eb1e4">&#9670;&nbsp;</a></span>xbFgetc() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFgetc </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32 &amp;&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fgetc. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>- output integer returned by fgetc </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ad245955ace26e5dde85fd4373b30d026" name="ad245955ace26e5dde85fd4373b30d026"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad245955ace26e5dde85fd4373b30d026">&#9670;&nbsp;</a></span>xbFgets()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFgets </td>
+ <td>(</td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>lSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fgets. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lSize</td><td>- reads in at most, one character less than lSize </td></tr>
+ <tr><td class="paramname">s</td><td>- an <a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing data returned by fseek </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ab0fa19686ca8953ff4b556fb5b249135" name="ab0fa19686ca8953ff4b556fb5b249135"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab0fa19686ca8953ff4b556fb5b249135">&#9670;&nbsp;</a></span>xbFopen() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFopen </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sOpenMode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iShareMode</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fopen. </p>
+<p >This routine supports all the standard C library open modes. The Xbase routines only use "r" and "r+b".</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sOpenMode</td><td><table class="doxtable">
+<tr>
+<th>OpenMode</th><th>Description </th></tr>
+<tr>
+<td>r</td><td>Reading </td></tr>
+<tr>
+<td>r+</td><td>Reading and Writing </td></tr>
+<tr>
+<td>w</td><td>Open for writing. Truncate to zero bytes if it exists </td></tr>
+<tr>
+<td>w+</td><td>Open for reading and writing, truncate to zero bytes if it exists </td></tr>
+<tr>
+<td>a</td><td>Open for append </td></tr>
+<tr>
+<td>a+</td><td>Open for reading and writing (at end). </td></tr>
+</table>
+The mode can also include the letter "b" for binary ie; "r+b". The "b" is ignored on POSIX compliant systems, but is included for cross platform compatibility. </td></tr>
+ <tr><td class="paramname">sFileName</td><td>File name to open </td></tr>
+ <tr><td class="paramname">iShareMode</td><td>XB_SINGLE_USER<br />
+ XB_MULTI_USER<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a0548cedf0f26b7d8ac221f75b0cd048c" name="a0548cedf0f26b7d8ac221f75b0cd048c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0548cedf0f26b7d8ac221f75b0cd048c">&#9670;&nbsp;</a></span>xbFopen() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFopen </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sOpenMode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iShareMode</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fopen. </p>
+<p >This routine supports all the standard C library open modes. The Xbase routines only use "r" and "r+".</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sOpenMode</td><td><table class="doxtable">
+<tr>
+<th>OpenMode</th><th>Description </th></tr>
+<tr>
+<td>r</td><td>Reading </td></tr>
+<tr>
+<td>r+</td><td>Reading and Writing </td></tr>
+<tr>
+<td>w</td><td>Open for writing. Truncate to zero bytes if it exists </td></tr>
+<tr>
+<td>w+</td><td>Open for reading and writing, truncate to zero bytes if it exists </td></tr>
+<tr>
+<td>a</td><td>Open for append </td></tr>
+<tr>
+<td>a+</td><td>Open for reading and writing (at end). </td></tr>
+</table>
+The mode can also include the letter "b" for binary ie; "r+b". The "b" is ignored on POSIX compliant systems, but is included for cross platform compatibility. </td></tr>
+ <tr><td class="paramname">iShareMode</td><td>XB_SINGLE_USER<br />
+ XB_MULTI_USER<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a7cdfef5ede9ac98d44a28a6b7a70972c" name="a7cdfef5ede9ac98d44a28a6b7a70972c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7cdfef5ede9ac98d44a28a6b7a70972c">&#9670;&nbsp;</a></span>xbFopen() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFopen </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOpenMode</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aabd113333b49c36cad23244b392baab4" name="aabd113333b49c36cad23244b392baab4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aabd113333b49c36cad23244b392baab4">&#9670;&nbsp;</a></span>xbFopen() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFopen </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOpenMode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iShareMode</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fopen. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iOpenMode</td><td>XB_READ<br />
+ XB_READ_WRITE<br />
+ </td></tr>
+ <tr><td class="paramname">iShareMode</td><td>XB_SINGLE_USER<br />
+ XB_MULTI_USER<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="af2e940c78956e5cb6824f9a1bc404896" name="af2e940c78956e5cb6824f9a1bc404896"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af2e940c78956e5cb6824f9a1bc404896">&#9670;&nbsp;</a></span>xbFputc() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFputc </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fputc. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Character to write </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a863f74cf17df8186d88586b4d2a6441a" name="a863f74cf17df8186d88586b4d2a6441a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a863f74cf17df8186d88586b4d2a6441a">&#9670;&nbsp;</a></span>xbFputc() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFputc </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>iNoOfTimes</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fputc. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Character to write </td></tr>
+ <tr><td class="paramname">iNoOfTimes</td><td>Number of times to write the character </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a698f3b40216778562e639e6ca1a47573" name="a698f3b40216778562e639e6ca1a47573"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a698f3b40216778562e639e6ca1a47573">&#9670;&nbsp;</a></span>xbFputs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFputs </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fputs. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> to write to file </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ab4f6afaa1f77539f27a4f05c26e54e2f" name="ab4f6afaa1f77539f27a4f05c26e54e2f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab4f6afaa1f77539f27a4f05c26e54e2f">&#9670;&nbsp;</a></span>xbFread()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFread </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>nmemb</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fread. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>Pointer to data to write </td></tr>
+ <tr><td class="paramname">size</td><td>size of write </td></tr>
+ <tr><td class="paramname">nmemb</td><td>Number of times to read it </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a5337ab8918df240910c0d19b4f298e3d" name="a5337ab8918df240910c0d19b4f298e3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5337ab8918df240910c0d19b4f298e3d">&#9670;&nbsp;</a></span>xbFseek()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFseek </td>
+ <td>(</td>
+ <td class="paramtype">xbInt64&#160;</td>
+ <td class="paramname"><em>lOffset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>iWhence</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fseek. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lOffset</td><td>Position in file to seek to </td></tr>
+ <tr><td class="paramname">iWhence</td><td>SEEK_SET - from beginning of file<br />
+ SEEK_CUR - from current position<br />
+ SEEK_END - from end of file<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a0e1c06aedfa7fbcb92e117f891edd13b" name="a0e1c06aedfa7fbcb92e117f891edd13b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0e1c06aedfa7fbcb92e117f891edd13b">&#9670;&nbsp;</a></span>xbFtell()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t xb::xbFile::xbFtell </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary ftell. </p>
+<p >Returns the current file position. </p><dl class="section return"><dt>Returns</dt><dd>Current file position. </dd></dl>
+
+</div>
+</div>
+<a id="a9891b792f585a696f38a5cf959e30918" name="a9891b792f585a696f38a5cf959e30918"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9891b792f585a696f38a5cf959e30918">&#9670;&nbsp;</a></span>xbFTurnOffFileBuffering()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::xbFTurnOffFileBuffering </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Turn off file buffering. </p>
+<p >Turns off file buffering. File buffering can't be used while in multi user mode. </p>
+
+</div>
+</div>
+<a id="a6aadd871d1782944703fed773d44b85f" name="a6aadd871d1782944703fed773d44b85f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6aadd871d1782944703fed773d44b85f">&#9670;&nbsp;</a></span>xbFwrite()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbFwrite </td>
+ <td>(</td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>nmemb</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for standard libary fwrite. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>Pointer to data buffer to write </td></tr>
+ <tr><td class="paramname">size</td><td>Size of data to write </td></tr>
+ <tr><td class="paramname">nmemb</td><td>Number of times to write data buffer </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a08463f506f425c2385acbe1a561506e9" name="a08463f506f425c2385acbe1a561506e9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a08463f506f425c2385acbe1a561506e9">&#9670;&nbsp;</a></span>xbReadUntil()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbReadUntil </td>
+ <td>(</td>
+ <td class="paramtype">const char&#160;</td>
+ <td class="paramname"><em>cDelim</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sOut</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Read file until a particular character is encountered on input stream. </p>
+<p >This routine will read until cDelim is encountered or eof, which ever occurs first.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">cDelim</td><td>Delimiter to stop writing at. </td></tr>
+ <tr><td class="paramname">sOut</td><td>Output <a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing data read </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="ab3c668a8570433188382d31d7c60bd48" name="ab3c668a8570433188382d31d7c60bd48"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab3c668a8570433188382d31d7c60bd48">&#9670;&nbsp;</a></span>xbRemove() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbRemove </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Delete file. </p>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a58f6a6751fdf7e9549c273bb75d93eb5" name="a58f6a6751fdf7e9549c273bb75d93eb5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a58f6a6751fdf7e9549c273bb75d93eb5">&#9670;&nbsp;</a></span>xbRemove() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbRemove </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileNameIn</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Delete file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileNameIn</td><td>Name of file to delete </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a6d919366c2ec95e529906bf8842cbf07" name="a6d919366c2ec95e529906bf8842cbf07"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d919366c2ec95e529906bf8842cbf07">&#9670;&nbsp;</a></span>xbRemove() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbRemove </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFileNameIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Delete file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFileNameIn</td><td>Name of file to delete </td></tr>
+ <tr><td class="paramname">iOption</td><td>If Set to 1, assume this is a delete request for a dbf file, and should rename the dbt file also </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="afc8ce113aa72611a278233f9bb170012" name="afc8ce113aa72611a278233f9bb170012"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afc8ce113aa72611a278233f9bb170012">&#9670;&nbsp;</a></span>xbRename()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbRename </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sOldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sNewName</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Rename file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sOldName</td><td>Original file name </td></tr>
+ <tr><td class="paramname">sNewName</td><td>New file name </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="a7996b6e084665c37c3892faea64b3505" name="a7996b6e084665c37c3892faea64b3505"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7996b6e084665c37c3892faea64b3505">&#9670;&nbsp;</a></span>xbRewind()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbFile::xbRewind </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for rewind. </p>
+<p >Set file pointer at beginning of file. </p>
+
+</div>
+</div>
+<a id="a518bfcbfa3699d883cf89affee383296" name="a518bfcbfa3699d883cf89affee383296"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a518bfcbfa3699d883cf89affee383296">&#9670;&nbsp;</a></span>xbTruncate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbFile::xbTruncate </td>
+ <td>(</td>
+ <td class="paramtype">xbInt64&#160;</td>
+ <td class="paramname"><em>llSize</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Xbase wrapper for ftruncate. </p>
+<p >Set file size to llSize </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">llSize</td><td>New file size. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a6219f1b5e24ea12fe158cd5aea56988e" name="a6219f1b5e24ea12fe158cd5aea56988e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6219f1b5e24ea12fe158cd5aea56988e">&#9670;&nbsp;</a></span>ErrorCodeText</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char* xb::xbSsv::ErrorCodeText[]</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5849e813f5e8e1cd180f0366637adbf3" name="a5849e813f5e8e1cd180f0366637adbf3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5849e813f5e8e1cd180f0366637adbf3">&#9670;&nbsp;</a></span>iEndianType</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSsv::iEndianType = 0</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9dec3164c3b264882df634915ecf21da" name="a9dec3164c3b264882df634915ecf21da"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9dec3164c3b264882df634915ecf21da">&#9670;&nbsp;</a></span>sNullString</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> xb::xbSsv::sNullString = &quot;&quot;</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae39a67ea391b46055d4ca299cb222004" name="ae39a67ea391b46055d4ca299cb222004"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae39a67ea391b46055d4ca299cb222004">&#9670;&nbsp;</a></span>xbase</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a>* xb::xbFile::xbase</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/include/<a class="el" href="xbfile_8h_source.html">xbfile.h</a></li>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/core/<a class="el" href="xbfile_8cpp.html">xbfile.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/classxb_1_1xbFile.png b/docs/doxygen/html/classxb_1_1xbFile.png
new file mode 100644
index 0000000..cb7b45f
--- /dev/null
+++ b/docs/doxygen/html/classxb_1_1xbFile.png
Binary files differ
diff --git a/docs/doxygen/html/classxb_1_1xbSsv.html b/docs/doxygen/html/classxb_1_1xbSsv.html
new file mode 100644
index 0000000..b04c9b3
--- /dev/null
+++ b/docs/doxygen/html/classxb_1_1xbSsv.html
@@ -0,0 +1,816 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: xb::xbSsv Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="namespacexb.html">xb</a></li><li class="navelem"><a class="el" href="classxb_1_1xbSsv.html">xbSsv</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-attribs">Static Protected Attributes</a> </div>
+ <div class="headertitle"><div class="title">xb::xbSsv Class Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>Class for handling shared system variables.
+ <a href="classxb_1_1xbSsv.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="xbssv_8h_source.html">xbssv.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for xb::xbSsv:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classxb_1_1xbSsv.png" usemap="#xb::xbSsv_map" alt=""/>
+ <map id="xb::xbSsv_map" name="xb::xbSsv_map">
+<area href="classxb_1_1xbDate.html" title="xbDate class." alt="xb::xbDate" shape="rect" coords="0,56,84,80"/>
+<area href="classxb_1_1xbFile.html" title="Class for handling low level file I/O." alt="xb::xbFile" shape="rect" coords="94,56,178,80"/>
+<area href="classxb_1_1xbTblMgr.html" alt="xb::xbTblMgr" shape="rect" coords="188,56,272,80"/>
+<area href="classxb_1_1xbDbf.html" title="Base class for handling dbf files/tables." alt="xb::xbDbf" shape="rect" coords="94,112,178,136"/>
+<area href="classxb_1_1xbXBase.html" title="xbXbase class." alt="xb::xbXBase" shape="rect" coords="188,112,272,136"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a58f85692c3167af20b1a7c17c621523b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a58f85692c3167af20b1a7c17c621523b">xbSsv</a> ()</td></tr>
+<tr class="memdesc:a58f85692c3167af20b1a7c17c621523b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class Constructor. <a href="classxb_1_1xbSsv.html#a58f85692c3167af20b1a7c17c621523b">More...</a><br /></td></tr>
+<tr class="separator:a58f85692c3167af20b1a7c17c621523b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97dfa59ab9a8e9f17454da0faceb023d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">DisplayError</a> (xbInt16 ErrorCode) const</td></tr>
+<tr class="memdesc:a97dfa59ab9a8e9f17454da0faceb023d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display error message on console for a given error number. <a href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">More...</a><br /></td></tr>
+<tr class="separator:a97dfa59ab9a8e9f17454da0faceb023d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">GetDefaultDateFormat</a> () const</td></tr>
+<tr class="memdesc:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default date format. <a href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">More...</a><br /></td></tr>
+<tr class="separator:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">GetDataDirectory</a> () const</td></tr>
+<tr class="memdesc:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current data directory. <a href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">More...</a><br /></td></tr>
+<tr class="separator:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abfaeef85935331073d213465bb362a61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">GetTempDirectory</a> () const</td></tr>
+<tr class="memdesc:abfaeef85935331073d213465bb362a61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current temp directory. <a href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">More...</a><br /></td></tr>
+<tr class="separator:abfaeef85935331073d213465bb362a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc9c06c95d71fbad8294e1ae8862cea9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">GetHomeDir</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sHomeDirOut)</td></tr>
+<tr class="memdesc:abc9c06c95d71fbad8294e1ae8862cea9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get home directory. <a href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">More...</a><br /></td></tr>
+<tr class="separator:abc9c06c95d71fbad8294e1ae8862cea9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49cd162f066eef2b829ba7c9f6620243"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">GetEndianType</a> () const</td></tr>
+<tr class="memdesc:a49cd162f066eef2b829ba7c9f6620243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Endian type. <a href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">More...</a><br /></td></tr>
+<tr class="separator:a49cd162f066eef2b829ba7c9f6620243"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56961d2a67b8e7470098626ac4dac7e4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">GetErrorMessage</a> (xbInt16 ErrorCode) const</td></tr>
+<tr class="memdesc:a56961d2a67b8e7470098626ac4dac7e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an error message. <a href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">More...</a><br /></td></tr>
+<tr class="separator:a56961d2a67b8e7470098626ac4dac7e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63cee13b473ee13970e93b11837b9e35"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">GetPathSeparator</a> () const</td></tr>
+<tr class="memdesc:a63cee13b473ee13970e93b11837b9e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the OS dependent path separator. <a href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">More...</a><br /></td></tr>
+<tr class="separator:a63cee13b473ee13970e93b11837b9e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">SetDataDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDataDirectory)</td></tr>
+<tr class="memdesc:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data directory. <a href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">More...</a><br /></td></tr>
+<tr class="separator:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f74db23f8902846d581935c7db73f9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">SetDefaultDateFormat</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDefaultDateFormat)</td></tr>
+<tr class="memdesc:a5f74db23f8902846d581935c7db73f9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default date format. <a href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">More...</a><br /></td></tr>
+<tr class="separator:a5f74db23f8902846d581935c7db73f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a17c229a20ef9ab4034df8f9cd657adb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">SetTempDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTempDirectory)</td></tr>
+<tr class="memdesc:a17c229a20ef9ab4034df8f9cd657adb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the temp directory. <a href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">More...</a><br /></td></tr>
+<tr class="separator:a17c229a20ef9ab4034df8f9cd657adb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62e4fd0a5888665c76bbbad962794e72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">BitSet</a> (unsigned char c, xbInt16 iBitNo) const</td></tr>
+<tr class="memdesc:a62e4fd0a5888665c76bbbad962794e72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check a bit in a one byte field and see if it is set. <a href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">More...</a><br /></td></tr>
+<tr class="separator:a62e4fd0a5888665c76bbbad962794e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8551b15a3ce4fa2a40d698db01f4a9ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a8551b15a3ce4fa2a40d698db01f4a9ae">BitDump</a> (unsigned char c) const</td></tr>
+<tr class="separator:a8551b15a3ce4fa2a40d698db01f4a9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba1395b8e4c7f28c3614061de6e49190"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#aba1395b8e4c7f28c3614061de6e49190">BitDump</a> (char c) const</td></tr>
+<tr class="separator:aba1395b8e4c7f28c3614061de6e49190"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6982f973e81587b04916f4509746aaf5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">GetDefaultAutoCommit</a> () const</td></tr>
+<tr class="memdesc:a6982f973e81587b04916f4509746aaf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default auto commit setting. <a href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">More...</a><br /></td></tr>
+<tr class="separator:a6982f973e81587b04916f4509746aaf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">SetDefaultAutoCommit</a> (<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bDefaultAutoCommit)</td></tr>
+<tr class="memdesc:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default auto commit. <a href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">More...</a><br /></td></tr>
+<tr class="separator:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4822315bded3969b59aeeb683c373051"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a4822315bded3969b59aeeb683c373051">GetLogDirectory</a> () const</td></tr>
+<tr class="separator:a4822315bded3969b59aeeb683c373051"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afaef09435be73b3111f5edbd7091d861"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#afaef09435be73b3111f5edbd7091d861">GetLogFileName</a> () const</td></tr>
+<tr class="separator:afaef09435be73b3111f5edbd7091d861"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b992ed97281bf25b5b66f5df686225e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a7b992ed97281bf25b5b66f5df686225e">SetLogDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLogDirectory)</td></tr>
+<tr class="separator:a7b992ed97281bf25b5b66f5df686225e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f05738e7dfd759e89990242ef503544"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a7f05738e7dfd759e89990242ef503544">SetLogFileName</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLogFileName)</td></tr>
+<tr class="separator:a7f05738e7dfd759e89990242ef503544"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">GetMultiUser</a> () const</td></tr>
+<tr class="memdesc:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the multi user setting. <a href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">More...</a><br /></td></tr>
+<tr class="separator:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba6e59512f7172dd55dcf92059e5928c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">SetMultiUser</a> (<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bMultiUser)</td></tr>
+<tr class="memdesc:aba6e59512f7172dd55dcf92059e5928c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the multi user setting. <a href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">More...</a><br /></td></tr>
+<tr class="separator:aba6e59512f7172dd55dcf92059e5928c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a6219f1b5e24ea12fe158cd5aea56988e"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6219f1b5e24ea12fe158cd5aea56988e">ErrorCodeText</a> []</td></tr>
+<tr class="separator:a6219f1b5e24ea12fe158cd5aea56988e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a904ec348fd029d4a76e72b8fde636108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">SetEndianType</a> ()</td></tr>
+<tr class="memdesc:a904ec348fd029d4a76e72b8fde636108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the endian type. <a href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">More...</a><br /></td></tr>
+<tr class="separator:a904ec348fd029d4a76e72b8fde636108"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-static-attribs" name="pro-static-attribs"></a>
+Static Protected Attributes</h2></td></tr>
+<tr class="memitem:a5849e813f5e8e1cd180f0366637adbf3"><td class="memItemLeft" align="right" valign="top">static xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a5849e813f5e8e1cd180f0366637adbf3">iEndianType</a> = 0</td></tr>
+<tr class="separator:a5849e813f5e8e1cd180f0366637adbf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9dec3164c3b264882df634915ecf21da"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classxb_1_1xbString.html">xbString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a9dec3164c3b264882df634915ecf21da">sNullString</a> = &quot;&quot;</td></tr>
+<tr class="separator:a9dec3164c3b264882df634915ecf21da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p >Class for handling shared system variables. </p>
+<p >This class defines static variables which are referenced across class instances.</p>
+<p >This class is designed to have the variables set when the <a class="el" href="classxb_1_1xbXBase.html" title="xbXbase class.">xbXBase</a> class constructor is called (<a class="el" href="classxb_1_1xbXBase.html" title="xbXbase class.">xbXBase</a> is a derived class). The xbXbase 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't require additional updates. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a58f85692c3167af20b1a7c17c621523b" name="a58f85692c3167af20b1a7c17c621523b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a58f85692c3167af20b1a7c17c621523b">&#9670;&nbsp;</a></span>xbSsv()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbSsv::xbSsv </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Class Constructor. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="aba1395b8e4c7f28c3614061de6e49190" name="aba1395b8e4c7f28c3614061de6e49190"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba1395b8e4c7f28c3614061de6e49190">&#9670;&nbsp;</a></span>BitDump() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::BitDump </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8551b15a3ce4fa2a40d698db01f4a9ae" name="a8551b15a3ce4fa2a40d698db01f4a9ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8551b15a3ce4fa2a40d698db01f4a9ae">&#9670;&nbsp;</a></span>BitDump() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::BitDump </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a62e4fd0a5888665c76bbbad962794e72" name="a62e4fd0a5888665c76bbbad962794e72"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a62e4fd0a5888665c76bbbad962794e72">&#9670;&nbsp;</a></span>BitSet()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::BitSet </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iBitNo</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Check a bit in a one byte field and see if it is set. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>One byte char field to examine. </td></tr>
+ <tr><td class="paramname">iBitNo</td><td>which bit to examine. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue Bit is set<br />
+ xbFalse Bit is not set </dd></dl>
+
+</div>
+</div>
+<a id="a97dfa59ab9a8e9f17454da0faceb023d" name="a97dfa59ab9a8e9f17454da0faceb023d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97dfa59ab9a8e9f17454da0faceb023d">&#9670;&nbsp;</a></span>DisplayError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::DisplayError </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iErrorCode</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Display error message on console for a given error number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iErrorCode</td><td>Error number to reference </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a1d803a4bfc8ba0561267a0bf9e51f7d9" name="a1d803a4bfc8ba0561267a0bf9e51f7d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d803a4bfc8ba0561267a0bf9e51f7d9">&#9670;&nbsp;</a></span>GetDataDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetDataDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the current data directory. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the current data directory where the database files are stored. </dd></dl>
+
+</div>
+</div>
+<a id="a6982f973e81587b04916f4509746aaf5" name="a6982f973e81587b04916f4509746aaf5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6982f973e81587b04916f4509746aaf5">&#9670;&nbsp;</a></span>GetDefaultAutoCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::GetDefaultAutoCommit </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the default auto commit setting. </p>
+<p >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-&gt;Put() and dbf-&gt;AppendRecord().</p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if auto commit is turned on<br />
+ xbFalse is auto commit is turned off </dd></dl>
+
+</div>
+</div>
+<a id="a6fbb9c3a550ab0b3378f9586a57791d2" name="a6fbb9c3a550ab0b3378f9586a57791d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6fbb9c3a550ab0b3378f9586a57791d2">&#9670;&nbsp;</a></span>GetDefaultDateFormat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetDefaultDateFormat </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the default date format. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the default date format. </dd></dl>
+
+</div>
+</div>
+<a id="a49cd162f066eef2b829ba7c9f6620243" name="a49cd162f066eef2b829ba7c9f6620243"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a49cd162f066eef2b829ba7c9f6620243">&#9670;&nbsp;</a></span>GetEndianType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSsv::GetEndianType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the Endian type. </p>
+<dl class="section return"><dt>Returns</dt><dd>B - Big endian<br />
+ L - Little endian<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a56961d2a67b8e7470098626ac4dac7e4" name="a56961d2a67b8e7470098626ac4dac7e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a56961d2a67b8e7470098626ac4dac7e4">&#9670;&nbsp;</a></span>GetErrorMessage()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * xb::xbSsv::GetErrorMessage </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iErrorCode</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get an error message. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iErrorCode</td><td>ErrorCode is the error number of description to be returned. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a pointer to a string containing a text description for the error code. </dd></dl>
+
+</div>
+</div>
+<a id="abc9c06c95d71fbad8294e1ae8862cea9" name="abc9c06c95d71fbad8294e1ae8862cea9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc9c06c95d71fbad8294e1ae8862cea9">&#9670;&nbsp;</a></span>GetHomeDir()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::GetHomeDir </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sHomeDirOut</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get home directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sHomeDirOut</td><td>- Output home directory for current user. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a4822315bded3969b59aeeb683c373051" name="a4822315bded3969b59aeeb683c373051"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4822315bded3969b59aeeb683c373051">&#9670;&nbsp;</a></span>GetLogDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetLogDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afaef09435be73b3111f5edbd7091d861" name="afaef09435be73b3111f5edbd7091d861"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afaef09435be73b3111f5edbd7091d861">&#9670;&nbsp;</a></span>GetLogFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetLogFileName </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abd58031c5f1c3766c24d47a82e6fd9c5" name="abd58031c5f1c3766c24d47a82e6fd9c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd58031c5f1c3766c24d47a82e6fd9c5">&#9670;&nbsp;</a></span>GetMultiUser()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::GetMultiUser </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the multi user setting. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Multi user mode turned on.<br />
+ xbFalse - Multi user mode turned off.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a63cee13b473ee13970e93b11837b9e35" name="a63cee13b473ee13970e93b11837b9e35"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63cee13b473ee13970e93b11837b9e35">&#9670;&nbsp;</a></span>GetPathSeparator()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbSsv::GetPathSeparator </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the OS dependent path separator. </p>
+<dl class="section return"><dt>Returns</dt><dd>Returns '\' for windows environment, otherwise returns '/'. </dd></dl>
+
+</div>
+</div>
+<a id="abfaeef85935331073d213465bb362a61" name="abfaeef85935331073d213465bb362a61"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abfaeef85935331073d213465bb362a61">&#9670;&nbsp;</a></span>GetTempDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetTempDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the current temp directory. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the current data directory where the database files are stored. </dd></dl>
+
+</div>
+</div>
+<a id="a57caaaadfbd089d9a58ecfcb50c88a6c" name="a57caaaadfbd089d9a58ecfcb50c88a6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a57caaaadfbd089d9a58ecfcb50c88a6c">&#9670;&nbsp;</a></span>SetDataDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDataDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDataDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the data directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDataDirectory</td><td>Set the data directory. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a25542afadaaf39b4fb5a1772a29cc0bd" name="a25542afadaaf39b4fb5a1772a29cc0bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a25542afadaaf39b4fb5a1772a29cc0bd">&#9670;&nbsp;</a></span>SetDefaultAutoCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDefaultAutoCommit </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bDefaultAutoCommit</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the default auto commit. </p>
+<p >Disabling auto commit requires the application execute explicit updates using dbf-&gt;Put() and dbf-&gt;AppendRecord(). With auto commit on, the library posts updates automatically when moving off the current record or closing a file.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bDefaultAutoCommit</td><td>xbTrue - Enable default auto commit.<br />
+ xbFalse - Disable default auto commit.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a5f74db23f8902846d581935c7db73f9c" name="a5f74db23f8902846d581935c7db73f9c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f74db23f8902846d581935c7db73f9c">&#9670;&nbsp;</a></span>SetDefaultDateFormat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDefaultDateFormat </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDefaultDateFormat</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the default date format. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDefaultDateFormat</td><td>Set the default date format. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a904ec348fd029d4a76e72b8fde636108" name="a904ec348fd029d4a76e72b8fde636108"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a904ec348fd029d4a76e72b8fde636108">&#9670;&nbsp;</a></span>SetEndianType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetEndianType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the endian type. </p>
+<p >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. </p>
+
+</div>
+</div>
+<a id="a7b992ed97281bf25b5b66f5df686225e" name="a7b992ed97281bf25b5b66f5df686225e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7b992ed97281bf25b5b66f5df686225e">&#9670;&nbsp;</a></span>SetLogDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetLogDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sLogDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7f05738e7dfd759e89990242ef503544" name="a7f05738e7dfd759e89990242ef503544"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7f05738e7dfd759e89990242ef503544">&#9670;&nbsp;</a></span>SetLogFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetLogFileName </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sLogFileName</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aba6e59512f7172dd55dcf92059e5928c" name="aba6e59512f7172dd55dcf92059e5928c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba6e59512f7172dd55dcf92059e5928c">&#9670;&nbsp;</a></span>SetMultiUser()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetMultiUser </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bMultiUser</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the multi user setting. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bMultiUser</td><td>xbTrue - Turn on Multi user mode.<br />
+ xbFalse - Turn off Multi user mode.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a17c229a20ef9ab4034df8f9cd657adb2" name="a17c229a20ef9ab4034df8f9cd657adb2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a17c229a20ef9ab4034df8f9cd657adb2">&#9670;&nbsp;</a></span>SetTempDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetTempDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTempDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the temp directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sTempDirectory</td><td>Set the data direcroty. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a6219f1b5e24ea12fe158cd5aea56988e" name="a6219f1b5e24ea12fe158cd5aea56988e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6219f1b5e24ea12fe158cd5aea56988e">&#9670;&nbsp;</a></span>ErrorCodeText</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char* xb::xbSsv::ErrorCodeText[]</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5849e813f5e8e1cd180f0366637adbf3" name="a5849e813f5e8e1cd180f0366637adbf3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5849e813f5e8e1cd180f0366637adbf3">&#9670;&nbsp;</a></span>iEndianType</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSsv::iEndianType = 0</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9dec3164c3b264882df634915ecf21da" name="a9dec3164c3b264882df634915ecf21da"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9dec3164c3b264882df634915ecf21da">&#9670;&nbsp;</a></span>sNullString</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> xb::xbSsv::sNullString = &quot;&quot;</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/include/<a class="el" href="xbssv_8h_source.html">xbssv.h</a></li>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/core/<a class="el" href="xbssv_8cpp.html">xbssv.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/classxb_1_1xbSsv.png b/docs/doxygen/html/classxb_1_1xbSsv.png
new file mode 100644
index 0000000..bdbc1de
--- /dev/null
+++ b/docs/doxygen/html/classxb_1_1xbSsv.png
Binary files differ
diff --git a/docs/doxygen/html/classxb_1_1xbString.html b/docs/doxygen/html/classxb_1_1xbString.html
new file mode 100644
index 0000000..f88a2fe
--- /dev/null
+++ b/docs/doxygen/html/classxb_1_1xbString.html
@@ -0,0 +1,2945 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: xb::xbString Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="namespacexb.html">xb</a></li><li class="navelem"><a class="el" href="classxb_1_1xbString.html">xbString</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#friends">Friends</a> </div>
+ <div class="headertitle"><div class="title">xb::xbString Class Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>Class for handling string data.
+ <a href="classxb_1_1xbString.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="xbstring_8h_source.html">xbstring.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a63f9313217e0ff3c9789ec59316216a1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a63f9313217e0ff3c9789ec59316216a1">xbString</a> (xbUInt32 size)</td></tr>
+<tr class="memdesc:a63f9313217e0ff3c9789ec59316216a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classxb_1_1xbString.html#a63f9313217e0ff3c9789ec59316216a1">More...</a><br /></td></tr>
+<tr class="separator:a63f9313217e0ff3c9789ec59316216a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14bbaa293c8d40dd6c64332f2668a92e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a14bbaa293c8d40dd6c64332f2668a92e">xbString</a> (char c)</td></tr>
+<tr class="memdesc:a14bbaa293c8d40dd6c64332f2668a92e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classxb_1_1xbString.html#a14bbaa293c8d40dd6c64332f2668a92e">More...</a><br /></td></tr>
+<tr class="separator:a14bbaa293c8d40dd6c64332f2668a92e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a18f3598dcdf2ec5692274fc8ee769ad7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a18f3598dcdf2ec5692274fc8ee769ad7">xbString</a> (const char *s, xbUInt32 lMaxLen)</td></tr>
+<tr class="memdesc:a18f3598dcdf2ec5692274fc8ee769ad7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classxb_1_1xbString.html#a18f3598dcdf2ec5692274fc8ee769ad7">More...</a><br /></td></tr>
+<tr class="separator:a18f3598dcdf2ec5692274fc8ee769ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d81016b93fc36ebbbafacf35c677f07"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a0d81016b93fc36ebbbafacf35c677f07">xbString</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s)</td></tr>
+<tr class="memdesc:a0d81016b93fc36ebbbafacf35c677f07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classxb_1_1xbString.html#a0d81016b93fc36ebbbafacf35c677f07">More...</a><br /></td></tr>
+<tr class="separator:a0d81016b93fc36ebbbafacf35c677f07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25856311106c5fb15d39017b63f0ddc7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a25856311106c5fb15d39017b63f0ddc7">xbString</a> (const char *=&quot;&quot;)</td></tr>
+<tr class="memdesc:a25856311106c5fb15d39017b63f0ddc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classxb_1_1xbString.html#a25856311106c5fb15d39017b63f0ddc7">More...</a><br /></td></tr>
+<tr class="separator:a25856311106c5fb15d39017b63f0ddc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad865b55e3b08dffd527afee8e7e8e3fe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#ad865b55e3b08dffd527afee8e7e8e3fe">xbString</a> (<a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> d)</td></tr>
+<tr class="memdesc:ad865b55e3b08dffd527afee8e7e8e3fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classxb_1_1xbString.html#ad865b55e3b08dffd527afee8e7e8e3fe">More...</a><br /></td></tr>
+<tr class="separator:ad865b55e3b08dffd527afee8e7e8e3fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a10a6549efab02bc76ab33b15916b1eb1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a10a6549efab02bc76ab33b15916b1eb1">~xbString</a> ()</td></tr>
+<tr class="memdesc:a10a6549efab02bc76ab33b15916b1eb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="classxb_1_1xbString.html#a10a6549efab02bc76ab33b15916b1eb1">More...</a><br /></td></tr>
+<tr class="separator:a10a6549efab02bc76ab33b15916b1eb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4f69d11cbd43edf71725a606d0ca8f40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a4f69d11cbd43edf71725a606d0ca8f40">operator=</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s)</td></tr>
+<tr class="memdesc:a4f69d11cbd43edf71725a606d0ca8f40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set operator =. <a href="classxb_1_1xbString.html#a4f69d11cbd43edf71725a606d0ca8f40">More...</a><br /></td></tr>
+<tr class="separator:a4f69d11cbd43edf71725a606d0ca8f40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84ae7d16c5d73c5aa2270aa9895a7f7c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a84ae7d16c5d73c5aa2270aa9895a7f7c">operator=</a> (const char *s)</td></tr>
+<tr class="memdesc:a84ae7d16c5d73c5aa2270aa9895a7f7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set operator =. <a href="classxb_1_1xbString.html#a84ae7d16c5d73c5aa2270aa9895a7f7c">More...</a><br /></td></tr>
+<tr class="separator:a84ae7d16c5d73c5aa2270aa9895a7f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a545df0ae9590f0ea5844a165e38a6388"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a545df0ae9590f0ea5844a165e38a6388">operator const char *</a> () const</td></tr>
+<tr class="memdesc:a545df0ae9590f0ea5844a165e38a6388"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operator const char *. <a href="classxb_1_1xbString.html#a545df0ae9590f0ea5844a165e38a6388">More...</a><br /></td></tr>
+<tr class="separator:a545df0ae9590f0ea5844a165e38a6388"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe45e463226ac8e18550ced18c5a9df3"><td class="memItemLeft" align="right" valign="top">char &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#abe45e463226ac8e18550ced18c5a9df3">operator[]</a> (xbUInt32 n) const</td></tr>
+<tr class="memdesc:abe45e463226ac8e18550ced18c5a9df3"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator [] <a href="classxb_1_1xbString.html#abe45e463226ac8e18550ced18c5a9df3">More...</a><br /></td></tr>
+<tr class="separator:abe45e463226ac8e18550ced18c5a9df3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4deaa68d9571753349c29baacb5613e8"><td class="memItemLeft" align="right" valign="top">char &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a4deaa68d9571753349c29baacb5613e8">operator[]</a> (xbInt32 n) const</td></tr>
+<tr class="memdesc:a4deaa68d9571753349c29baacb5613e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator [] <a href="classxb_1_1xbString.html#a4deaa68d9571753349c29baacb5613e8">More...</a><br /></td></tr>
+<tr class="separator:a4deaa68d9571753349c29baacb5613e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76a47af239797a266ada6141c150001c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a76a47af239797a266ada6141c150001c">operator+=</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s)</td></tr>
+<tr class="memdesc:a76a47af239797a266ada6141c150001c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append operator +=. <a href="classxb_1_1xbString.html#a76a47af239797a266ada6141c150001c">More...</a><br /></td></tr>
+<tr class="separator:a76a47af239797a266ada6141c150001c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab319120dbad9107e1e7090139c956100"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#ab319120dbad9107e1e7090139c956100">operator+=</a> (const char *s)</td></tr>
+<tr class="memdesc:ab319120dbad9107e1e7090139c956100"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append operator +=. <a href="classxb_1_1xbString.html#ab319120dbad9107e1e7090139c956100">More...</a><br /></td></tr>
+<tr class="separator:ab319120dbad9107e1e7090139c956100"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae12f45b8be84e438e032c0b860f985c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#ae12f45b8be84e438e032c0b860f985c6">operator+=</a> (char c)</td></tr>
+<tr class="memdesc:ae12f45b8be84e438e032c0b860f985c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append operator +=. <a href="classxb_1_1xbString.html#ae12f45b8be84e438e032c0b860f985c6">More...</a><br /></td></tr>
+<tr class="separator:ae12f45b8be84e438e032c0b860f985c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7f4db1b4eae9dfad46346db6e17ea15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#aa7f4db1b4eae9dfad46346db6e17ea15">operator-=</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s)</td></tr>
+<tr class="memdesc:aa7f4db1b4eae9dfad46346db6e17ea15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append operator -=. <a href="classxb_1_1xbString.html#aa7f4db1b4eae9dfad46346db6e17ea15">More...</a><br /></td></tr>
+<tr class="separator:aa7f4db1b4eae9dfad46346db6e17ea15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaae97e6eda3d18c9f463993ade985bf4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#aaae97e6eda3d18c9f463993ade985bf4">operator-=</a> (const char *s)</td></tr>
+<tr class="memdesc:aaae97e6eda3d18c9f463993ade985bf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append operator -=. <a href="classxb_1_1xbString.html#aaae97e6eda3d18c9f463993ade985bf4">More...</a><br /></td></tr>
+<tr class="separator:aaae97e6eda3d18c9f463993ade985bf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcafd019df23bb5724c46e34f3f31194"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#adcafd019df23bb5724c46e34f3f31194">operator-=</a> (char c)</td></tr>
+<tr class="memdesc:adcafd019df23bb5724c46e34f3f31194"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append operator -=. <a href="classxb_1_1xbString.html#adcafd019df23bb5724c46e34f3f31194">More...</a><br /></td></tr>
+<tr class="separator:adcafd019df23bb5724c46e34f3f31194"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2df3ed2fc9456214f5fd2fcf77b69bc1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a2df3ed2fc9456214f5fd2fcf77b69bc1">operator==</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;) const</td></tr>
+<tr class="memdesc:a2df3ed2fc9456214f5fd2fcf77b69bc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator == <a href="classxb_1_1xbString.html#a2df3ed2fc9456214f5fd2fcf77b69bc1">More...</a><br /></td></tr>
+<tr class="separator:a2df3ed2fc9456214f5fd2fcf77b69bc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94031269af3c433393d4cf0ff9b4be38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a94031269af3c433393d4cf0ff9b4be38">operator==</a> (const char *) const</td></tr>
+<tr class="memdesc:a94031269af3c433393d4cf0ff9b4be38"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator == <a href="classxb_1_1xbString.html#a94031269af3c433393d4cf0ff9b4be38">More...</a><br /></td></tr>
+<tr class="separator:a94031269af3c433393d4cf0ff9b4be38"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf89691607050b0505dc6af28d059c38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#acf89691607050b0505dc6af28d059c38">operator!=</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;) const</td></tr>
+<tr class="memdesc:acf89691607050b0505dc6af28d059c38"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator != <a href="classxb_1_1xbString.html#acf89691607050b0505dc6af28d059c38">More...</a><br /></td></tr>
+<tr class="separator:acf89691607050b0505dc6af28d059c38"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a822448f2a0ce653473d4c1de5763a3a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a822448f2a0ce653473d4c1de5763a3a6">operator!=</a> (const char *) const</td></tr>
+<tr class="memdesc:a822448f2a0ce653473d4c1de5763a3a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator != <a href="classxb_1_1xbString.html#a822448f2a0ce653473d4c1de5763a3a6">More...</a><br /></td></tr>
+<tr class="separator:a822448f2a0ce653473d4c1de5763a3a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71c7aafa0d523c72cbe58c474be2270a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a71c7aafa0d523c72cbe58c474be2270a">operator&lt;</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;) const</td></tr>
+<tr class="memdesc:a71c7aafa0d523c72cbe58c474be2270a"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator &lt; <a href="classxb_1_1xbString.html#a71c7aafa0d523c72cbe58c474be2270a">More...</a><br /></td></tr>
+<tr class="separator:a71c7aafa0d523c72cbe58c474be2270a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae46f6a45da5686b607a4edf2786a2fff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#ae46f6a45da5686b607a4edf2786a2fff">operator&gt;</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;) const</td></tr>
+<tr class="memdesc:ae46f6a45da5686b607a4edf2786a2fff"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator &gt; <a href="classxb_1_1xbString.html#ae46f6a45da5686b607a4edf2786a2fff">More...</a><br /></td></tr>
+<tr class="separator:ae46f6a45da5686b607a4edf2786a2fff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a461f245e60cddfdf5f78a972a46e5880"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a461f245e60cddfdf5f78a972a46e5880">operator&lt;=</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;) const</td></tr>
+<tr class="memdesc:a461f245e60cddfdf5f78a972a46e5880"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator &lt;= <a href="classxb_1_1xbString.html#a461f245e60cddfdf5f78a972a46e5880">More...</a><br /></td></tr>
+<tr class="separator:a461f245e60cddfdf5f78a972a46e5880"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f16643cb7ba3ee9cf685422c9ea0e67"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a8f16643cb7ba3ee9cf685422c9ea0e67">operator&gt;=</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;) const</td></tr>
+<tr class="memdesc:a8f16643cb7ba3ee9cf685422c9ea0e67"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator &gt;= <a href="classxb_1_1xbString.html#a8f16643cb7ba3ee9cf685422c9ea0e67">More...</a><br /></td></tr>
+<tr class="separator:a8f16643cb7ba3ee9cf685422c9ea0e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06abec236b95f6933ba17bf67089f7cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a06abec236b95f6933ba17bf67089f7cf">operator-</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s)</td></tr>
+<tr class="memdesc:a06abec236b95f6933ba17bf67089f7cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Concatonate operator -. <a href="classxb_1_1xbString.html#a06abec236b95f6933ba17bf67089f7cf">More...</a><br /></td></tr>
+<tr class="separator:a06abec236b95f6933ba17bf67089f7cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab556e8c3cb478dd95643327d72a48bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#aab556e8c3cb478dd95643327d72a48bd">operator+</a> (const char *s)</td></tr>
+<tr class="memdesc:aab556e8c3cb478dd95643327d72a48bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Concatonate operator +. <a href="classxb_1_1xbString.html#aab556e8c3cb478dd95643327d72a48bd">More...</a><br /></td></tr>
+<tr class="separator:aab556e8c3cb478dd95643327d72a48bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f289d577ba90c500bc1be3ec7bb0206"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a1f289d577ba90c500bc1be3ec7bb0206">operator+</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s)</td></tr>
+<tr class="memdesc:a1f289d577ba90c500bc1be3ec7bb0206"><td class="mdescLeft">&#160;</td><td class="mdescRight">Concatonate operator +. <a href="classxb_1_1xbString.html#a1f289d577ba90c500bc1be3ec7bb0206">More...</a><br /></td></tr>
+<tr class="separator:a1f289d577ba90c500bc1be3ec7bb0206"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af559654baba81c3c0c19823c0b7a69d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#af559654baba81c3c0c19823c0b7a69d3">operator+</a> (const char c)</td></tr>
+<tr class="memdesc:af559654baba81c3c0c19823c0b7a69d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Concatonate operator +. <a href="classxb_1_1xbString.html#af559654baba81c3c0c19823c0b7a69d3">More...</a><br /></td></tr>
+<tr class="separator:af559654baba81c3c0c19823c0b7a69d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6c4fdb689d27a9d19a0b5b4236e1ca62"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a6c4fdb689d27a9d19a0b5b4236e1ca62">AddBackSlash</a> (char c)</td></tr>
+<tr class="memdesc:a6c4fdb689d27a9d19a0b5b4236e1ca62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a prefixing back slash to specified characters in the string. <a href="classxb_1_1xbString.html#a6c4fdb689d27a9d19a0b5b4236e1ca62">More...</a><br /></td></tr>
+<tr class="separator:a6c4fdb689d27a9d19a0b5b4236e1ca62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f202e4798491f2ae9ce51ff58dd5815"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a8f202e4798491f2ae9ce51ff58dd5815">Append</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s)</td></tr>
+<tr class="memdesc:a8f202e4798491f2ae9ce51ff58dd5815"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append data to string. <a href="classxb_1_1xbString.html#a8f202e4798491f2ae9ce51ff58dd5815">More...</a><br /></td></tr>
+<tr class="separator:a8f202e4798491f2ae9ce51ff58dd5815"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1922319303feb6da1f40b5994c5e8240"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a1922319303feb6da1f40b5994c5e8240">Append</a> (const char *s)</td></tr>
+<tr class="memdesc:a1922319303feb6da1f40b5994c5e8240"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append data to string. <a href="classxb_1_1xbString.html#a1922319303feb6da1f40b5994c5e8240">More...</a><br /></td></tr>
+<tr class="separator:a1922319303feb6da1f40b5994c5e8240"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a097453cb71fbf0b5511cf1259ddce4fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a097453cb71fbf0b5511cf1259ddce4fb">Append</a> (const char *s, xbUInt32 iByteCount)</td></tr>
+<tr class="memdesc:a097453cb71fbf0b5511cf1259ddce4fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append data to string. <a href="classxb_1_1xbString.html#a097453cb71fbf0b5511cf1259ddce4fb">More...</a><br /></td></tr>
+<tr class="separator:a097453cb71fbf0b5511cf1259ddce4fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a093c6ab5df375a2589755bb8f48fa5c7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a093c6ab5df375a2589755bb8f48fa5c7">Append</a> (char c)</td></tr>
+<tr class="memdesc:a093c6ab5df375a2589755bb8f48fa5c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append data to string. <a href="classxb_1_1xbString.html#a093c6ab5df375a2589755bb8f48fa5c7">More...</a><br /></td></tr>
+<tr class="separator:a093c6ab5df375a2589755bb8f48fa5c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a85bef82dfa22122a1ab8dfe58a107d96"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a85bef82dfa22122a1ab8dfe58a107d96">Assign</a> (const char *srcStr, xbUInt32 lStartPos, xbUInt32 lCopyLen)</td></tr>
+<tr class="memdesc:a85bef82dfa22122a1ab8dfe58a107d96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign portion of string. <a href="classxb_1_1xbString.html#a85bef82dfa22122a1ab8dfe58a107d96">More...</a><br /></td></tr>
+<tr class="separator:a85bef82dfa22122a1ab8dfe58a107d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a08eb7ca6740423acab4e8bd7a6c8043d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a08eb7ca6740423acab4e8bd7a6c8043d">Assign</a> (const char *srcStr, xbUInt32 lStartPos)</td></tr>
+<tr class="memdesc:a08eb7ca6740423acab4e8bd7a6c8043d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign portion of string. <a href="classxb_1_1xbString.html#a08eb7ca6740423acab4e8bd7a6c8043d">More...</a><br /></td></tr>
+<tr class="separator:a08eb7ca6740423acab4e8bd7a6c8043d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a430119df844bd80d67c23c48b045af30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a430119df844bd80d67c23c48b045af30">Assign</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s, xbUInt32 ulStartPos, xbUInt32 lCopyLen)</td></tr>
+<tr class="memdesc:a430119df844bd80d67c23c48b045af30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign portion of string. <a href="classxb_1_1xbString.html#a430119df844bd80d67c23c48b045af30">More...</a><br /></td></tr>
+<tr class="separator:a430119df844bd80d67c23c48b045af30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97df314be5b3b2611be11ff50a19533d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a97df314be5b3b2611be11ff50a19533d">Assign</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s, xbUInt32 ulStartPos)</td></tr>
+<tr class="memdesc:a97df314be5b3b2611be11ff50a19533d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign portion of string. <a href="classxb_1_1xbString.html#a97df314be5b3b2611be11ff50a19533d">More...</a><br /></td></tr>
+<tr class="separator:a97df314be5b3b2611be11ff50a19533d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7a8466b03c04df838bd182ef244f792"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#ac7a8466b03c04df838bd182ef244f792">Copy</a> () const</td></tr>
+<tr class="memdesc:ac7a8466b03c04df838bd182ef244f792"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy a string. <a href="classxb_1_1xbString.html#ac7a8466b03c04df838bd182ef244f792">More...</a><br /></td></tr>
+<tr class="separator:ac7a8466b03c04df838bd182ef244f792"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a26bc14d92dc7ce1f2bf31cd74af0db0f"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a26bc14d92dc7ce1f2bf31cd74af0db0f">CountChar</a> (char c) const</td></tr>
+<tr class="memdesc:a26bc14d92dc7ce1f2bf31cd74af0db0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Count the number of characters in the string. <a href="classxb_1_1xbString.html#a26bc14d92dc7ce1f2bf31cd74af0db0f">More...</a><br /></td></tr>
+<tr class="separator:a26bc14d92dc7ce1f2bf31cd74af0db0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc0204bcfd1c052b9aea9229b10acf72"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#adc0204bcfd1c052b9aea9229b10acf72">CountChar</a> (char c, xbInt16 iOpt) const</td></tr>
+<tr class="memdesc:adc0204bcfd1c052b9aea9229b10acf72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Count the number of characters in the string. <a href="classxb_1_1xbString.html#adc0204bcfd1c052b9aea9229b10acf72">More...</a><br /></td></tr>
+<tr class="separator:adc0204bcfd1c052b9aea9229b10acf72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a737bd408a94903f214eb2879eb56de"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a0a737bd408a94903f214eb2879eb56de">CvtHexChar</a> (char &amp;cOut)</td></tr>
+<tr class="memdesc:a0a737bd408a94903f214eb2879eb56de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert hex character to string. <a href="classxb_1_1xbString.html#a0a737bd408a94903f214eb2879eb56de">More...</a><br /></td></tr>
+<tr class="separator:a0a737bd408a94903f214eb2879eb56de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5eb6918a0ae9ab6c0e961318f3d1eb0"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#ab5eb6918a0ae9ab6c0e961318f3d1eb0">CvtHexString</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sOut)</td></tr>
+<tr class="memdesc:ab5eb6918a0ae9ab6c0e961318f3d1eb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert string of hex characters to string. <a href="classxb_1_1xbString.html#ab5eb6918a0ae9ab6c0e961318f3d1eb0">More...</a><br /></td></tr>
+<tr class="separator:ab5eb6918a0ae9ab6c0e961318f3d1eb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1528b30b84a41c3564ef31d1f4496b15"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a1528b30b84a41c3564ef31d1f4496b15">CvtULongLong</a> (xbUInt64 &amp;ullOut)</td></tr>
+<tr class="memdesc:a1528b30b84a41c3564ef31d1f4496b15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert string to xbUInt64 number. <a href="classxb_1_1xbString.html#a1528b30b84a41c3564ef31d1f4496b15">More...</a><br /></td></tr>
+<tr class="separator:a1528b30b84a41c3564ef31d1f4496b15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3ab18365e132323f8ae4c99eb72181c"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#ae3ab18365e132323f8ae4c99eb72181c">CvtLongLong</a> (xbInt64 &amp;llOut)</td></tr>
+<tr class="memdesc:ae3ab18365e132323f8ae4c99eb72181c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert string to xbInt64 number. <a href="classxb_1_1xbString.html#ae3ab18365e132323f8ae4c99eb72181c">More...</a><br /></td></tr>
+<tr class="separator:ae3ab18365e132323f8ae4c99eb72181c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b33a8df49cdcb76033cbce5d8dc59d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a6b33a8df49cdcb76033cbce5d8dc59d7">ExtractElement</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s, char delim, xbUInt32 iCnt, xbInt16 iOpt=0)</td></tr>
+<tr class="memdesc:a6b33a8df49cdcb76033cbce5d8dc59d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract an element out of a delimited string. <a href="classxb_1_1xbString.html#a6b33a8df49cdcb76033cbce5d8dc59d7">More...</a><br /></td></tr>
+<tr class="separator:a6b33a8df49cdcb76033cbce5d8dc59d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77195fc4957952625cb33bb503517a3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a77195fc4957952625cb33bb503517a3e">ExtractElement</a> (const char *src, char delim, xbUInt32 iCnt, xbInt16 iOpt=0)</td></tr>
+<tr class="memdesc:a77195fc4957952625cb33bb503517a3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract an element out of a delimited string. <a href="classxb_1_1xbString.html#a77195fc4957952625cb33bb503517a3e">More...</a><br /></td></tr>
+<tr class="separator:a77195fc4957952625cb33bb503517a3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a685187a5f8401b322fc61f3fbe56330d"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a685187a5f8401b322fc61f3fbe56330d">GetCharacter</a> (xbUInt32 lPos) const</td></tr>
+<tr class="memdesc:a685187a5f8401b322fc61f3fbe56330d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a character by position. <a href="classxb_1_1xbString.html#a685187a5f8401b322fc61f3fbe56330d">More...</a><br /></td></tr>
+<tr class="separator:a685187a5f8401b322fc61f3fbe56330d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7698665f44413a5e99a5b5bc573c6df"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#ac7698665f44413a5e99a5b5bc573c6df">GetLastPos</a> (char c) const</td></tr>
+<tr class="memdesc:ac7698665f44413a5e99a5b5bc573c6df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the position of the last occurrence of a given character. <a href="classxb_1_1xbString.html#ac7698665f44413a5e99a5b5bc573c6df">More...</a><br /></td></tr>
+<tr class="separator:ac7698665f44413a5e99a5b5bc573c6df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c55587904fe7e534290559d0ecb8646"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a1c55587904fe7e534290559d0ecb8646">GetLastPos</a> (const char *s) const</td></tr>
+<tr class="memdesc:a1c55587904fe7e534290559d0ecb8646"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the position of the last occurrence of a given string. <a href="classxb_1_1xbString.html#a1c55587904fe7e534290559d0ecb8646">More...</a><br /></td></tr>
+<tr class="separator:a1c55587904fe7e534290559d0ecb8646"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8b8b808cf43cd352321b43f500142db"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#af8b8b808cf43cd352321b43f500142db">GetPathSeparator</a> () const</td></tr>
+<tr class="memdesc:af8b8b808cf43cd352321b43f500142db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the path separator out of the string. <a href="classxb_1_1xbString.html#af8b8b808cf43cd352321b43f500142db">More...</a><br /></td></tr>
+<tr class="separator:af8b8b808cf43cd352321b43f500142db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6c33e73659f8e98819289d2661c7271c"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a6c33e73659f8e98819289d2661c7271c">GetSize</a> () const</td></tr>
+<tr class="memdesc:a6c33e73659f8e98819289d2661c7271c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the size of the string buffer. <a href="classxb_1_1xbString.html#a6c33e73659f8e98819289d2661c7271c">More...</a><br /></td></tr>
+<tr class="separator:a6c33e73659f8e98819289d2661c7271c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa13f6b72e5a529eab04545892bbc98b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#aa13f6b72e5a529eab04545892bbc98b4">HasAlphaChars</a> () const</td></tr>
+<tr class="memdesc:aa13f6b72e5a529eab04545892bbc98b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if the string has any alpha characters. <a href="classxb_1_1xbString.html#aa13f6b72e5a529eab04545892bbc98b4">More...</a><br /></td></tr>
+<tr class="separator:aa13f6b72e5a529eab04545892bbc98b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a255a30d683acd62ea09c1617b53cb3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a4a255a30d683acd62ea09c1617b53cb3">IsEmpty</a> () const</td></tr>
+<tr class="memdesc:a4a255a30d683acd62ea09c1617b53cb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if string is empty. <a href="classxb_1_1xbString.html#a4a255a30d683acd62ea09c1617b53cb3">More...</a><br /></td></tr>
+<tr class="separator:a4a255a30d683acd62ea09c1617b53cb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3fa34fa31bcb7244ecb054ab628ad500"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a3fa34fa31bcb7244ecb054ab628ad500">IsNull</a> () const</td></tr>
+<tr class="memdesc:a3fa34fa31bcb7244ecb054ab628ad500"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if string is NULL. <a href="classxb_1_1xbString.html#a3fa34fa31bcb7244ecb054ab628ad500">More...</a><br /></td></tr>
+<tr class="separator:a3fa34fa31bcb7244ecb054ab628ad500"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acdc3a6d6955b99f0a6b1d181fb3098b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#acdc3a6d6955b99f0a6b1d181fb3098b9">Left</a> (xbUInt32 ulLen)</td></tr>
+<tr class="memdesc:acdc3a6d6955b99f0a6b1d181fb3098b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retain left part of string, drop rightmost characters. <a href="classxb_1_1xbString.html#acdc3a6d6955b99f0a6b1d181fb3098b9">More...</a><br /></td></tr>
+<tr class="separator:acdc3a6d6955b99f0a6b1d181fb3098b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a998b240eedac311aea5843047f55649b"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a998b240eedac311aea5843047f55649b">Len</a> () const</td></tr>
+<tr class="memdesc:a998b240eedac311aea5843047f55649b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve length of current string. <a href="classxb_1_1xbString.html#a998b240eedac311aea5843047f55649b">More...</a><br /></td></tr>
+<tr class="separator:a998b240eedac311aea5843047f55649b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90e0d0be4fd0d82dd2ebbe689adf18ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a90e0d0be4fd0d82dd2ebbe689adf18ee">Ltrim</a> ()</td></tr>
+<tr class="memdesc:a90e0d0be4fd0d82dd2ebbe689adf18ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Left trim white space from string. <a href="classxb_1_1xbString.html#a90e0d0be4fd0d82dd2ebbe689adf18ee">More...</a><br /></td></tr>
+<tr class="separator:a90e0d0be4fd0d82dd2ebbe689adf18ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a656f5854f74064b7257ff96d96dfb68b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a656f5854f74064b7257ff96d96dfb68b">Ltrunc</a> (xbUInt32 ulCnt)</td></tr>
+<tr class="memdesc:a656f5854f74064b7257ff96d96dfb68b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Left truncate string. <a href="classxb_1_1xbString.html#a656f5854f74064b7257ff96d96dfb68b">More...</a><br /></td></tr>
+<tr class="separator:a656f5854f74064b7257ff96d96dfb68b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f9eefc836b24c4ee7c5a316c5d812b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a0f9eefc836b24c4ee7c5a316c5d812b7">Mid</a> (xbUInt32 ulPos, xbUInt32 lLen)</td></tr>
+<tr class="memdesc:a0f9eefc836b24c4ee7c5a316c5d812b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract portion of data from string. <a href="classxb_1_1xbString.html#a0f9eefc836b24c4ee7c5a316c5d812b7">More...</a><br /></td></tr>
+<tr class="separator:a0f9eefc836b24c4ee7c5a316c5d812b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a09cfed22066b0c72432f26960f9e7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a6a09cfed22066b0c72432f26960f9e7b">PadLeft</a> (char c, xbUInt32 ulLen)</td></tr>
+<tr class="memdesc:a6a09cfed22066b0c72432f26960f9e7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Left pad string. <a href="classxb_1_1xbString.html#a6a09cfed22066b0c72432f26960f9e7b">More...</a><br /></td></tr>
+<tr class="separator:a6a09cfed22066b0c72432f26960f9e7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba13f0c77eb6c4a22996039569fad284"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#aba13f0c77eb6c4a22996039569fad284">PadRight</a> (char c, xbUInt32 ulLen)</td></tr>
+<tr class="memdesc:aba13f0c77eb6c4a22996039569fad284"><td class="mdescLeft">&#160;</td><td class="mdescRight">Right pad string. <a href="classxb_1_1xbString.html#aba13f0c77eb6c4a22996039569fad284">More...</a><br /></td></tr>
+<tr class="separator:aba13f0c77eb6c4a22996039569fad284"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b586890138da8bf0e23090bd8b34581"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a1b586890138da8bf0e23090bd8b34581">Pos</a> (char c, xbUInt32 ulStartPos) const</td></tr>
+<tr class="memdesc:a1b586890138da8bf0e23090bd8b34581"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine position of a given character. <a href="classxb_1_1xbString.html#a1b586890138da8bf0e23090bd8b34581">More...</a><br /></td></tr>
+<tr class="separator:a1b586890138da8bf0e23090bd8b34581"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3baf59d15099589ff631995f129e582b"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a3baf59d15099589ff631995f129e582b">Pos</a> (char c) const</td></tr>
+<tr class="memdesc:a3baf59d15099589ff631995f129e582b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine position of a given character. <a href="classxb_1_1xbString.html#a3baf59d15099589ff631995f129e582b">More...</a><br /></td></tr>
+<tr class="separator:a3baf59d15099589ff631995f129e582b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8705d7277b72f5aa98021e84438914da"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a8705d7277b72f5aa98021e84438914da">Pos</a> (const char *s) const</td></tr>
+<tr class="memdesc:a8705d7277b72f5aa98021e84438914da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine position of a given substring. <a href="classxb_1_1xbString.html#a8705d7277b72f5aa98021e84438914da">More...</a><br /></td></tr>
+<tr class="separator:a8705d7277b72f5aa98021e84438914da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1bae6fa8f608261f6e889616482f6e39"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a1bae6fa8f608261f6e889616482f6e39">PutAt</a> (xbUInt32 ulPos, char c)</td></tr>
+<tr class="memdesc:a1bae6fa8f608261f6e889616482f6e39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert character into string. <a href="classxb_1_1xbString.html#a1bae6fa8f608261f6e889616482f6e39">More...</a><br /></td></tr>
+<tr class="separator:a1bae6fa8f608261f6e889616482f6e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afaac65eaa6d9ef1596d6a0e7b91ed0f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#afaac65eaa6d9ef1596d6a0e7b91ed0f2">Remove</a> (xbUInt32 ulPos, xbUInt32 ulN)</td></tr>
+<tr class="memdesc:afaac65eaa6d9ef1596d6a0e7b91ed0f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove portion of string. <a href="classxb_1_1xbString.html#afaac65eaa6d9ef1596d6a0e7b91ed0f2">More...</a><br /></td></tr>
+<tr class="separator:afaac65eaa6d9ef1596d6a0e7b91ed0f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac721d643c60b5c5acf60c2bce99596fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#ac721d643c60b5c5acf60c2bce99596fa">Replace</a> (const char *sReplace, const char *sReplaceWith, xbInt16 iOpt=0)</td></tr>
+<tr class="memdesc:ac721d643c60b5c5acf60c2bce99596fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace a value within a string with another value. <a href="classxb_1_1xbString.html#ac721d643c60b5c5acf60c2bce99596fa">More...</a><br /></td></tr>
+<tr class="separator:ac721d643c60b5c5acf60c2bce99596fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa6d346ab04e5bb8852f0bb996163a35e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#aa6d346ab04e5bb8852f0bb996163a35e">Resize</a> (xbUInt32 lSize)</td></tr>
+<tr class="memdesc:aa6d346ab04e5bb8852f0bb996163a35e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resize a string. <a href="classxb_1_1xbString.html#aa6d346ab04e5bb8852f0bb996163a35e">More...</a><br /></td></tr>
+<tr class="separator:aa6d346ab04e5bb8852f0bb996163a35e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf330188d67c347ecae0d16f65b22077"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#aaf330188d67c347ecae0d16f65b22077">Rtrim</a> ()</td></tr>
+<tr class="memdesc:aaf330188d67c347ecae0d16f65b22077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Right trim the string. <a href="classxb_1_1xbString.html#aaf330188d67c347ecae0d16f65b22077">More...</a><br /></td></tr>
+<tr class="separator:aaf330188d67c347ecae0d16f65b22077"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab85753d2c39882e946a8468cbb587700"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#ab85753d2c39882e946a8468cbb587700">Set</a> (const char *s)</td></tr>
+<tr class="memdesc:ab85753d2c39882e946a8468cbb587700"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of the string. <a href="classxb_1_1xbString.html#ab85753d2c39882e946a8468cbb587700">More...</a><br /></td></tr>
+<tr class="separator:ab85753d2c39882e946a8468cbb587700"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac0d08bd688fd0e3707e32886d0dfeb09"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#ac0d08bd688fd0e3707e32886d0dfeb09">Set</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s)</td></tr>
+<tr class="memdesc:ac0d08bd688fd0e3707e32886d0dfeb09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of the string. <a href="classxb_1_1xbString.html#ac0d08bd688fd0e3707e32886d0dfeb09">More...</a><br /></td></tr>
+<tr class="separator:ac0d08bd688fd0e3707e32886d0dfeb09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6eba6ccd0c805a22516de2c18a30f8a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a6eba6ccd0c805a22516de2c18a30f8a3">Set</a> (const char *s, xbUInt32 ulSize)</td></tr>
+<tr class="memdesc:a6eba6ccd0c805a22516de2c18a30f8a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of the string. <a href="classxb_1_1xbString.html#a6eba6ccd0c805a22516de2c18a30f8a3">More...</a><br /></td></tr>
+<tr class="separator:a6eba6ccd0c805a22516de2c18a30f8a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3af5b1f111f94b0667551fcbd1d97abd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a3af5b1f111f94b0667551fcbd1d97abd">SetNum</a> (xbInt32 lNum)</td></tr>
+<tr class="memdesc:a3af5b1f111f94b0667551fcbd1d97abd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the string to long integer numeric value. <a href="classxb_1_1xbString.html#a3af5b1f111f94b0667551fcbd1d97abd">More...</a><br /></td></tr>
+<tr class="separator:a3af5b1f111f94b0667551fcbd1d97abd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e9bfa29d86377b915f1628aeb0e9195"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a9e9bfa29d86377b915f1628aeb0e9195">Sprintf</a> (const char *format,...)</td></tr>
+<tr class="memdesc:a9e9bfa29d86377b915f1628aeb0e9195"><td class="mdescLeft">&#160;</td><td class="mdescRight">Printf routine for formatting a string. <a href="classxb_1_1xbString.html#a9e9bfa29d86377b915f1628aeb0e9195">More...</a><br /></td></tr>
+<tr class="separator:a9e9bfa29d86377b915f1628aeb0e9195"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6715f4c0010f3ab487c9d787838a29b3"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a6715f4c0010f3ab487c9d787838a29b3">Str</a> () const</td></tr>
+<tr class="memdesc:a6715f4c0010f3ab487c9d787838a29b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return string data. <a href="classxb_1_1xbString.html#a6715f4c0010f3ab487c9d787838a29b3">More...</a><br /></td></tr>
+<tr class="separator:a6715f4c0010f3ab487c9d787838a29b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3bc9e856c34f0c240a6e36e5b6e3ea7b"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a3bc9e856c34f0c240a6e36e5b6e3ea7b">strncpy</a> (char *cDest, xbUInt32 n) const</td></tr>
+<tr class="memdesc:a3bc9e856c34f0c240a6e36e5b6e3ea7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy all or part of string to character array. <a href="classxb_1_1xbString.html#a3bc9e856c34f0c240a6e36e5b6e3ea7b">More...</a><br /></td></tr>
+<tr class="separator:a3bc9e856c34f0c240a6e36e5b6e3ea7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a054683872e1f05d11c2cf8683a63a6fe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a054683872e1f05d11c2cf8683a63a6fe">SwapChars</a> (char from, char to)</td></tr>
+<tr class="memdesc:a054683872e1f05d11c2cf8683a63a6fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap characters. <a href="classxb_1_1xbString.html#a054683872e1f05d11c2cf8683a63a6fe">More...</a><br /></td></tr>
+<tr class="separator:a054683872e1f05d11c2cf8683a63a6fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a602cac1a6ef3f6b52f587ac4c0ef4fb2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a602cac1a6ef3f6b52f587ac4c0ef4fb2">ToLowerCase</a> ()</td></tr>
+<tr class="memdesc:a602cac1a6ef3f6b52f587ac4c0ef4fb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace all upper case charaters with lower case characters. <a href="classxb_1_1xbString.html#a602cac1a6ef3f6b52f587ac4c0ef4fb2">More...</a><br /></td></tr>
+<tr class="separator:a602cac1a6ef3f6b52f587ac4c0ef4fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68001d0a44e6b4fe61e29a4e41ded9d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a68001d0a44e6b4fe61e29a4e41ded9d4">ToUpperCase</a> ()</td></tr>
+<tr class="memdesc:a68001d0a44e6b4fe61e29a4e41ded9d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace all lower case charaters with lower case characters. <a href="classxb_1_1xbString.html#a68001d0a44e6b4fe61e29a4e41ded9d4">More...</a><br /></td></tr>
+<tr class="separator:a68001d0a44e6b4fe61e29a4e41ded9d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc9bd33687d4e03ca52d77885721d626"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#abc9bd33687d4e03ca52d77885721d626">Trim</a> ()</td></tr>
+<tr class="memdesc:abc9bd33687d4e03ca52d77885721d626"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trim all leading and trailing white space from string. <a href="classxb_1_1xbString.html#abc9bd33687d4e03ca52d77885721d626">More...</a><br /></td></tr>
+<tr class="separator:abc9bd33687d4e03ca52d77885721d626"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a72b16c15fd8822efaa5f158c34df7b1e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a72b16c15fd8822efaa5f158c34df7b1e">ValidLogicalValue</a> () const</td></tr>
+<tr class="memdesc:a72b16c15fd8822efaa5f158c34df7b1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for valid logical field data. <a href="classxb_1_1xbString.html#a72b16c15fd8822efaa5f158c34df7b1e">More...</a><br /></td></tr>
+<tr class="separator:a72b16c15fd8822efaa5f158c34df7b1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeed920d2a25111f776ddde2d530eb81b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#aeed920d2a25111f776ddde2d530eb81b">ValidNumericValue</a> () const</td></tr>
+<tr class="memdesc:aeed920d2a25111f776ddde2d530eb81b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns true if the data is valid numeric data. <a href="classxb_1_1xbString.html#aeed920d2a25111f776ddde2d530eb81b">More...</a><br /></td></tr>
+<tr class="separator:aeed920d2a25111f776ddde2d530eb81b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2fd30956a26a260d1ef6fdbe73dd93f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a2fd30956a26a260d1ef6fdbe73dd93f9">ZapChar</a> (char c)</td></tr>
+<tr class="memdesc:a2fd30956a26a260d1ef6fdbe73dd93f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove every instance of a character from a string. <a href="classxb_1_1xbString.html#a2fd30956a26a260d1ef6fdbe73dd93f9">More...</a><br /></td></tr>
+<tr class="separator:a2fd30956a26a260d1ef6fdbe73dd93f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addc3a470f6cd85d4c21bf9da38cf5ac9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#addc3a470f6cd85d4c21bf9da38cf5ac9">ZapLeadingChar</a> (char c)</td></tr>
+<tr class="memdesc:addc3a470f6cd85d4c21bf9da38cf5ac9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove leading character from a string. <a href="classxb_1_1xbString.html#addc3a470f6cd85d4c21bf9da38cf5ac9">More...</a><br /></td></tr>
+<tr class="separator:addc3a470f6cd85d4c21bf9da38cf5ac9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe3415bfa2e1089b792aeda0462fb99e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#afe3415bfa2e1089b792aeda0462fb99e">ZapTrailingChar</a> (char c)</td></tr>
+<tr class="memdesc:afe3415bfa2e1089b792aeda0462fb99e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove trailing character from a string. <a href="classxb_1_1xbString.html#afe3415bfa2e1089b792aeda0462fb99e">More...</a><br /></td></tr>
+<tr class="separator:afe3415bfa2e1089b792aeda0462fb99e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a3fa915061156521e9dd772a8d7e5f8fb"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html#a3fa915061156521e9dd772a8d7e5f8fb">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s)</td></tr>
+<tr class="memdesc:a3fa915061156521e9dd772a8d7e5f8fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stream insertion operator &lt;&lt;. <a href="classxb_1_1xbString.html#a3fa915061156521e9dd772a8d7e5f8fb">More...</a><br /></td></tr>
+<tr class="separator:a3fa915061156521e9dd772a8d7e5f8fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p >Class for handling string data. </p>
+<p >This class defines a basic string class with all the functions one would expect in a string class.</p>
+<p >For purposes of the <a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> class, a string is defined as a variable sized array of one byte characters terminated with a null (0x00 or \0) byte.<br />
+<br />
+</p>
+<p >This version of the <a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> class does not support wide (wchar_t) characters. Perhaps you would be interested in creating a class for supporting wide characters.<br />
+<br />
+</p>
+<p >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.<br />
+<br />
+ <br />
+</p>
+<p >Position 1 (not 0) is considered the first position in a string. <br />
+ A return of 0 would indicate a not found condition. A return of 1, would be the first byte. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a63f9313217e0ff3c9789ec59316216a1" name="a63f9313217e0ff3c9789ec59316216a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63f9313217e0ff3c9789ec59316216a1">&#9670;&nbsp;</a></span>xbString() <span class="overload">[1/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbString::xbString </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulSize</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulSize</td><td>- Allocation size. The allocation size is normally handled internally by the class, but it can be set in this constructor. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a14bbaa293c8d40dd6c64332f2668a92e" name="a14bbaa293c8d40dd6c64332f2668a92e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a14bbaa293c8d40dd6c64332f2668a92e">&#9670;&nbsp;</a></span>xbString() <span class="overload">[2/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbString::xbString </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>- Initialize string to c. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a18f3598dcdf2ec5692274fc8ee769ad7" name="a18f3598dcdf2ec5692274fc8ee769ad7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a18f3598dcdf2ec5692274fc8ee769ad7">&#9670;&nbsp;</a></span>xbString() <span class="overload">[3/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbString::xbString </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulMaxLen</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>Initialize string to s. </td></tr>
+ <tr><td class="paramname">ulMaxLen</td><td>Maximum length of string. Truncate any characters greater than ulMaxLen. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a0d81016b93fc36ebbbafacf35c677f07" name="a0d81016b93fc36ebbbafacf35c677f07"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0d81016b93fc36ebbbafacf35c677f07">&#9670;&nbsp;</a></span>xbString() <span class="overload">[4/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbString::xbString </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>Initialize string to s. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a25856311106c5fb15d39017b63f0ddc7" name="a25856311106c5fb15d39017b63f0ddc7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a25856311106c5fb15d39017b63f0ddc7">&#9670;&nbsp;</a></span>xbString() <span class="overload">[5/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbString::xbString </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s</em> = <code>&quot;&quot;</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>- Initialize string to s. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="ad865b55e3b08dffd527afee8e7e8e3fe" name="ad865b55e3b08dffd527afee8e7e8e3fe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad865b55e3b08dffd527afee8e7e8e3fe">&#9670;&nbsp;</a></span>xbString() <span class="overload">[6/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbString::xbString </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a>&#160;</td>
+ <td class="paramname"><em>d</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">d</td><td>- Initiailize string to d. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a10a6549efab02bc76ab33b15916b1eb1" name="a10a6549efab02bc76ab33b15916b1eb1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a10a6549efab02bc76ab33b15916b1eb1">&#9670;&nbsp;</a></span>~xbString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbString::~xbString </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Destructor. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a6c4fdb689d27a9d19a0b5b4236e1ca62" name="a6c4fdb689d27a9d19a0b5b4236e1ca62"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6c4fdb689d27a9d19a0b5b4236e1ca62">&#9670;&nbsp;</a></span>AddBackSlash()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::AddBackSlash </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Add a prefixing back slash to specified characters in the string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Character to prefix with a backslash. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a093c6ab5df375a2589755bb8f48fa5c7" name="a093c6ab5df375a2589755bb8f48fa5c7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a093c6ab5df375a2589755bb8f48fa5c7">&#9670;&nbsp;</a></span>Append() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Append </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Append data to string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>String data to append. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a1922319303feb6da1f40b5994c5e8240" name="a1922319303feb6da1f40b5994c5e8240"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1922319303feb6da1f40b5994c5e8240">&#9670;&nbsp;</a></span>Append() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Append </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Append data to string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>String data to append. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a097453cb71fbf0b5511cf1259ddce4fb" name="a097453cb71fbf0b5511cf1259ddce4fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a097453cb71fbf0b5511cf1259ddce4fb">&#9670;&nbsp;</a></span>Append() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Append </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulByteCount</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Append data to string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>String data to append. <br />
+ </td></tr>
+ <tr><td class="paramname">ulByteCount</td><td>Maximum number of bytes to append. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a8f202e4798491f2ae9ce51ff58dd5815" name="a8f202e4798491f2ae9ce51ff58dd5815"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8f202e4798491f2ae9ce51ff58dd5815">&#9670;&nbsp;</a></span>Append() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Append </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Append data to string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>String data to append. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a08eb7ca6740423acab4e8bd7a6c8043d" name="a08eb7ca6740423acab4e8bd7a6c8043d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a08eb7ca6740423acab4e8bd7a6c8043d">&#9670;&nbsp;</a></span>Assign() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Assign </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>sStr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulStartPos</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Assign portion of string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sStr</td><td>- Source string for copy operation. sStr needs to be a Null terminated string. </td></tr>
+ <tr><td class="paramname">ulStartPos</td><td>- Starting position within source string. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a85bef82dfa22122a1ab8dfe58a107d96" name="a85bef82dfa22122a1ab8dfe58a107d96"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a85bef82dfa22122a1ab8dfe58a107d96">&#9670;&nbsp;</a></span>Assign() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Assign </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>sStr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulStartPos</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulCopyLen</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Assign portion of string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sStr</td><td>- Source string for copy operation. sStr needs to be a Null terminated string. </td></tr>
+ <tr><td class="paramname">ulStartPos</td><td>- Starting position within source string. </td></tr>
+ <tr><td class="paramname">ulCopyLen</td><td>- Length of data to copy. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a97df314be5b3b2611be11ff50a19533d" name="a97df314be5b3b2611be11ff50a19533d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97df314be5b3b2611be11ff50a19533d">&#9670;&nbsp;</a></span>Assign() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Assign </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sStr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulStartPos</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Assign portion of string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sStr</td><td>- Source string for copy operation. sStr needs to be a Null terminated string. </td></tr>
+ <tr><td class="paramname">ulStartPos</td><td>- Starting position within source string. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a430119df844bd80d67c23c48b045af30" name="a430119df844bd80d67c23c48b045af30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a430119df844bd80d67c23c48b045af30">&#9670;&nbsp;</a></span>Assign() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Assign </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sStr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulStartPos</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulCopyLen</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Assign portion of string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sStr</td><td>- Source string for copy operation. sStr needs to be a Null terminated string. </td></tr>
+ <tr><td class="paramname">ulStartPos</td><td>- Starting position within source string. </td></tr>
+ <tr><td class="paramname">ulCopyLen</td><td>- Length of data to copy. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="ac7a8466b03c04df838bd182ef244f792" name="ac7a8466b03c04df838bd182ef244f792"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac7a8466b03c04df838bd182ef244f792">&#9670;&nbsp;</a></span>Copy()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> xb::xbString::Copy </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Copy a string. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a>. </dd></dl>
+
+</div>
+</div>
+<a id="a26bc14d92dc7ce1f2bf31cd74af0db0f" name="a26bc14d92dc7ce1f2bf31cd74af0db0f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a26bc14d92dc7ce1f2bf31cd74af0db0f">&#9670;&nbsp;</a></span>CountChar() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbString::CountChar </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Count the number of characters in the string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Character to count. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The number of characters. </dd></dl>
+
+</div>
+</div>
+<a id="adc0204bcfd1c052b9aea9229b10acf72" name="adc0204bcfd1c052b9aea9229b10acf72"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adc0204bcfd1c052b9aea9229b10acf72">&#9670;&nbsp;</a></span>CountChar() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbString::CountChar </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOpt</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Count the number of characters in the string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Character to count. </td></tr>
+ <tr><td class="paramname">iOpt</td><td>0 - Count the number of characters.<br />
+ 1 - Count the number of characters not between single or double quotes. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The number of characters. </dd></dl>
+
+</div>
+</div>
+<a id="a0a737bd408a94903f214eb2879eb56de" name="a0a737bd408a94903f214eb2879eb56de"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0a737bd408a94903f214eb2879eb56de">&#9670;&nbsp;</a></span>CvtHexChar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbString::CvtHexChar </td>
+ <td>(</td>
+ <td class="paramtype">char &amp;&#160;</td>
+ <td class="paramname"><em>cOut</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Convert hex character to string. </p>
+<p >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.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">cOut</td><td>Output character. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>XB_INVALID_PARM on error<br />
+ XB_NO_ERROR on success. </dd></dl>
+
+</div>
+</div>
+<a id="ab5eb6918a0ae9ab6c0e961318f3d1eb0" name="ab5eb6918a0ae9ab6c0e961318f3d1eb0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab5eb6918a0ae9ab6c0e961318f3d1eb0">&#9670;&nbsp;</a></span>CvtHexString()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbString::CvtHexString </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sOut</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Convert string of hex characters to string. </p>
+<p >This routine converts a string of four byte format of 0x00 to a string of one byte chars.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sOut</td><td>Output string of converted characters. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>XB_INVALID_PARM on error<br />
+ XB_NO_ERROR on success. </dd></dl>
+
+</div>
+</div>
+<a id="ae3ab18365e132323f8ae4c99eb72181c" name="ae3ab18365e132323f8ae4c99eb72181c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae3ab18365e132323f8ae4c99eb72181c">&#9670;&nbsp;</a></span>CvtLongLong()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbString::CvtLongLong </td>
+ <td>(</td>
+ <td class="paramtype">xbInt64 &amp;&#160;</td>
+ <td class="paramname"><em>llOut</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Convert string to xbInt64 number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">llOut</td><td>- output long long. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>XB_NO_ERROR </dd></dl>
+
+</div>
+</div>
+<a id="a1528b30b84a41c3564ef31d1f4496b15" name="a1528b30b84a41c3564ef31d1f4496b15"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1528b30b84a41c3564ef31d1f4496b15">&#9670;&nbsp;</a></span>CvtULongLong()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbString::CvtULongLong </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt64 &amp;&#160;</td>
+ <td class="paramname"><em>ullOut</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Convert string to xbUInt64 number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ullOut</td><td>- output unsigned long long. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>XB_NO_ERROR </dd></dl>
+
+</div>
+</div>
+<a id="a77195fc4957952625cb33bb503517a3e" name="a77195fc4957952625cb33bb503517a3e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a77195fc4957952625cb33bb503517a3e">&#9670;&nbsp;</a></span>ExtractElement() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::ExtractElement </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>pSrc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>cDelim</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>lSkipCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOpt</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Extract an element out of a delimited string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">pSrc</td><td>Source string. </td></tr>
+ <tr><td class="paramname">cDelim</td><td>Delimiter. </td></tr>
+ <tr><td class="paramname">lSkipCnt</td><td>Number of delimiters to skip. </td></tr>
+ <tr><td class="paramname">iOpt</td><td>0 - ignore single and double quotes.<br />
+ 1 - ignore delimiters between single or double quotes. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to string extracted from element. </dd></dl>
+
+</div>
+</div>
+<a id="a6b33a8df49cdcb76033cbce5d8dc59d7" name="a6b33a8df49cdcb76033cbce5d8dc59d7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6b33a8df49cdcb76033cbce5d8dc59d7">&#9670;&nbsp;</a></span>ExtractElement() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::ExtractElement </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sSrc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>cDelim</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>lSkipCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOpt</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Extract an element out of a delimited string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sSrc</td><td>Source string. </td></tr>
+ <tr><td class="paramname">cDelim</td><td>Delimiter. </td></tr>
+ <tr><td class="paramname">lSkipCnt</td><td>Number of delimiters to skip. </td></tr>
+ <tr><td class="paramname">iOpt</td><td>0 - ignore single and double quotes.<br />
+ 1 - ignore delimiters between single or double quotes. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to string extracted from element. </dd></dl>
+
+</div>
+</div>
+<a id="a685187a5f8401b322fc61f3fbe56330d" name="a685187a5f8401b322fc61f3fbe56330d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a685187a5f8401b322fc61f3fbe56330d">&#9670;&nbsp;</a></span>GetCharacter()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbString::GetCharacter </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>n</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get a character by position. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">n</td><td>- Position in string to extract. First position is 1 (not 0). </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Character from position n, or null. </dd></dl>
+
+</div>
+</div>
+<a id="ac7698665f44413a5e99a5b5bc573c6df" name="ac7698665f44413a5e99a5b5bc573c6df"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac7698665f44413a5e99a5b5bc573c6df">&#9670;&nbsp;</a></span>GetLastPos() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbString::GetLastPos </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the position of the last occurrence of a given character. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>- Character to search for. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Last position of character in the string. </dd></dl>
+
+</div>
+</div>
+<a id="a1c55587904fe7e534290559d0ecb8646" name="a1c55587904fe7e534290559d0ecb8646"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1c55587904fe7e534290559d0ecb8646">&#9670;&nbsp;</a></span>GetLastPos() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbString::GetLastPos </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the position of the last occurrence of a given string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>- String to search for. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Last position of character in the string. </dd></dl>
+
+</div>
+</div>
+<a id="af8b8b808cf43cd352321b43f500142db" name="af8b8b808cf43cd352321b43f500142db"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af8b8b808cf43cd352321b43f500142db">&#9670;&nbsp;</a></span>GetPathSeparator()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbString::GetPathSeparator </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the path separator out of the string. </p>
+<p >This method assumes the string is a valid path name. If it is, it returns either / or . </p><dl class="section return"><dt>Returns</dt><dd>Char value containing either / or \ depending on OS. </dd></dl>
+
+</div>
+</div>
+<a id="a6c33e73659f8e98819289d2661c7271c" name="a6c33e73659f8e98819289d2661c7271c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6c33e73659f8e98819289d2661c7271c">&#9670;&nbsp;</a></span>GetSize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbString::GetSize </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Retrieve the size of the string buffer. </p>
+<dl class="section return"><dt>Returns</dt><dd>Size of string buffer including the null terminating byte. </dd></dl>
+
+</div>
+</div>
+<a id="aa13f6b72e5a529eab04545892bbc98b4" name="aa13f6b72e5a529eab04545892bbc98b4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa13f6b72e5a529eab04545892bbc98b4">&#9670;&nbsp;</a></span>HasAlphaChars()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbString::HasAlphaChars </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determine if the string has any alpha characters. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - String contains one or more aloha characters.<br />
+ xbFalse - String contains no alpha characters. </dd></dl>
+
+</div>
+</div>
+<a id="a4a255a30d683acd62ea09c1617b53cb3" name="a4a255a30d683acd62ea09c1617b53cb3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a255a30d683acd62ea09c1617b53cb3">&#9670;&nbsp;</a></span>IsEmpty()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbString::IsEmpty </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determine if string is empty. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if string is empty.<br />
+ xbFalse if string is not empty. </dd></dl>
+
+</div>
+</div>
+<a id="a3fa34fa31bcb7244ecb054ab628ad500" name="a3fa34fa31bcb7244ecb054ab628ad500"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3fa34fa31bcb7244ecb054ab628ad500">&#9670;&nbsp;</a></span>IsNull()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbString::IsNull </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determine if string is NULL. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if string is NULL.<br />
+ xbFalse if string is not NULL. </dd></dl>
+
+</div>
+</div>
+<a id="acdc3a6d6955b99f0a6b1d181fb3098b9" name="acdc3a6d6955b99f0a6b1d181fb3098b9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acdc3a6d6955b99f0a6b1d181fb3098b9">&#9670;&nbsp;</a></span>Left()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Left </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulLen</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Retain left part of string, drop rightmost characters. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulLen</td><td>New string length, truncate rightmost excess. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to string. </dd></dl>
+
+</div>
+</div>
+<a id="a998b240eedac311aea5843047f55649b" name="a998b240eedac311aea5843047f55649b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a998b240eedac311aea5843047f55649b">&#9670;&nbsp;</a></span>Len()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbString::Len </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Retrieve length of current string. </p>
+<dl class="section return"><dt>Returns</dt><dd>String length, excluding the terminating null byte. </dd></dl>
+
+</div>
+</div>
+<a id="a90e0d0be4fd0d82dd2ebbe689adf18ee" name="a90e0d0be4fd0d82dd2ebbe689adf18ee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a90e0d0be4fd0d82dd2ebbe689adf18ee">&#9670;&nbsp;</a></span>Ltrim()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Ltrim </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Left trim white space from string. </p>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a656f5854f74064b7257ff96d96dfb68b" name="a656f5854f74064b7257ff96d96dfb68b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a656f5854f74064b7257ff96d96dfb68b">&#9670;&nbsp;</a></span>Ltrunc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Ltrunc </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulCnt</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Left truncate string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulCnt</td><td>Number of bytes to remove from the left. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a0f9eefc836b24c4ee7c5a316c5d812b7" name="a0f9eefc836b24c4ee7c5a316c5d812b7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0f9eefc836b24c4ee7c5a316c5d812b7">&#9670;&nbsp;</a></span>Mid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Mid </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulStartPos</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulTargLen</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Extract portion of data from string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulStartPos</td><td>Starting position </td></tr>
+ <tr><td class="paramname">ulTargLen</td><td>Length </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to string </dd></dl>
+
+</div>
+</div>
+<a id="a545df0ae9590f0ea5844a165e38a6388" name="a545df0ae9590f0ea5844a165e38a6388"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a545df0ae9590f0ea5844a165e38a6388">&#9670;&nbsp;</a></span>operator const char *()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbString::operator const char * </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Operator const char *. </p>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to string data. </dd></dl>
+
+</div>
+</div>
+<a id="a822448f2a0ce653473d4c1de5763a3a6" name="a822448f2a0ce653473d4c1de5763a3a6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a822448f2a0ce653473d4c1de5763a3a6">&#9670;&nbsp;</a></span>operator!=() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbString::operator!= </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator != </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>String to compare </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Strings don't match.<br />
+ zbFalse - Strings match.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="acf89691607050b0505dc6af28d059c38" name="acf89691607050b0505dc6af28d059c38"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acf89691607050b0505dc6af28d059c38">&#9670;&nbsp;</a></span>operator!=() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbString::operator!= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator != </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>String to compare </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Strings don't match.<br />
+ xbFalse - Strings match.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="aab556e8c3cb478dd95643327d72a48bd" name="aab556e8c3cb478dd95643327d72a48bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aab556e8c3cb478dd95643327d72a48bd">&#9670;&nbsp;</a></span>operator+() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> xb::xbString::operator+ </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s1</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Concatonate operator +. </p>
+<p >Concatonate left string with right string returning reference to new string.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s1</td><td>Right string operator. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="af559654baba81c3c0c19823c0b7a69d3" name="af559654baba81c3c0c19823c0b7a69d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af559654baba81c3c0c19823c0b7a69d3">&#9670;&nbsp;</a></span>operator+() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> xb::xbString::operator+ </td>
+ <td>(</td>
+ <td class="paramtype">const char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Concatonate operator +. </p>
+<p >Concatonate left string with right string returning reference to new string.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Right string operator. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a1f289d577ba90c500bc1be3ec7bb0206" name="a1f289d577ba90c500bc1be3ec7bb0206"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f289d577ba90c500bc1be3ec7bb0206">&#9670;&nbsp;</a></span>operator+() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> xb::xbString::operator+ </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s1</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Concatonate operator +. </p>
+<p >Concatonate left string with right string returning reference to new string.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s1</td><td>Right string operator. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="ae12f45b8be84e438e032c0b860f985c6" name="ae12f45b8be84e438e032c0b860f985c6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae12f45b8be84e438e032c0b860f985c6">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::operator+= </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Append operator +=. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>- Append c to the string. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="ab319120dbad9107e1e7090139c956100" name="ab319120dbad9107e1e7090139c956100"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab319120dbad9107e1e7090139c956100">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::operator+= </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Append operator +=. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>- Append s to the string. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a76a47af239797a266ada6141c150001c" name="a76a47af239797a266ada6141c150001c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a76a47af239797a266ada6141c150001c">&#9670;&nbsp;</a></span>operator+=() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::operator+= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Append operator +=. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>- Append s to the string. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a06abec236b95f6933ba17bf67089f7cf" name="a06abec236b95f6933ba17bf67089f7cf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a06abec236b95f6933ba17bf67089f7cf">&#9670;&nbsp;</a></span>operator-()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> xb::xbString::operator- </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s1</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Concatonate operator -. </p>
+<p >Concatonate left string with right string returning reference to new string. Both strings are trimmed.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s1</td><td>Right string operator. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="adcafd019df23bb5724c46e34f3f31194" name="adcafd019df23bb5724c46e34f3f31194"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adcafd019df23bb5724c46e34f3f31194">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::operator-= </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Append operator -=. </p>
+<p >Append c to the right of this string, trimming right space on this string first. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>- Append s to the right of the string value. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="aaae97e6eda3d18c9f463993ade985bf4" name="aaae97e6eda3d18c9f463993ade985bf4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaae97e6eda3d18c9f463993ade985bf4">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::operator-= </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Append operator -=. </p>
+<p >Append s to the right of this string, right trimming both strings. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>- Append s to the right of the string value. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="aa7f4db1b4eae9dfad46346db6e17ea15" name="aa7f4db1b4eae9dfad46346db6e17ea15"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa7f4db1b4eae9dfad46346db6e17ea15">&#9670;&nbsp;</a></span>operator-=() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::operator-= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Append operator -=. </p>
+<p >Append s to the right of this string, right trimming both strings. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>- Append s to the right of the string value. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a71c7aafa0d523c72cbe58c474be2270a" name="a71c7aafa0d523c72cbe58c474be2270a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a71c7aafa0d523c72cbe58c474be2270a">&#9670;&nbsp;</a></span>operator&lt;()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbString::operator&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator &lt; </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>String to compare </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Left string is less than the right string.<br />
+ zbFalse - Left string is not less than the right string.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a461f245e60cddfdf5f78a972a46e5880" name="a461f245e60cddfdf5f78a972a46e5880"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a461f245e60cddfdf5f78a972a46e5880">&#9670;&nbsp;</a></span>operator&lt;=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbString::operator&lt;= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator &lt;= </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>String to compare </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Left string is less than or equal to the right string.<br />
+ zbFalse - Left string is not less than or equal to the right string.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a84ae7d16c5d73c5aa2270aa9895a7f7c" name="a84ae7d16c5d73c5aa2270aa9895a7f7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a84ae7d16c5d73c5aa2270aa9895a7f7c">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set operator =. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>- Set the string to the string on the right of the equal sign. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a4f69d11cbd43edf71725a606d0ca8f40" name="a4f69d11cbd43edf71725a606d0ca8f40"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4f69d11cbd43edf71725a606d0ca8f40">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set operator =. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>- Set the string to the string on the right of the equal sign. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a94031269af3c433393d4cf0ff9b4be38" name="a94031269af3c433393d4cf0ff9b4be38"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a94031269af3c433393d4cf0ff9b4be38">&#9670;&nbsp;</a></span>operator==() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbString::operator== </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator == </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>String to compare </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Strings match.<br />
+ zbFalse - Strings don't match.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a2df3ed2fc9456214f5fd2fcf77b69bc1" name="a2df3ed2fc9456214f5fd2fcf77b69bc1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2df3ed2fc9456214f5fd2fcf77b69bc1">&#9670;&nbsp;</a></span>operator==() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbString::operator== </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator == </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>String to compare </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Strings match.<br />
+ zbFalse - Strings don't match.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="ae46f6a45da5686b607a4edf2786a2fff" name="ae46f6a45da5686b607a4edf2786a2fff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae46f6a45da5686b607a4edf2786a2fff">&#9670;&nbsp;</a></span>operator&gt;()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbString::operator&gt; </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator &gt; </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>String to compare </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Left string is greater than the right string.<br />
+ zbFalse - Left string is not greater than the right string.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a8f16643cb7ba3ee9cf685422c9ea0e67" name="a8f16643cb7ba3ee9cf685422c9ea0e67"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8f16643cb7ba3ee9cf685422c9ea0e67">&#9670;&nbsp;</a></span>operator&gt;=()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbString::operator&gt;= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator &gt;= </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>String to compare </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Left string is greater than or equal to the right string.<br />
+ zbFalse - Left string is not greater than or equal to the right string.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a4deaa68d9571753349c29baacb5613e8" name="a4deaa68d9571753349c29baacb5613e8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4deaa68d9571753349c29baacb5613e8">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char &amp; xb::xbString::operator[] </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>n</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator [] </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">n</td><td>- Offset into the string of the byte to retrieve. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>c - The character to return from the offset within the [] brackets. </dd></dl>
+
+</div>
+</div>
+<a id="abe45e463226ac8e18550ced18c5a9df3" name="abe45e463226ac8e18550ced18c5a9df3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abe45e463226ac8e18550ced18c5a9df3">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char &amp; xb::xbString::operator[] </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>n</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>operator [] </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">n</td><td>- Offset into the string of the byte to retrieve. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>c - The character to return from the offset within the [] brackets. </dd></dl>
+
+</div>
+</div>
+<a id="a6a09cfed22066b0c72432f26960f9e7b" name="a6a09cfed22066b0c72432f26960f9e7b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a09cfed22066b0c72432f26960f9e7b">&#9670;&nbsp;</a></span>PadLeft()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::PadLeft </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulNewLen</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Left pad string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Padding character. </td></tr>
+ <tr><td class="paramname">ulNewLen</td><td>New string length. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="aba13f0c77eb6c4a22996039569fad284" name="aba13f0c77eb6c4a22996039569fad284"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba13f0c77eb6c4a22996039569fad284">&#9670;&nbsp;</a></span>PadRight()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::PadRight </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulNewLen</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Right pad string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Padding character. </td></tr>
+ <tr><td class="paramname">ulNewLen</td><td>New string length. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a3baf59d15099589ff631995f129e582b" name="a3baf59d15099589ff631995f129e582b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3baf59d15099589ff631995f129e582b">&#9670;&nbsp;</a></span>Pos() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbString::Pos </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determine position of a given character. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Seek character </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Position within string. Returns 0 if not found. </dd></dl>
+
+</div>
+</div>
+<a id="a1b586890138da8bf0e23090bd8b34581" name="a1b586890138da8bf0e23090bd8b34581"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1b586890138da8bf0e23090bd8b34581">&#9670;&nbsp;</a></span>Pos() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbString::Pos </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulStartPos</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determine position of a given character. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>Seek character </td></tr>
+ <tr><td class="paramname">ulStartPos</td><td>starting position for search, first position is 1 </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Position within string. Returns 0 if not found. </dd></dl>
+
+</div>
+</div>
+<a id="a8705d7277b72f5aa98021e84438914da" name="a8705d7277b72f5aa98021e84438914da"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8705d7277b72f5aa98021e84438914da">&#9670;&nbsp;</a></span>Pos() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 xb::xbString::Pos </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determine position of a given substring. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>Substring </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Position within string. Returns 0 if not found. </dd></dl>
+
+</div>
+</div>
+<a id="a1bae6fa8f608261f6e889616482f6e39" name="a1bae6fa8f608261f6e889616482f6e39"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1bae6fa8f608261f6e889616482f6e39">&#9670;&nbsp;</a></span>PutAt()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::PutAt </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulPos</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Insert character into string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulPos</td><td>Insertion position. </td></tr>
+ <tr><td class="paramname">c</td><td>Character to insert. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="afaac65eaa6d9ef1596d6a0e7b91ed0f2" name="afaac65eaa6d9ef1596d6a0e7b91ed0f2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afaac65eaa6d9ef1596d6a0e7b91ed0f2">&#9670;&nbsp;</a></span>Remove()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Remove </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulStartPos</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulDelSize</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Remove portion of string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulStartPos</td><td>Starting position for removal operation. </td></tr>
+ <tr><td class="paramname">ulDelSize</td><td>Size of deletion. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to string. </dd></dl>
+
+</div>
+</div>
+<a id="ac721d643c60b5c5acf60c2bce99596fa" name="ac721d643c60b5c5acf60c2bce99596fa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac721d643c60b5c5acf60c2bce99596fa">&#9670;&nbsp;</a></span>Replace()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Replace </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>sReplace</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>sReplaceWith</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOption</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Replace a value within a string with another value. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sReplace</td><td>- Character string to replace. </td></tr>
+ <tr><td class="paramname">sReplaceWith</td><td>- Character string to replace with </td></tr>
+ <tr><td class="paramname">iOption</td><td>- 0 = All occurrences, 1 = first occurrence </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="aa6d346ab04e5bb8852f0bb996163a35e" name="aa6d346ab04e5bb8852f0bb996163a35e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa6d346ab04e5bb8852f0bb996163a35e">&#9670;&nbsp;</a></span>Resize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Resize </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulSize</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Resize a string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ulSize</td><td>- New string size, including null termination byte. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="aaf330188d67c347ecae0d16f65b22077" name="aaf330188d67c347ecae0d16f65b22077"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaf330188d67c347ecae0d16f65b22077">&#9670;&nbsp;</a></span>Rtrim()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Rtrim </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Right trim the string. </p>
+<p >This routine removes any trailing white space on the string.</p>
+<dl class="section return"><dt>Returns</dt><dd>Reference to string. </dd></dl>
+
+</div>
+</div>
+<a id="ab85753d2c39882e946a8468cbb587700" name="ab85753d2c39882e946a8468cbb587700"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab85753d2c39882e946a8468cbb587700">&#9670;&nbsp;</a></span>Set() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Set </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the value of the string. </p>
+<p >Note: This routine fails if you try to set the string to itself or some part of itself.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>Value to set the string. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to string. </dd></dl>
+
+</div>
+</div>
+<a id="a6eba6ccd0c805a22516de2c18a30f8a3" name="a6eba6ccd0c805a22516de2c18a30f8a3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6eba6ccd0c805a22516de2c18a30f8a3">&#9670;&nbsp;</a></span>Set() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Set </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>ulSize</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the value of the string. </p>
+<p >Note: This routine fails if you try to set the string to itself or some part of itself.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>Value to set the string. </td></tr>
+ <tr><td class="paramname">ulSize</td><td>Maximum size of resultant string. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to string. </dd></dl>
+
+</div>
+</div>
+<a id="ac0d08bd688fd0e3707e32886d0dfeb09" name="ac0d08bd688fd0e3707e32886d0dfeb09"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac0d08bd688fd0e3707e32886d0dfeb09">&#9670;&nbsp;</a></span>Set() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Set </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the value of the string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s</td><td>Value to set the string. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to string. </dd></dl>
+
+</div>
+</div>
+<a id="a3af5b1f111f94b0667551fcbd1d97abd" name="a3af5b1f111f94b0667551fcbd1d97abd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3af5b1f111f94b0667551fcbd1d97abd">&#9670;&nbsp;</a></span>SetNum()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::SetNum </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>lNum</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the string to long integer numeric value. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lNum</td><td>Value to set the string </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a9e9bfa29d86377b915f1628aeb0e9195" name="a9e9bfa29d86377b915f1628aeb0e9195"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9e9bfa29d86377b915f1628aeb0e9195">&#9670;&nbsp;</a></span>Sprintf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Sprintf </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>sFormat</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>...</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Printf routine for formatting a string. </p>
+<p >See documentation on the standard C printf function for how to use this.</p>
+<p >MyString.Sprintf( "a number %d some text %s", 100, "test text data" );</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sFormat</td><td>A format specifier </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to a formatted string </dd></dl>
+
+</div>
+</div>
+<a id="a6715f4c0010f3ab487c9d787838a29b3" name="a6715f4c0010f3ab487c9d787838a29b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6715f4c0010f3ab487c9d787838a29b3">&#9670;&nbsp;</a></span>Str()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * xb::xbString::Str </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Return string data. </p>
+<dl class="section return"><dt>Returns</dt><dd>char * to string data or NULL if string is empty </dd></dl>
+
+</div>
+</div>
+<a id="a3bc9e856c34f0c240a6e36e5b6e3ea7b" name="a3bc9e856c34f0c240a6e36e5b6e3ea7b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3bc9e856c34f0c240a6e36e5b6e3ea7b">&#9670;&nbsp;</a></span>strncpy()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char * xb::xbString::strncpy </td>
+ <td>(</td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>cDest</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>n</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Copy all or part of string to character array. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">cDest</td><td>pointer to destination buffer. </td></tr>
+ <tr><td class="paramname">n</td><td>Number of bytest to copy. It is the responsibility of the application to verify the buffer is large enough to hold the string contents. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>char * to result </dd></dl>
+
+</div>
+</div>
+<a id="a054683872e1f05d11c2cf8683a63a6fe" name="a054683872e1f05d11c2cf8683a63a6fe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a054683872e1f05d11c2cf8683a63a6fe">&#9670;&nbsp;</a></span>SwapChars()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::SwapChars </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>cFrom</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>cTo</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Swap characters. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">cFrom</td><td>character to replace. </td></tr>
+ <tr><td class="paramname">cTo</td><td>character to replace with. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a602cac1a6ef3f6b52f587ac4c0ef4fb2" name="a602cac1a6ef3f6b52f587ac4c0ef4fb2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a602cac1a6ef3f6b52f587ac4c0ef4fb2">&#9670;&nbsp;</a></span>ToLowerCase()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::ToLowerCase </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Replace all upper case charaters with lower case characters. </p>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="a68001d0a44e6b4fe61e29a4e41ded9d4" name="a68001d0a44e6b4fe61e29a4e41ded9d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a68001d0a44e6b4fe61e29a4e41ded9d4">&#9670;&nbsp;</a></span>ToUpperCase()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::ToUpperCase </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Replace all lower case charaters with lower case characters. </p>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="abc9bd33687d4e03ca52d77885721d626" name="abc9bd33687d4e03ca52d77885721d626"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc9bd33687d4e03ca52d77885721d626">&#9670;&nbsp;</a></span>Trim()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::Trim </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Trim all leading and trailing white space from string. </p>
+<dl class="section return"><dt>Returns</dt><dd>Reference to string. </dd></dl>
+
+</div>
+</div>
+<a id="a72b16c15fd8822efaa5f158c34df7b1e" name="a72b16c15fd8822efaa5f158c34df7b1e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a72b16c15fd8822efaa5f158c34df7b1e">&#9670;&nbsp;</a></span>ValidLogicalValue()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbString::ValidLogicalValue </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Check for valid logical field data. </p>
+<p >Valid logical data is one 'T', 'F', 'N' or 'Y'.<br />
+</p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if the data is valid logical data.<br />
+ xbFalse if not valid logical data. </dd></dl>
+
+</div>
+</div>
+<a id="aeed920d2a25111f776ddde2d530eb81b" name="aeed920d2a25111f776ddde2d530eb81b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeed920d2a25111f776ddde2d530eb81b">&#9670;&nbsp;</a></span>ValidNumericValue()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbString::ValidNumericValue </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>This function returns true if the data is valid numeric data. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if valid numeric data.<br />
+ xbFalse if not valid numeric daata. </dd></dl>
+
+</div>
+</div>
+<a id="a2fd30956a26a260d1ef6fdbe73dd93f9" name="a2fd30956a26a260d1ef6fdbe73dd93f9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2fd30956a26a260d1ef6fdbe73dd93f9">&#9670;&nbsp;</a></span>ZapChar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::ZapChar </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Remove every instance of a character from a string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>character to remove from string. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this stirng.void </dd></dl>
+
+</div>
+</div>
+<a id="addc3a470f6cd85d4c21bf9da38cf5ac9" name="addc3a470f6cd85d4c21bf9da38cf5ac9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#addc3a470f6cd85d4c21bf9da38cf5ac9">&#9670;&nbsp;</a></span>ZapLeadingChar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::ZapLeadingChar </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Remove leading character from a string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>character to remove from beginning of string. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<a id="afe3415bfa2e1089b792aeda0462fb99e" name="afe3415bfa2e1089b792aeda0462fb99e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afe3415bfa2e1089b792aeda0462fb99e">&#9670;&nbsp;</a></span>ZapTrailingChar()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbString::ZapTrailingChar </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Remove trailing character from a string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>character to remove from ending of string. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this string. </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Friends And Related Function Documentation</h2>
+<a id="a3fa915061156521e9dd772a8d7e5f8fb" name="a3fa915061156521e9dd772a8d7e5f8fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3fa915061156521e9dd772a8d7e5f8fb">&#9670;&nbsp;</a></span>operator&lt;&lt;</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::ostream &amp; operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">std::ostream &amp;&#160;</td>
+ <td class="paramname"><em>os</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Stream insertion operator &lt;&lt;. </p>
+<p >std::cout &lt;&lt; MyString &lt;&lt; std::endl;</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">os</td><td>Output stream </td></tr>
+ <tr><td class="paramname">s</td><td>String to send to output stream </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/include/<a class="el" href="xbstring_8h_source.html">xbstring.h</a></li>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/core/<a class="el" href="xbstring_8cpp.html">xbstring.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/classxb_1_1xbTblMgr.html b/docs/doxygen/html/classxb_1_1xbTblMgr.html
new file mode 100644
index 0000000..984ddf4
--- /dev/null
+++ b/docs/doxygen/html/classxb_1_1xbTblMgr.html
@@ -0,0 +1,1202 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: xb::xbTblMgr Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="namespacexb.html">xb</a></li><li class="navelem"><a class="el" href="classxb_1_1xbTblMgr.html">xbTblMgr</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-attribs">Static Protected Attributes</a> </div>
+ <div class="headertitle"><div class="title">xb::xbTblMgr Class Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="xbtblmgr_8h_source.html">xbtblmgr.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for xb::xbTblMgr:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classxb_1_1xbTblMgr.png" usemap="#xb::xbTblMgr_map" alt=""/>
+ <map id="xb::xbTblMgr_map" name="xb::xbTblMgr_map">
+<area href="classxb_1_1xbSsv.html" title="Class for handling shared system variables." alt="xb::xbSsv" shape="rect" coords="0,0,84,24"/>
+<area href="classxb_1_1xbXBase.html" title="xbXbase class." alt="xb::xbXBase" shape="rect" coords="0,112,84,136"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aad83f5ecc184ca6cbdfc6f356b598d6c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#aad83f5ecc184ca6cbdfc6f356b598d6c">xbTblMgr</a> ()</td></tr>
+<tr class="separator:aad83f5ecc184ca6cbdfc6f356b598d6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad6be32d7b3378c71d47fa27ebfe6cbf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#aad6be32d7b3378c71d47fa27ebfe6cbf">~xbTblMgr</a> ()</td></tr>
+<tr class="separator:aad6be32d7b3378c71d47fa27ebfe6cbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af16832ff2bfaee09265652e0fc03709a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#af16832ff2bfaee09265652e0fc03709a">AddTblToTblList</a> (<a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *d, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFqTblName)</td></tr>
+<tr class="separator:af16832ff2bfaee09265652e0fc03709a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2033188e9b08778188a034a6fc90ca85"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#a2033188e9b08778188a034a6fc90ca85">AddTblToTblList</a> (<a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *d, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFqTblName, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTblAlias)</td></tr>
+<tr class="separator:a2033188e9b08778188a034a6fc90ca85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5eebffb9e8cc64141e35c2622045cb50"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#a5eebffb9e8cc64141e35c2622045cb50">DisplayTableList</a> () const</td></tr>
+<tr class="separator:a5eebffb9e8cc64141e35c2622045cb50"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8a5d28a2ee6720a9aa74bcb45662cf5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#ad8a5d28a2ee6720a9aa74bcb45662cf5">GetDbfPtr</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTblAlias) const</td></tr>
+<tr class="separator:ad8a5d28a2ee6720a9aa74bcb45662cf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a801dfecf7fc216954b4197b2c31b25d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#a801dfecf7fc216954b4197b2c31b25d6">GetDbfPtr</a> (xbInt16 sItemNo) const</td></tr>
+<tr class="separator:a801dfecf7fc216954b4197b2c31b25d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbf148ddba4297021cfb980a161ebef9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structxb_1_1xbTblList.html">xbTblList</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#acbf148ddba4297021cfb980a161ebef9">GetTblListEntry</a> (<a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *d)</td></tr>
+<tr class="separator:acbf148ddba4297021cfb980a161ebef9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0d2d4adabc0dc0e761cfdee63c84069"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#ad0d2d4adabc0dc0e761cfdee63c84069">GetOpenTableCount</a> () const</td></tr>
+<tr class="separator:ad0d2d4adabc0dc0e761cfdee63c84069"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac8eaef41acf08911b90f900aac8e70af"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#ac8eaef41acf08911b90f900aac8e70af">RemoveTblFromTblList</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTblAlias)</td></tr>
+<tr class="separator:ac8eaef41acf08911b90f900aac8e70af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d82b6e73d5c0bc8cac22b9a260389c1"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#a3d82b6e73d5c0bc8cac22b9a260389c1">RemoveTblFromTblList</a> (<a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *d)</td></tr>
+<tr class="separator:a3d82b6e73d5c0bc8cac22b9a260389c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97dfa59ab9a8e9f17454da0faceb023d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">DisplayError</a> (xbInt16 ErrorCode) const</td></tr>
+<tr class="memdesc:a97dfa59ab9a8e9f17454da0faceb023d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display error message on console for a given error number. <a href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">More...</a><br /></td></tr>
+<tr class="separator:a97dfa59ab9a8e9f17454da0faceb023d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">GetDefaultDateFormat</a> () const</td></tr>
+<tr class="memdesc:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default date format. <a href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">More...</a><br /></td></tr>
+<tr class="separator:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">GetDataDirectory</a> () const</td></tr>
+<tr class="memdesc:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current data directory. <a href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">More...</a><br /></td></tr>
+<tr class="separator:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abfaeef85935331073d213465bb362a61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">GetTempDirectory</a> () const</td></tr>
+<tr class="memdesc:abfaeef85935331073d213465bb362a61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current temp directory. <a href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">More...</a><br /></td></tr>
+<tr class="separator:abfaeef85935331073d213465bb362a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc9c06c95d71fbad8294e1ae8862cea9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">GetHomeDir</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sHomeDirOut)</td></tr>
+<tr class="memdesc:abc9c06c95d71fbad8294e1ae8862cea9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get home directory. <a href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">More...</a><br /></td></tr>
+<tr class="separator:abc9c06c95d71fbad8294e1ae8862cea9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49cd162f066eef2b829ba7c9f6620243"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">GetEndianType</a> () const</td></tr>
+<tr class="memdesc:a49cd162f066eef2b829ba7c9f6620243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Endian type. <a href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">More...</a><br /></td></tr>
+<tr class="separator:a49cd162f066eef2b829ba7c9f6620243"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56961d2a67b8e7470098626ac4dac7e4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">GetErrorMessage</a> (xbInt16 ErrorCode) const</td></tr>
+<tr class="memdesc:a56961d2a67b8e7470098626ac4dac7e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an error message. <a href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">More...</a><br /></td></tr>
+<tr class="separator:a56961d2a67b8e7470098626ac4dac7e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63cee13b473ee13970e93b11837b9e35"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">GetPathSeparator</a> () const</td></tr>
+<tr class="memdesc:a63cee13b473ee13970e93b11837b9e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the OS dependent path separator. <a href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">More...</a><br /></td></tr>
+<tr class="separator:a63cee13b473ee13970e93b11837b9e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">SetDataDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDataDirectory)</td></tr>
+<tr class="memdesc:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data directory. <a href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">More...</a><br /></td></tr>
+<tr class="separator:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f74db23f8902846d581935c7db73f9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">SetDefaultDateFormat</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDefaultDateFormat)</td></tr>
+<tr class="memdesc:a5f74db23f8902846d581935c7db73f9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default date format. <a href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">More...</a><br /></td></tr>
+<tr class="separator:a5f74db23f8902846d581935c7db73f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a17c229a20ef9ab4034df8f9cd657adb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">SetTempDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTempDirectory)</td></tr>
+<tr class="memdesc:a17c229a20ef9ab4034df8f9cd657adb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the temp directory. <a href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">More...</a><br /></td></tr>
+<tr class="separator:a17c229a20ef9ab4034df8f9cd657adb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62e4fd0a5888665c76bbbad962794e72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">BitSet</a> (unsigned char c, xbInt16 iBitNo) const</td></tr>
+<tr class="memdesc:a62e4fd0a5888665c76bbbad962794e72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check a bit in a one byte field and see if it is set. <a href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">More...</a><br /></td></tr>
+<tr class="separator:a62e4fd0a5888665c76bbbad962794e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8551b15a3ce4fa2a40d698db01f4a9ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a8551b15a3ce4fa2a40d698db01f4a9ae">BitDump</a> (unsigned char c) const</td></tr>
+<tr class="separator:a8551b15a3ce4fa2a40d698db01f4a9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba1395b8e4c7f28c3614061de6e49190"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#aba1395b8e4c7f28c3614061de6e49190">BitDump</a> (char c) const</td></tr>
+<tr class="separator:aba1395b8e4c7f28c3614061de6e49190"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6982f973e81587b04916f4509746aaf5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">GetDefaultAutoCommit</a> () const</td></tr>
+<tr class="memdesc:a6982f973e81587b04916f4509746aaf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default auto commit setting. <a href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">More...</a><br /></td></tr>
+<tr class="separator:a6982f973e81587b04916f4509746aaf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">SetDefaultAutoCommit</a> (<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bDefaultAutoCommit)</td></tr>
+<tr class="memdesc:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default auto commit. <a href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">More...</a><br /></td></tr>
+<tr class="separator:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4822315bded3969b59aeeb683c373051"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a4822315bded3969b59aeeb683c373051">GetLogDirectory</a> () const</td></tr>
+<tr class="separator:a4822315bded3969b59aeeb683c373051"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afaef09435be73b3111f5edbd7091d861"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#afaef09435be73b3111f5edbd7091d861">GetLogFileName</a> () const</td></tr>
+<tr class="separator:afaef09435be73b3111f5edbd7091d861"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b992ed97281bf25b5b66f5df686225e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a7b992ed97281bf25b5b66f5df686225e">SetLogDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLogDirectory)</td></tr>
+<tr class="separator:a7b992ed97281bf25b5b66f5df686225e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f05738e7dfd759e89990242ef503544"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a7f05738e7dfd759e89990242ef503544">SetLogFileName</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLogFileName)</td></tr>
+<tr class="separator:a7f05738e7dfd759e89990242ef503544"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">GetMultiUser</a> () const</td></tr>
+<tr class="memdesc:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the multi user setting. <a href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">More...</a><br /></td></tr>
+<tr class="separator:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba6e59512f7172dd55dcf92059e5928c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">SetMultiUser</a> (<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bMultiUser)</td></tr>
+<tr class="memdesc:aba6e59512f7172dd55dcf92059e5928c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the multi user setting. <a href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">More...</a><br /></td></tr>
+<tr class="separator:aba6e59512f7172dd55dcf92059e5928c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a6219f1b5e24ea12fe158cd5aea56988e"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6219f1b5e24ea12fe158cd5aea56988e">ErrorCodeText</a> []</td></tr>
+<tr class="separator:a6219f1b5e24ea12fe158cd5aea56988e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a904ec348fd029d4a76e72b8fde636108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">SetEndianType</a> ()</td></tr>
+<tr class="memdesc:a904ec348fd029d4a76e72b8fde636108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the endian type. <a href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">More...</a><br /></td></tr>
+<tr class="separator:a904ec348fd029d4a76e72b8fde636108"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-static-attribs" name="pro-static-attribs"></a>
+Static Protected Attributes</h2></td></tr>
+<tr class="memitem:a5849e813f5e8e1cd180f0366637adbf3"><td class="memItemLeft" align="right" valign="top">static xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a5849e813f5e8e1cd180f0366637adbf3">iEndianType</a> = 0</td></tr>
+<tr class="separator:a5849e813f5e8e1cd180f0366637adbf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9dec3164c3b264882df634915ecf21da"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classxb_1_1xbString.html">xbString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a9dec3164c3b264882df634915ecf21da">sNullString</a> = &quot;&quot;</td></tr>
+<tr class="separator:a9dec3164c3b264882df634915ecf21da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="aad83f5ecc184ca6cbdfc6f356b598d6c" name="aad83f5ecc184ca6cbdfc6f356b598d6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aad83f5ecc184ca6cbdfc6f356b598d6c">&#9670;&nbsp;</a></span>xbTblMgr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbTblMgr::xbTblMgr </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aad6be32d7b3378c71d47fa27ebfe6cbf" name="aad6be32d7b3378c71d47fa27ebfe6cbf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aad6be32d7b3378c71d47fa27ebfe6cbf">&#9670;&nbsp;</a></span>~xbTblMgr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbTblMgr::~xbTblMgr </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="af16832ff2bfaee09265652e0fc03709a" name="af16832ff2bfaee09265652e0fc03709a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af16832ff2bfaee09265652e0fc03709a">&#9670;&nbsp;</a></span>AddTblToTblList() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbTblMgr::AddTblToTblList </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>d</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFqTblName</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2033188e9b08778188a034a6fc90ca85" name="a2033188e9b08778188a034a6fc90ca85"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2033188e9b08778188a034a6fc90ca85">&#9670;&nbsp;</a></span>AddTblToTblList() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbTblMgr::AddTblToTblList </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>d</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFqTblName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTblAlias</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aba1395b8e4c7f28c3614061de6e49190" name="aba1395b8e4c7f28c3614061de6e49190"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba1395b8e4c7f28c3614061de6e49190">&#9670;&nbsp;</a></span>BitDump() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::BitDump </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8551b15a3ce4fa2a40d698db01f4a9ae" name="a8551b15a3ce4fa2a40d698db01f4a9ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8551b15a3ce4fa2a40d698db01f4a9ae">&#9670;&nbsp;</a></span>BitDump() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::BitDump </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a62e4fd0a5888665c76bbbad962794e72" name="a62e4fd0a5888665c76bbbad962794e72"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a62e4fd0a5888665c76bbbad962794e72">&#9670;&nbsp;</a></span>BitSet()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::BitSet </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iBitNo</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Check a bit in a one byte field and see if it is set. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>One byte char field to examine. </td></tr>
+ <tr><td class="paramname">iBitNo</td><td>which bit to examine. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue Bit is set<br />
+ xbFalse Bit is not set </dd></dl>
+
+</div>
+</div>
+<a id="a97dfa59ab9a8e9f17454da0faceb023d" name="a97dfa59ab9a8e9f17454da0faceb023d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97dfa59ab9a8e9f17454da0faceb023d">&#9670;&nbsp;</a></span>DisplayError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::DisplayError </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iErrorCode</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Display error message on console for a given error number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iErrorCode</td><td>Error number to reference </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a5eebffb9e8cc64141e35c2622045cb50" name="a5eebffb9e8cc64141e35c2622045cb50"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5eebffb9e8cc64141e35c2622045cb50">&#9670;&nbsp;</a></span>DisplayTableList()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbTblMgr::DisplayTableList </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1d803a4bfc8ba0561267a0bf9e51f7d9" name="a1d803a4bfc8ba0561267a0bf9e51f7d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d803a4bfc8ba0561267a0bf9e51f7d9">&#9670;&nbsp;</a></span>GetDataDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetDataDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the current data directory. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the current data directory where the database files are stored. </dd></dl>
+
+</div>
+</div>
+<a id="ad8a5d28a2ee6720a9aa74bcb45662cf5" name="ad8a5d28a2ee6720a9aa74bcb45662cf5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8a5d28a2ee6720a9aa74bcb45662cf5">&#9670;&nbsp;</a></span>GetDbfPtr() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> * xb::xbTblMgr::GetDbfPtr </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTblAlias</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a801dfecf7fc216954b4197b2c31b25d6" name="a801dfecf7fc216954b4197b2c31b25d6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a801dfecf7fc216954b4197b2c31b25d6">&#9670;&nbsp;</a></span>GetDbfPtr() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> * xb::xbTblMgr::GetDbfPtr </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>sItemNo</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6982f973e81587b04916f4509746aaf5" name="a6982f973e81587b04916f4509746aaf5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6982f973e81587b04916f4509746aaf5">&#9670;&nbsp;</a></span>GetDefaultAutoCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::GetDefaultAutoCommit </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the default auto commit setting. </p>
+<p >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-&gt;Put() and dbf-&gt;AppendRecord().</p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if auto commit is turned on<br />
+ xbFalse is auto commit is turned off </dd></dl>
+
+</div>
+</div>
+<a id="a6fbb9c3a550ab0b3378f9586a57791d2" name="a6fbb9c3a550ab0b3378f9586a57791d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6fbb9c3a550ab0b3378f9586a57791d2">&#9670;&nbsp;</a></span>GetDefaultDateFormat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetDefaultDateFormat </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the default date format. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the default date format. </dd></dl>
+
+</div>
+</div>
+<a id="a49cd162f066eef2b829ba7c9f6620243" name="a49cd162f066eef2b829ba7c9f6620243"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a49cd162f066eef2b829ba7c9f6620243">&#9670;&nbsp;</a></span>GetEndianType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSsv::GetEndianType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the Endian type. </p>
+<dl class="section return"><dt>Returns</dt><dd>B - Big endian<br />
+ L - Little endian<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a56961d2a67b8e7470098626ac4dac7e4" name="a56961d2a67b8e7470098626ac4dac7e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a56961d2a67b8e7470098626ac4dac7e4">&#9670;&nbsp;</a></span>GetErrorMessage()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * xb::xbSsv::GetErrorMessage </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iErrorCode</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get an error message. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iErrorCode</td><td>ErrorCode is the error number of description to be returned. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a pointer to a string containing a text description for the error code. </dd></dl>
+
+</div>
+</div>
+<a id="abc9c06c95d71fbad8294e1ae8862cea9" name="abc9c06c95d71fbad8294e1ae8862cea9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc9c06c95d71fbad8294e1ae8862cea9">&#9670;&nbsp;</a></span>GetHomeDir()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::GetHomeDir </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sHomeDirOut</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get home directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sHomeDirOut</td><td>- Output home directory for current user. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a4822315bded3969b59aeeb683c373051" name="a4822315bded3969b59aeeb683c373051"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4822315bded3969b59aeeb683c373051">&#9670;&nbsp;</a></span>GetLogDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetLogDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afaef09435be73b3111f5edbd7091d861" name="afaef09435be73b3111f5edbd7091d861"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afaef09435be73b3111f5edbd7091d861">&#9670;&nbsp;</a></span>GetLogFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetLogFileName </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abd58031c5f1c3766c24d47a82e6fd9c5" name="abd58031c5f1c3766c24d47a82e6fd9c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd58031c5f1c3766c24d47a82e6fd9c5">&#9670;&nbsp;</a></span>GetMultiUser()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::GetMultiUser </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the multi user setting. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Multi user mode turned on.<br />
+ xbFalse - Multi user mode turned off.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="ad0d2d4adabc0dc0e761cfdee63c84069" name="ad0d2d4adabc0dc0e761cfdee63c84069"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad0d2d4adabc0dc0e761cfdee63c84069">&#9670;&nbsp;</a></span>GetOpenTableCount()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbTblMgr::GetOpenTableCount </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a63cee13b473ee13970e93b11837b9e35" name="a63cee13b473ee13970e93b11837b9e35"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63cee13b473ee13970e93b11837b9e35">&#9670;&nbsp;</a></span>GetPathSeparator()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbSsv::GetPathSeparator </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the OS dependent path separator. </p>
+<dl class="section return"><dt>Returns</dt><dd>Returns '\' for windows environment, otherwise returns '/'. </dd></dl>
+
+</div>
+</div>
+<a id="acbf148ddba4297021cfb980a161ebef9" name="acbf148ddba4297021cfb980a161ebef9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acbf148ddba4297021cfb980a161ebef9">&#9670;&nbsp;</a></span>GetTblListEntry()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structxb_1_1xbTblList.html">xbTblList</a> * xb::xbTblMgr::GetTblListEntry </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>d</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abfaeef85935331073d213465bb362a61" name="abfaeef85935331073d213465bb362a61"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abfaeef85935331073d213465bb362a61">&#9670;&nbsp;</a></span>GetTempDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetTempDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the current temp directory. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the current data directory where the database files are stored. </dd></dl>
+
+</div>
+</div>
+<a id="ac8eaef41acf08911b90f900aac8e70af" name="ac8eaef41acf08911b90f900aac8e70af"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac8eaef41acf08911b90f900aac8e70af">&#9670;&nbsp;</a></span>RemoveTblFromTblList() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbTblMgr::RemoveTblFromTblList </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTblAlias</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3d82b6e73d5c0bc8cac22b9a260389c1" name="a3d82b6e73d5c0bc8cac22b9a260389c1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3d82b6e73d5c0bc8cac22b9a260389c1">&#9670;&nbsp;</a></span>RemoveTblFromTblList() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbTblMgr::RemoveTblFromTblList </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>d</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a57caaaadfbd089d9a58ecfcb50c88a6c" name="a57caaaadfbd089d9a58ecfcb50c88a6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a57caaaadfbd089d9a58ecfcb50c88a6c">&#9670;&nbsp;</a></span>SetDataDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDataDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDataDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the data directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDataDirectory</td><td>Set the data directory. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a25542afadaaf39b4fb5a1772a29cc0bd" name="a25542afadaaf39b4fb5a1772a29cc0bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a25542afadaaf39b4fb5a1772a29cc0bd">&#9670;&nbsp;</a></span>SetDefaultAutoCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDefaultAutoCommit </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bDefaultAutoCommit</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the default auto commit. </p>
+<p >Disabling auto commit requires the application execute explicit updates using dbf-&gt;Put() and dbf-&gt;AppendRecord(). With auto commit on, the library posts updates automatically when moving off the current record or closing a file.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bDefaultAutoCommit</td><td>xbTrue - Enable default auto commit.<br />
+ xbFalse - Disable default auto commit.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a5f74db23f8902846d581935c7db73f9c" name="a5f74db23f8902846d581935c7db73f9c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f74db23f8902846d581935c7db73f9c">&#9670;&nbsp;</a></span>SetDefaultDateFormat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDefaultDateFormat </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDefaultDateFormat</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the default date format. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDefaultDateFormat</td><td>Set the default date format. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a904ec348fd029d4a76e72b8fde636108" name="a904ec348fd029d4a76e72b8fde636108"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a904ec348fd029d4a76e72b8fde636108">&#9670;&nbsp;</a></span>SetEndianType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetEndianType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the endian type. </p>
+<p >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. </p>
+
+</div>
+</div>
+<a id="a7b992ed97281bf25b5b66f5df686225e" name="a7b992ed97281bf25b5b66f5df686225e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7b992ed97281bf25b5b66f5df686225e">&#9670;&nbsp;</a></span>SetLogDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetLogDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sLogDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7f05738e7dfd759e89990242ef503544" name="a7f05738e7dfd759e89990242ef503544"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7f05738e7dfd759e89990242ef503544">&#9670;&nbsp;</a></span>SetLogFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetLogFileName </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sLogFileName</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aba6e59512f7172dd55dcf92059e5928c" name="aba6e59512f7172dd55dcf92059e5928c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba6e59512f7172dd55dcf92059e5928c">&#9670;&nbsp;</a></span>SetMultiUser()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetMultiUser </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bMultiUser</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the multi user setting. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bMultiUser</td><td>xbTrue - Turn on Multi user mode.<br />
+ xbFalse - Turn off Multi user mode.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a17c229a20ef9ab4034df8f9cd657adb2" name="a17c229a20ef9ab4034df8f9cd657adb2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a17c229a20ef9ab4034df8f9cd657adb2">&#9670;&nbsp;</a></span>SetTempDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetTempDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTempDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the temp directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sTempDirectory</td><td>Set the data direcroty. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a6219f1b5e24ea12fe158cd5aea56988e" name="a6219f1b5e24ea12fe158cd5aea56988e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6219f1b5e24ea12fe158cd5aea56988e">&#9670;&nbsp;</a></span>ErrorCodeText</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char* xb::xbSsv::ErrorCodeText[]</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5849e813f5e8e1cd180f0366637adbf3" name="a5849e813f5e8e1cd180f0366637adbf3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5849e813f5e8e1cd180f0366637adbf3">&#9670;&nbsp;</a></span>iEndianType</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSsv::iEndianType = 0</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9dec3164c3b264882df634915ecf21da" name="a9dec3164c3b264882df634915ecf21da"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9dec3164c3b264882df634915ecf21da">&#9670;&nbsp;</a></span>sNullString</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> xb::xbSsv::sNullString = &quot;&quot;</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/include/<a class="el" href="xbtblmgr_8h_source.html">xbtblmgr.h</a></li>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/core/<a class="el" href="xbtblmgr_8cpp.html">xbtblmgr.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/classxb_1_1xbTblMgr.png b/docs/doxygen/html/classxb_1_1xbTblMgr.png
new file mode 100644
index 0000000..2e50067
--- /dev/null
+++ b/docs/doxygen/html/classxb_1_1xbTblMgr.png
Binary files differ
diff --git a/docs/doxygen/html/classxb_1_1xbXBase.html b/docs/doxygen/html/classxb_1_1xbXBase.html
new file mode 100644
index 0000000..246fcaa
--- /dev/null
+++ b/docs/doxygen/html/classxb_1_1xbXBase.html
@@ -0,0 +1,2047 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: xb::xbXBase Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="namespacexb.html">xb</a></li><li class="navelem"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
+<a href="#pro-static-attribs">Static Protected Attributes</a> &#124;
+<a href="#friends">Friends</a> </div>
+ <div class="headertitle"><div class="title">xb::xbXBase Class Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>xbXbase class.
+ <a href="classxb_1_1xbXBase.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="xbxbase_8h_source.html">xbxbase.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for xb::xbXBase:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classxb_1_1xbXBase.png" usemap="#xb::xbXBase_map" alt=""/>
+ <map id="xb::xbXBase_map" name="xb::xbXBase_map">
+<area href="classxb_1_1xbTblMgr.html" alt="xb::xbTblMgr" shape="rect" coords="0,56,84,80"/>
+<area href="classxb_1_1xbSsv.html" title="Class for handling shared system variables." alt="xb::xbSsv" shape="rect" coords="0,0,84,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a6c68588e33946fb5416af3f86fe83224"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#a6c68588e33946fb5416af3f86fe83224">xbXBase</a> ()</td></tr>
+<tr class="memdesc:a6c68588e33946fb5416af3f86fe83224"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class Constructor. <a href="classxb_1_1xbXBase.html#a6c68588e33946fb5416af3f86fe83224">More...</a><br /></td></tr>
+<tr class="separator:a6c68588e33946fb5416af3f86fe83224"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a204f8634894ac2066d3209117803306d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#a204f8634894ac2066d3209117803306d">~xbXBase</a> ()</td></tr>
+<tr class="memdesc:a204f8634894ac2066d3209117803306d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class Deconstructor. <a href="classxb_1_1xbXBase.html#a204f8634894ac2066d3209117803306d">More...</a><br /></td></tr>
+<tr class="separator:a204f8634894ac2066d3209117803306d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afccb552ca0daff779c0500ff20d22c2b"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#afccb552ca0daff779c0500ff20d22c2b">CloseAllTables</a> ()</td></tr>
+<tr class="memdesc:afccb552ca0daff779c0500ff20d22c2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close all tables / files. <a href="classxb_1_1xbXBase.html#afccb552ca0daff779c0500ff20d22c2b">More...</a><br /></td></tr>
+<tr class="separator:afccb552ca0daff779c0500ff20d22c2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa41240d920b604dcbd91dce7eecb78e1"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#aa41240d920b604dcbd91dce7eecb78e1">CreateFqn</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDirIn, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sNameIn, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sExtIn, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFqfnOut)</td></tr>
+<tr class="memdesc:aa41240d920b604dcbd91dce7eecb78e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fully qualified file name from a directory, filename and extension. <a href="classxb_1_1xbXBase.html#aa41240d920b604dcbd91dce7eecb78e1">More...</a><br /></td></tr>
+<tr class="separator:aa41240d920b604dcbd91dce7eecb78e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae357fac4fdebdf49e46563cf611caf65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#ae357fac4fdebdf49e46563cf611caf65">DisableMsgLogging</a> ()</td></tr>
+<tr class="separator:ae357fac4fdebdf49e46563cf611caf65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a470e6eb0ed0be60338f9b40976d3ad48"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#a470e6eb0ed0be60338f9b40976d3ad48">EnableMsgLogging</a> ()</td></tr>
+<tr class="separator:a470e6eb0ed0be60338f9b40976d3ad48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a5ecaed9777978344902446c9ae3b8e"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#a5a5ecaed9777978344902446c9ae3b8e">FlushLog</a> ()</td></tr>
+<tr class="separator:a5a5ecaed9777978344902446c9ae3b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5d63cd7d9137eba8a1d4d9c3df522b7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#ab5d63cd7d9137eba8a1d4d9c3df522b7">GetLogFqFileName</a> () const</td></tr>
+<tr class="separator:ab5d63cd7d9137eba8a1d4d9c3df522b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade34cd72c2a7e70fb55429a8a6f6c028"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#ade34cd72c2a7e70fb55429a8a6f6c028">GetLogStatus</a> () const</td></tr>
+<tr class="separator:ade34cd72c2a7e70fb55429a8a6f6c028"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa957eb502ecd076e5df89e7415cb094b"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#aa957eb502ecd076e5df89e7415cb094b">OpenHighestVersion</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sAlias, <a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> &amp;dbf, int dummy)</td></tr>
+<tr class="separator:aa957eb502ecd076e5df89e7415cb094b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa7bbac08a4601f49cd53b457196ee0e"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#afa7bbac08a4601f49cd53b457196ee0e">OpenHighestVersion</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sAlias, <a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> **dbf)</td></tr>
+<tr class="separator:afa7bbac08a4601f49cd53b457196ee0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aafb1abd6b6124cddf635adaf9f615a4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#aafb1abd6b6124cddf635adaf9f615a4a">Open</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, xbInt16 &amp;iRc)</td></tr>
+<tr class="memdesc:aafb1abd6b6124cddf635adaf9f615a4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open highest qualified class available for dbf file. <a href="classxb_1_1xbXBase.html#aafb1abd6b6124cddf635adaf9f615a4a">More...</a><br /></td></tr>
+<tr class="separator:aafb1abd6b6124cddf635adaf9f615a4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab35cec5ac8f0fa95f10653ca7ac817f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#ab35cec5ac8f0fa95f10653ca7ac817f6">Open</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sAlias, xbInt16 iOpenMode, xbInt16 iShareMode, xbInt16 iVersion, xbInt16 &amp;iRc)</td></tr>
+<tr class="memdesc:ab35cec5ac8f0fa95f10653ca7ac817f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open highest qualified class available for dbf file. <a href="classxb_1_1xbXBase.html#ab35cec5ac8f0fa95f10653ca7ac817f6">More...</a><br /></td></tr>
+<tr class="separator:ab35cec5ac8f0fa95f10653ca7ac817f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a666a0cb5b76ec7a9a3677d339e0c6b42"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#a666a0cb5b76ec7a9a3677d339e0c6b42">SetLogSize</a> (size_t lSize)</td></tr>
+<tr class="separator:a666a0cb5b76ec7a9a3677d339e0c6b42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aedb4c2aa2c90e4529915198a2305b355"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#aedb4c2aa2c90e4529915198a2305b355">GetLogSize</a> () const</td></tr>
+<tr class="separator:aedb4c2aa2c90e4529915198a2305b355"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ca5be73abffd0fdd18bdc799877272a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#a9ca5be73abffd0fdd18bdc799877272a">WriteLogMessage</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLogMessage, xbInt16 iOutputOpt=0)</td></tr>
+<tr class="separator:a9ca5be73abffd0fdd18bdc799877272a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0dff00b9ee3c288841e137ca01168116"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#a0dff00b9ee3c288841e137ca01168116">WriteLogBytes</a> (xbUInt32 lCnt, const char *p)</td></tr>
+<tr class="separator:a0dff00b9ee3c288841e137ca01168116"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0915aff7be4b2dd3e881f3c5d0da4baf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#a0915aff7be4b2dd3e881f3c5d0da4baf">xbSleep</a> (xbInt32 lMillisecs)</td></tr>
+<tr class="memdesc:a0915aff7be4b2dd3e881f3c5d0da4baf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cross platform sleep function. <a href="classxb_1_1xbXBase.html#a0915aff7be4b2dd3e881f3c5d0da4baf">More...</a><br /></td></tr>
+<tr class="separator:a0915aff7be4b2dd3e881f3c5d0da4baf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aadecb3ac460d8e94b88b2e809e22f48e"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#aadecb3ac460d8e94b88b2e809e22f48e">GetCmdLineOpt</a> (xbInt32 lArgc, char **argv, const char *sOptRqst, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sParmOut)</td></tr>
+<tr class="memdesc:aadecb3ac460d8e94b88b2e809e22f48e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse commmand line options for a given parm request. <a href="classxb_1_1xbXBase.html#aadecb3ac460d8e94b88b2e809e22f48e">More...</a><br /></td></tr>
+<tr class="separator:aadecb3ac460d8e94b88b2e809e22f48e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8612e0c5334349fbceb9394b47817fd5"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#a8612e0c5334349fbceb9394b47817fd5">GetCmdLineOpt</a> (xbInt32 lArgc, char **argv, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sOptRqst, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sParmOut)</td></tr>
+<tr class="memdesc:a8612e0c5334349fbceb9394b47817fd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse commmand line options for a given parm request. <a href="classxb_1_1xbXBase.html#a8612e0c5334349fbceb9394b47817fd5">More...</a><br /></td></tr>
+<tr class="separator:a8612e0c5334349fbceb9394b47817fd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af16832ff2bfaee09265652e0fc03709a"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#af16832ff2bfaee09265652e0fc03709a">AddTblToTblList</a> (<a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *d, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFqTblName)</td></tr>
+<tr class="separator:af16832ff2bfaee09265652e0fc03709a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2033188e9b08778188a034a6fc90ca85"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#a2033188e9b08778188a034a6fc90ca85">AddTblToTblList</a> (<a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *d, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sFqTblName, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTblAlias)</td></tr>
+<tr class="separator:a2033188e9b08778188a034a6fc90ca85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5eebffb9e8cc64141e35c2622045cb50"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#a5eebffb9e8cc64141e35c2622045cb50">DisplayTableList</a> () const</td></tr>
+<tr class="separator:a5eebffb9e8cc64141e35c2622045cb50"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8a5d28a2ee6720a9aa74bcb45662cf5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#ad8a5d28a2ee6720a9aa74bcb45662cf5">GetDbfPtr</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTblAlias) const</td></tr>
+<tr class="separator:ad8a5d28a2ee6720a9aa74bcb45662cf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a801dfecf7fc216954b4197b2c31b25d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#a801dfecf7fc216954b4197b2c31b25d6">GetDbfPtr</a> (xbInt16 sItemNo) const</td></tr>
+<tr class="separator:a801dfecf7fc216954b4197b2c31b25d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbf148ddba4297021cfb980a161ebef9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structxb_1_1xbTblList.html">xbTblList</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#acbf148ddba4297021cfb980a161ebef9">GetTblListEntry</a> (<a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *d)</td></tr>
+<tr class="separator:acbf148ddba4297021cfb980a161ebef9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0d2d4adabc0dc0e761cfdee63c84069"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#ad0d2d4adabc0dc0e761cfdee63c84069">GetOpenTableCount</a> () const</td></tr>
+<tr class="separator:ad0d2d4adabc0dc0e761cfdee63c84069"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac8eaef41acf08911b90f900aac8e70af"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#ac8eaef41acf08911b90f900aac8e70af">RemoveTblFromTblList</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTblAlias)</td></tr>
+<tr class="separator:ac8eaef41acf08911b90f900aac8e70af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d82b6e73d5c0bc8cac22b9a260389c1"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html#a3d82b6e73d5c0bc8cac22b9a260389c1">RemoveTblFromTblList</a> (<a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *d)</td></tr>
+<tr class="separator:a3d82b6e73d5c0bc8cac22b9a260389c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97dfa59ab9a8e9f17454da0faceb023d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">DisplayError</a> (xbInt16 ErrorCode) const</td></tr>
+<tr class="memdesc:a97dfa59ab9a8e9f17454da0faceb023d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display error message on console for a given error number. <a href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">More...</a><br /></td></tr>
+<tr class="separator:a97dfa59ab9a8e9f17454da0faceb023d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">GetDefaultDateFormat</a> () const</td></tr>
+<tr class="memdesc:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default date format. <a href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">More...</a><br /></td></tr>
+<tr class="separator:a6fbb9c3a550ab0b3378f9586a57791d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">GetDataDirectory</a> () const</td></tr>
+<tr class="memdesc:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current data directory. <a href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">More...</a><br /></td></tr>
+<tr class="separator:a1d803a4bfc8ba0561267a0bf9e51f7d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abfaeef85935331073d213465bb362a61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">GetTempDirectory</a> () const</td></tr>
+<tr class="memdesc:abfaeef85935331073d213465bb362a61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current temp directory. <a href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">More...</a><br /></td></tr>
+<tr class="separator:abfaeef85935331073d213465bb362a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc9c06c95d71fbad8294e1ae8862cea9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">GetHomeDir</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sHomeDirOut)</td></tr>
+<tr class="memdesc:abc9c06c95d71fbad8294e1ae8862cea9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get home directory. <a href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">More...</a><br /></td></tr>
+<tr class="separator:abc9c06c95d71fbad8294e1ae8862cea9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49cd162f066eef2b829ba7c9f6620243"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">GetEndianType</a> () const</td></tr>
+<tr class="memdesc:a49cd162f066eef2b829ba7c9f6620243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Endian type. <a href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">More...</a><br /></td></tr>
+<tr class="separator:a49cd162f066eef2b829ba7c9f6620243"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56961d2a67b8e7470098626ac4dac7e4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">GetErrorMessage</a> (xbInt16 ErrorCode) const</td></tr>
+<tr class="memdesc:a56961d2a67b8e7470098626ac4dac7e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an error message. <a href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">More...</a><br /></td></tr>
+<tr class="separator:a56961d2a67b8e7470098626ac4dac7e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63cee13b473ee13970e93b11837b9e35"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">GetPathSeparator</a> () const</td></tr>
+<tr class="memdesc:a63cee13b473ee13970e93b11837b9e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the OS dependent path separator. <a href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">More...</a><br /></td></tr>
+<tr class="separator:a63cee13b473ee13970e93b11837b9e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">SetDataDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDataDirectory)</td></tr>
+<tr class="memdesc:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data directory. <a href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">More...</a><br /></td></tr>
+<tr class="separator:a57caaaadfbd089d9a58ecfcb50c88a6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f74db23f8902846d581935c7db73f9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">SetDefaultDateFormat</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sDefaultDateFormat)</td></tr>
+<tr class="memdesc:a5f74db23f8902846d581935c7db73f9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default date format. <a href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">More...</a><br /></td></tr>
+<tr class="separator:a5f74db23f8902846d581935c7db73f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a17c229a20ef9ab4034df8f9cd657adb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">SetTempDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sTempDirectory)</td></tr>
+<tr class="memdesc:a17c229a20ef9ab4034df8f9cd657adb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the temp directory. <a href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">More...</a><br /></td></tr>
+<tr class="separator:a17c229a20ef9ab4034df8f9cd657adb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62e4fd0a5888665c76bbbad962794e72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">BitSet</a> (unsigned char c, xbInt16 iBitNo) const</td></tr>
+<tr class="memdesc:a62e4fd0a5888665c76bbbad962794e72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check a bit in a one byte field and see if it is set. <a href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">More...</a><br /></td></tr>
+<tr class="separator:a62e4fd0a5888665c76bbbad962794e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8551b15a3ce4fa2a40d698db01f4a9ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a8551b15a3ce4fa2a40d698db01f4a9ae">BitDump</a> (unsigned char c) const</td></tr>
+<tr class="separator:a8551b15a3ce4fa2a40d698db01f4a9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba1395b8e4c7f28c3614061de6e49190"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#aba1395b8e4c7f28c3614061de6e49190">BitDump</a> (char c) const</td></tr>
+<tr class="separator:aba1395b8e4c7f28c3614061de6e49190"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6982f973e81587b04916f4509746aaf5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">GetDefaultAutoCommit</a> () const</td></tr>
+<tr class="memdesc:a6982f973e81587b04916f4509746aaf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default auto commit setting. <a href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">More...</a><br /></td></tr>
+<tr class="separator:a6982f973e81587b04916f4509746aaf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">SetDefaultAutoCommit</a> (<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bDefaultAutoCommit)</td></tr>
+<tr class="memdesc:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default auto commit. <a href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">More...</a><br /></td></tr>
+<tr class="separator:a25542afadaaf39b4fb5a1772a29cc0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4822315bded3969b59aeeb683c373051"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a4822315bded3969b59aeeb683c373051">GetLogDirectory</a> () const</td></tr>
+<tr class="separator:a4822315bded3969b59aeeb683c373051"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afaef09435be73b3111f5edbd7091d861"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#afaef09435be73b3111f5edbd7091d861">GetLogFileName</a> () const</td></tr>
+<tr class="separator:afaef09435be73b3111f5edbd7091d861"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b992ed97281bf25b5b66f5df686225e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a7b992ed97281bf25b5b66f5df686225e">SetLogDirectory</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLogDirectory)</td></tr>
+<tr class="separator:a7b992ed97281bf25b5b66f5df686225e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f05738e7dfd759e89990242ef503544"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a7f05738e7dfd759e89990242ef503544">SetLogFileName</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sLogFileName)</td></tr>
+<tr class="separator:a7f05738e7dfd759e89990242ef503544"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">GetMultiUser</a> () const</td></tr>
+<tr class="memdesc:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the multi user setting. <a href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">More...</a><br /></td></tr>
+<tr class="separator:abd58031c5f1c3766c24d47a82e6fd9c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba6e59512f7172dd55dcf92059e5928c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">SetMultiUser</a> (<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bMultiUser)</td></tr>
+<tr class="memdesc:aba6e59512f7172dd55dcf92059e5928c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the multi user setting. <a href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">More...</a><br /></td></tr>
+<tr class="separator:aba6e59512f7172dd55dcf92059e5928c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a6219f1b5e24ea12fe158cd5aea56988e"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a6219f1b5e24ea12fe158cd5aea56988e">ErrorCodeText</a> []</td></tr>
+<tr class="separator:a6219f1b5e24ea12fe158cd5aea56988e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:ae52e53340593b4253936c1372ec15ee1"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#ae52e53340593b4253936c1372ec15ee1">GetFunctionInfo</a> (const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sExpLine, char &amp;cReturnType, xbInt16 &amp;iReturnLenCalc, xbInt32 &amp;lReturnLenVal) const</td></tr>
+<tr class="separator:ae52e53340593b4253936c1372ec15ee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a904ec348fd029d4a76e72b8fde636108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">SetEndianType</a> ()</td></tr>
+<tr class="memdesc:a904ec348fd029d4a76e72b8fde636108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the endian type. <a href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">More...</a><br /></td></tr>
+<tr class="separator:a904ec348fd029d4a76e72b8fde636108"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-static-methods" name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1b239c021358476382942522911b5c66"><td class="memItemLeft" align="right" valign="top">static xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#a1b239c021358476382942522911b5c66">xbMemcmp</a> (const unsigned char *s1, const unsigned char *s2, size_t n)</td></tr>
+<tr class="memdesc:a1b239c021358476382942522911b5c66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cross memcmp function. <a href="classxb_1_1xbXBase.html#a1b239c021358476382942522911b5c66">More...</a><br /></td></tr>
+<tr class="separator:a1b239c021358476382942522911b5c66"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-static-attribs" name="pro-static-attribs"></a>
+Static Protected Attributes</h2></td></tr>
+<tr class="memitem:a5849e813f5e8e1cd180f0366637adbf3"><td class="memItemLeft" align="right" valign="top">static xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a5849e813f5e8e1cd180f0366637adbf3">iEndianType</a> = 0</td></tr>
+<tr class="separator:a5849e813f5e8e1cd180f0366637adbf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9dec3164c3b264882df634915ecf21da"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classxb_1_1xbString.html">xbString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html#a9dec3164c3b264882df634915ecf21da">sNullString</a> = &quot;&quot;</td></tr>
+<tr class="separator:a9dec3164c3b264882df634915ecf21da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a86a53ce3efbf910996df0f853f1c0add"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#a86a53ce3efbf910996df0f853f1c0add">xbBcd</a></td></tr>
+<tr class="separator:a86a53ce3efbf910996df0f853f1c0add"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c3e5617be811d732472fe2cc8fb18cc"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html#a3c3e5617be811d732472fe2cc8fb18cc">xbExp</a></td></tr>
+<tr class="separator:a3c3e5617be811d732472fe2cc8fb18cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p >xbXbase class. </p>
+<p >The <a class="el" href="classxb_1_1xbXBase.html" title="xbXbase class.">xbXBase</a> class is the core class that needs to be in every application program. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a6c68588e33946fb5416af3f86fe83224" name="a6c68588e33946fb5416af3f86fe83224"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6c68588e33946fb5416af3f86fe83224">&#9670;&nbsp;</a></span>xbXBase()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbXBase::xbXBase </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Class Constructor. </p>
+
+</div>
+</div>
+<a id="a204f8634894ac2066d3209117803306d" name="a204f8634894ac2066d3209117803306d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a204f8634894ac2066d3209117803306d">&#9670;&nbsp;</a></span>~xbXBase()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xb::xbXBase::~xbXBase </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Class Deconstructor. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="af16832ff2bfaee09265652e0fc03709a" name="af16832ff2bfaee09265652e0fc03709a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af16832ff2bfaee09265652e0fc03709a">&#9670;&nbsp;</a></span>AddTblToTblList() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbTblMgr::AddTblToTblList </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>d</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFqTblName</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2033188e9b08778188a034a6fc90ca85" name="a2033188e9b08778188a034a6fc90ca85"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2033188e9b08778188a034a6fc90ca85">&#9670;&nbsp;</a></span>AddTblToTblList() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbTblMgr::AddTblToTblList </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>d</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFqTblName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTblAlias</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aba1395b8e4c7f28c3614061de6e49190" name="aba1395b8e4c7f28c3614061de6e49190"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba1395b8e4c7f28c3614061de6e49190">&#9670;&nbsp;</a></span>BitDump() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::BitDump </td>
+ <td>(</td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8551b15a3ce4fa2a40d698db01f4a9ae" name="a8551b15a3ce4fa2a40d698db01f4a9ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8551b15a3ce4fa2a40d698db01f4a9ae">&#9670;&nbsp;</a></span>BitDump() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::BitDump </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>c</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a62e4fd0a5888665c76bbbad962794e72" name="a62e4fd0a5888665c76bbbad962794e72"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a62e4fd0a5888665c76bbbad962794e72">&#9670;&nbsp;</a></span>BitSet()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::BitSet </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char&#160;</td>
+ <td class="paramname"><em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iBitNo</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Check a bit in a one byte field and see if it is set. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">c</td><td>One byte char field to examine. </td></tr>
+ <tr><td class="paramname">iBitNo</td><td>which bit to examine. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue Bit is set<br />
+ xbFalse Bit is not set </dd></dl>
+
+</div>
+</div>
+<a id="afccb552ca0daff779c0500ff20d22c2b" name="afccb552ca0daff779c0500ff20d22c2b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afccb552ca0daff779c0500ff20d22c2b">&#9670;&nbsp;</a></span>CloseAllTables()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbXBase::CloseAllTables </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Close all tables / files. </p>
+<p >This closes everything and deletes references to the associated <a class="el" href="classxb_1_1xbDbf.html" title="Base class for handling dbf files/tables.">xbDbf</a> objects. </p><dl class="section return"><dt>Returns</dt><dd><a href="xbretcod_8h.html">Return Codes</a> </dd></dl>
+
+</div>
+</div>
+<a id="aa41240d920b604dcbd91dce7eecb78e1" name="aa41240d920b604dcbd91dce7eecb78e1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa41240d920b604dcbd91dce7eecb78e1">&#9670;&nbsp;</a></span>CreateFqn()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbXBase::CreateFqn </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDirIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sNameIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sExtIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sFqnOut</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Fully qualified file name from a directory, filename and extension. </p>
+<p >Given a directory, file name and file extension as inputs, create a fully qualified file name.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDirIn</td><td>Directory </td></tr>
+ <tr><td class="paramname">sFileIn</td><td>File Name </td></tr>
+ <tr><td class="paramname">sExtIn</td><td>File Extension </td></tr>
+ <tr><td class="paramname">sFqnOut</td><td>A fully qualifed unique file name as output </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>XB_INVALIED_PARAMETER or XB_NO_ERROR </dd></dl>
+
+</div>
+</div>
+<a id="ae357fac4fdebdf49e46563cf611caf65" name="ae357fac4fdebdf49e46563cf611caf65"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae357fac4fdebdf49e46563cf611caf65">&#9670;&nbsp;</a></span>DisableMsgLogging()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbXBase::DisableMsgLogging </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a97dfa59ab9a8e9f17454da0faceb023d" name="a97dfa59ab9a8e9f17454da0faceb023d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97dfa59ab9a8e9f17454da0faceb023d">&#9670;&nbsp;</a></span>DisplayError()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::DisplayError </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iErrorCode</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Display error message on console for a given error number. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iErrorCode</td><td>Error number to reference </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a5eebffb9e8cc64141e35c2622045cb50" name="a5eebffb9e8cc64141e35c2622045cb50"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5eebffb9e8cc64141e35c2622045cb50">&#9670;&nbsp;</a></span>DisplayTableList()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbTblMgr::DisplayTableList </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a470e6eb0ed0be60338f9b40976d3ad48" name="a470e6eb0ed0be60338f9b40976d3ad48"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a470e6eb0ed0be60338f9b40976d3ad48">&#9670;&nbsp;</a></span>EnableMsgLogging()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbXBase::EnableMsgLogging </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5a5ecaed9777978344902446c9ae3b8e" name="a5a5ecaed9777978344902446c9ae3b8e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a5ecaed9777978344902446c9ae3b8e">&#9670;&nbsp;</a></span>FlushLog()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbXBase::FlushLog </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aadecb3ac460d8e94b88b2e809e22f48e" name="aadecb3ac460d8e94b88b2e809e22f48e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aadecb3ac460d8e94b88b2e809e22f48e">&#9670;&nbsp;</a></span>GetCmdLineOpt() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbXBase::GetCmdLineOpt </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>lArgc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>sArgv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>sOptRqst</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sParmOut</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Parse commmand line options for a given parm request. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lArgc</td><td>Value passed from main( argc, argv[] ) </td></tr>
+ <tr><td class="paramname">sArgv</td><td>Valued passed from main </td></tr>
+ <tr><td class="paramname">sOptRqst</td><td>Option to search for in the arguments list </td></tr>
+ <tr><td class="paramname">sParmOut</td><td>String token immediately to the right of the the option request, if found </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - paramater request not found<br />
+ 1 - Parameter found </dd></dl>
+
+</div>
+</div>
+<a id="a8612e0c5334349fbceb9394b47817fd5" name="a8612e0c5334349fbceb9394b47817fd5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8612e0c5334349fbceb9394b47817fd5">&#9670;&nbsp;</a></span>GetCmdLineOpt() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbXBase::GetCmdLineOpt </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>lArgc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>sArgv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sOptRqst</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sParmOut</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Parse commmand line options for a given parm request. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lArgc</td><td>Value passed from main( argc, argv[] ) </td></tr>
+ <tr><td class="paramname">sArgv</td><td>Valued passed from main </td></tr>
+ <tr><td class="paramname">sOptRqst</td><td>Option to search for in the arguments list </td></tr>
+ <tr><td class="paramname">sParmOut</td><td>String token immediately to the right of the the option request, if found </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 - paramater request not found<br />
+ 1 - Parameter found </dd></dl>
+
+</div>
+</div>
+<a id="a1d803a4bfc8ba0561267a0bf9e51f7d9" name="a1d803a4bfc8ba0561267a0bf9e51f7d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d803a4bfc8ba0561267a0bf9e51f7d9">&#9670;&nbsp;</a></span>GetDataDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetDataDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the current data directory. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the current data directory where the database files are stored. </dd></dl>
+
+</div>
+</div>
+<a id="ad8a5d28a2ee6720a9aa74bcb45662cf5" name="ad8a5d28a2ee6720a9aa74bcb45662cf5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8a5d28a2ee6720a9aa74bcb45662cf5">&#9670;&nbsp;</a></span>GetDbfPtr() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> * xb::xbTblMgr::GetDbfPtr </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTblAlias</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a801dfecf7fc216954b4197b2c31b25d6" name="a801dfecf7fc216954b4197b2c31b25d6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a801dfecf7fc216954b4197b2c31b25d6">&#9670;&nbsp;</a></span>GetDbfPtr() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> * xb::xbTblMgr::GetDbfPtr </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>sItemNo</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6982f973e81587b04916f4509746aaf5" name="a6982f973e81587b04916f4509746aaf5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6982f973e81587b04916f4509746aaf5">&#9670;&nbsp;</a></span>GetDefaultAutoCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::GetDefaultAutoCommit </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the default auto commit setting. </p>
+<p >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-&gt;Put() and dbf-&gt;AppendRecord().</p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue if auto commit is turned on<br />
+ xbFalse is auto commit is turned off </dd></dl>
+
+</div>
+</div>
+<a id="a6fbb9c3a550ab0b3378f9586a57791d2" name="a6fbb9c3a550ab0b3378f9586a57791d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6fbb9c3a550ab0b3378f9586a57791d2">&#9670;&nbsp;</a></span>GetDefaultDateFormat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetDefaultDateFormat </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the default date format. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the default date format. </dd></dl>
+
+</div>
+</div>
+<a id="a49cd162f066eef2b829ba7c9f6620243" name="a49cd162f066eef2b829ba7c9f6620243"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a49cd162f066eef2b829ba7c9f6620243">&#9670;&nbsp;</a></span>GetEndianType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSsv::GetEndianType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the Endian type. </p>
+<dl class="section return"><dt>Returns</dt><dd>B - Big endian<br />
+ L - Little endian<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="a56961d2a67b8e7470098626ac4dac7e4" name="a56961d2a67b8e7470098626ac4dac7e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a56961d2a67b8e7470098626ac4dac7e4">&#9670;&nbsp;</a></span>GetErrorMessage()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * xb::xbSsv::GetErrorMessage </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iErrorCode</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get an error message. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">iErrorCode</td><td>ErrorCode is the error number of description to be returned. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a pointer to a string containing a text description for the error code. </dd></dl>
+
+</div>
+</div>
+<a id="ae52e53340593b4253936c1372ec15ee1" name="ae52e53340593b4253936c1372ec15ee1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae52e53340593b4253936c1372ec15ee1">&#9670;&nbsp;</a></span>GetFunctionInfo()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbXBase::GetFunctionInfo </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sExpLine</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char &amp;&#160;</td>
+ <td class="paramname"><em>cReturnType</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16 &amp;&#160;</td>
+ <td class="paramname"><em>iReturnLenCalc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt32 &amp;&#160;</td>
+ <td class="paramname"><em>lReturnLenVal</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abc9c06c95d71fbad8294e1ae8862cea9" name="abc9c06c95d71fbad8294e1ae8862cea9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc9c06c95d71fbad8294e1ae8862cea9">&#9670;&nbsp;</a></span>GetHomeDir()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::GetHomeDir </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sHomeDirOut</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get home directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sHomeDirOut</td><td>- Output home directory for current user. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a4822315bded3969b59aeeb683c373051" name="a4822315bded3969b59aeeb683c373051"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4822315bded3969b59aeeb683c373051">&#9670;&nbsp;</a></span>GetLogDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetLogDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afaef09435be73b3111f5edbd7091d861" name="afaef09435be73b3111f5edbd7091d861"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afaef09435be73b3111f5edbd7091d861">&#9670;&nbsp;</a></span>GetLogFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetLogFileName </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab5d63cd7d9137eba8a1d4d9c3df522b7" name="ab5d63cd7d9137eba8a1d4d9c3df522b7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab5d63cd7d9137eba8a1d4d9c3df522b7">&#9670;&nbsp;</a></span>GetLogFqFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbXBase::GetLogFqFileName </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aedb4c2aa2c90e4529915198a2305b355" name="aedb4c2aa2c90e4529915198a2305b355"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aedb4c2aa2c90e4529915198a2305b355">&#9670;&nbsp;</a></span>GetLogSize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t xb::xbXBase::GetLogSize </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ade34cd72c2a7e70fb55429a8a6f6c028" name="ade34cd72c2a7e70fb55429a8a6f6c028"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ade34cd72c2a7e70fb55429a8a6f6c028">&#9670;&nbsp;</a></span>GetLogStatus()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbXBase::GetLogStatus </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abd58031c5f1c3766c24d47a82e6fd9c5" name="abd58031c5f1c3766c24d47a82e6fd9c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd58031c5f1c3766c24d47a82e6fd9c5">&#9670;&nbsp;</a></span>GetMultiUser()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xb::xbSsv::GetMultiUser </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the multi user setting. </p>
+<dl class="section return"><dt>Returns</dt><dd>xbTrue - Multi user mode turned on.<br />
+ xbFalse - Multi user mode turned off.<br />
+ </dd></dl>
+
+</div>
+</div>
+<a id="ad0d2d4adabc0dc0e761cfdee63c84069" name="ad0d2d4adabc0dc0e761cfdee63c84069"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad0d2d4adabc0dc0e761cfdee63c84069">&#9670;&nbsp;</a></span>GetOpenTableCount()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbTblMgr::GetOpenTableCount </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a63cee13b473ee13970e93b11837b9e35" name="a63cee13b473ee13970e93b11837b9e35"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63cee13b473ee13970e93b11837b9e35">&#9670;&nbsp;</a></span>GetPathSeparator()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbSsv::GetPathSeparator </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the OS dependent path separator. </p>
+<dl class="section return"><dt>Returns</dt><dd>Returns '\' for windows environment, otherwise returns '/'. </dd></dl>
+
+</div>
+</div>
+<a id="acbf148ddba4297021cfb980a161ebef9" name="acbf148ddba4297021cfb980a161ebef9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acbf148ddba4297021cfb980a161ebef9">&#9670;&nbsp;</a></span>GetTblListEntry()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structxb_1_1xbTblList.html">xbTblList</a> * xb::xbTblMgr::GetTblListEntry </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>d</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abfaeef85935331073d213465bb362a61" name="abfaeef85935331073d213465bb362a61"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abfaeef85935331073d213465bb362a61">&#9670;&nbsp;</a></span>GetTempDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp; xb::xbSsv::GetTempDirectory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the current temp directory. </p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classxb_1_1xbString.html" title="Class for handling string data.">xbString</a> containing the current data directory where the database files are stored. </dd></dl>
+
+</div>
+</div>
+<a id="ab35cec5ac8f0fa95f10653ca7ac817f6" name="ab35cec5ac8f0fa95f10653ca7ac817f6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab35cec5ac8f0fa95f10653ca7ac817f6">&#9670;&nbsp;</a></span>Open() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> * xb::xbXBase::Open </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTableName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sAlias</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOpenMode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iShareMode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iRequestVersion</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16 &amp;&#160;</td>
+ <td class="paramname"><em>iRc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Open highest qualified class available for dbf file. </p>
+<p >This routine can open various versions of the dbf file dependent on the iVersion field</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sTableName</td><td>- Table name to open. </td></tr>
+ <tr><td class="paramname">sAlias</td><td>- Optional alias name. </td></tr>
+ <tr><td class="paramname">iOpenMode</td><td>- XB_READ_WRITE or XB_READ </td></tr>
+ <tr><td class="paramname">iShareMode</td><td>- XB_SINGLE_USER or XB_MULTI_USER </td></tr>
+ <tr><td class="paramname">iRequestVersion</td><td>0 - Highest available 4 - Version four dbf 3 - Version three dbf </td></tr>
+ <tr><td class="paramname">iRc</td><td>- Return code from open request </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>param dbf - Output pointer to dbf file opened or null if error </dd></dl>
+
+</div>
+</div>
+<a id="aafb1abd6b6124cddf635adaf9f615a4a" name="aafb1abd6b6124cddf635adaf9f615a4a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aafb1abd6b6124cddf635adaf9f615a4a">&#9670;&nbsp;</a></span>Open() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> * xb::xbXBase::Open </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTableName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16 &amp;&#160;</td>
+ <td class="paramname"><em>iRc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Open highest qualified class available for dbf file. </p>
+<p >This routine opens the highest available version of the dbf file. Defaults to XB_READ_WRITE and XB_MULTI_USER mode. </p><dl class="section return"><dt>Returns</dt><dd>param dbf - Output pointer to dbf file opened or null if error </dd></dl>
+
+</div>
+</div>
+<a id="aa957eb502ecd076e5df89e7415cb094b" name="aa957eb502ecd076e5df89e7415cb094b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa957eb502ecd076e5df89e7415cb094b">&#9670;&nbsp;</a></span>OpenHighestVersion() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbXBase::OpenHighestVersion </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTableName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sAlias</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> &amp;&#160;</td>
+ <td class="paramname"><em>dbf</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>dummy</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afa7bbac08a4601f49cd53b457196ee0e" name="afa7bbac08a4601f49cd53b457196ee0e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afa7bbac08a4601f49cd53b457196ee0e">&#9670;&nbsp;</a></span>OpenHighestVersion() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbXBase::OpenHighestVersion </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTableName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sAlias</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> **&#160;</td>
+ <td class="paramname"><em>dbf</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac8eaef41acf08911b90f900aac8e70af" name="ac8eaef41acf08911b90f900aac8e70af"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac8eaef41acf08911b90f900aac8e70af">&#9670;&nbsp;</a></span>RemoveTblFromTblList() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbTblMgr::RemoveTblFromTblList </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTblAlias</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3d82b6e73d5c0bc8cac22b9a260389c1" name="a3d82b6e73d5c0bc8cac22b9a260389c1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3d82b6e73d5c0bc8cac22b9a260389c1">&#9670;&nbsp;</a></span>RemoveTblFromTblList() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbTblMgr::RemoveTblFromTblList </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>d</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a57caaaadfbd089d9a58ecfcb50c88a6c" name="a57caaaadfbd089d9a58ecfcb50c88a6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a57caaaadfbd089d9a58ecfcb50c88a6c">&#9670;&nbsp;</a></span>SetDataDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDataDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDataDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the data directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDataDirectory</td><td>Set the data directory. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a25542afadaaf39b4fb5a1772a29cc0bd" name="a25542afadaaf39b4fb5a1772a29cc0bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a25542afadaaf39b4fb5a1772a29cc0bd">&#9670;&nbsp;</a></span>SetDefaultAutoCommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDefaultAutoCommit </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bDefaultAutoCommit</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the default auto commit. </p>
+<p >Disabling auto commit requires the application execute explicit updates using dbf-&gt;Put() and dbf-&gt;AppendRecord(). With auto commit on, the library posts updates automatically when moving off the current record or closing a file.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bDefaultAutoCommit</td><td>xbTrue - Enable default auto commit.<br />
+ xbFalse - Disable default auto commit.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a5f74db23f8902846d581935c7db73f9c" name="a5f74db23f8902846d581935c7db73f9c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f74db23f8902846d581935c7db73f9c">&#9670;&nbsp;</a></span>SetDefaultDateFormat()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetDefaultDateFormat </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sDefaultDateFormat</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the default date format. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sDefaultDateFormat</td><td>Set the default date format. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a904ec348fd029d4a76e72b8fde636108" name="a904ec348fd029d4a76e72b8fde636108"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a904ec348fd029d4a76e72b8fde636108">&#9670;&nbsp;</a></span>SetEndianType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetEndianType </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the endian type. </p>
+<p >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. </p>
+
+</div>
+</div>
+<a id="a7b992ed97281bf25b5b66f5df686225e" name="a7b992ed97281bf25b5b66f5df686225e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7b992ed97281bf25b5b66f5df686225e">&#9670;&nbsp;</a></span>SetLogDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetLogDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sLogDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7f05738e7dfd759e89990242ef503544" name="a7f05738e7dfd759e89990242ef503544"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7f05738e7dfd759e89990242ef503544">&#9670;&nbsp;</a></span>SetLogFileName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetLogFileName </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sLogFileName</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a666a0cb5b76ec7a9a3677d339e0c6b42" name="a666a0cb5b76ec7a9a3677d339e0c6b42"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a666a0cb5b76ec7a9a3677d339e0c6b42">&#9670;&nbsp;</a></span>SetLogSize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbXBase::SetLogSize </td>
+ <td>(</td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>lSize</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aba6e59512f7172dd55dcf92059e5928c" name="aba6e59512f7172dd55dcf92059e5928c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba6e59512f7172dd55dcf92059e5928c">&#9670;&nbsp;</a></span>SetMultiUser()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetMultiUser </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bMultiUser</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the multi user setting. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bMultiUser</td><td>xbTrue - Turn on Multi user mode.<br />
+ xbFalse - Turn off Multi user mode.<br />
+ </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a17c229a20ef9ab4034df8f9cd657adb2" name="a17c229a20ef9ab4034df8f9cd657adb2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a17c229a20ef9ab4034df8f9cd657adb2">&#9670;&nbsp;</a></span>SetTempDirectory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbSsv::SetTempDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sTempDirectory</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the temp directory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sTempDirectory</td><td>Set the data direcroty. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a id="a0dff00b9ee3c288841e137ca01168116" name="a0dff00b9ee3c288841e137ca01168116"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0dff00b9ee3c288841e137ca01168116">&#9670;&nbsp;</a></span>WriteLogBytes()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbXBase::WriteLogBytes </td>
+ <td>(</td>
+ <td class="paramtype">xbUInt32&#160;</td>
+ <td class="paramname"><em>lCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>p</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9ca5be73abffd0fdd18bdc799877272a" name="a9ca5be73abffd0fdd18bdc799877272a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9ca5be73abffd0fdd18bdc799877272a">&#9670;&nbsp;</a></span>WriteLogMessage()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbXBase::WriteLogMessage </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sLogMessage</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iOutputOpt</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1b239c021358476382942522911b5c66" name="a1b239c021358476382942522911b5c66"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1b239c021358476382942522911b5c66">&#9670;&nbsp;</a></span>xbMemcmp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbXBase::xbMemcmp </td>
+ <td>(</td>
+ <td class="paramtype">const unsigned char *&#160;</td>
+ <td class="paramname"><em>s1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const unsigned char *&#160;</td>
+ <td class="paramname"><em>s2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>n</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Cross memcmp function. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">s1</td><td>Left operand to compare. </td></tr>
+ <tr><td class="paramname">s2</td><td>Right operand to compare. </td></tr>
+ <tr><td class="paramname">n</td><td>Number of bytes to compare. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>1 s1 &gt; s2<br />
+ 0 s1 == s2<br />
+ -1 s1 &lt; s2 </dd></dl>
+
+</div>
+</div>
+<a id="a0915aff7be4b2dd3e881f3c5d0da4baf" name="a0915aff7be4b2dd3e881f3c5d0da4baf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0915aff7be4b2dd3e881f3c5d0da4baf">&#9670;&nbsp;</a></span>xbSleep()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void xb::xbXBase::xbSleep </td>
+ <td>(</td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>lMillisecs</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Cross platform sleep function. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lMillisecs</td><td>Milliseconds to sleep. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Friends And Related Function Documentation</h2>
+<a id="a86a53ce3efbf910996df0f853f1c0add" name="a86a53ce3efbf910996df0f853f1c0add"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a86a53ce3efbf910996df0f853f1c0add">&#9670;&nbsp;</a></span>xbBcd</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class xbBcd</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3c3e5617be811d732472fe2cc8fb18cc" name="a3c3e5617be811d732472fe2cc8fb18cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c3e5617be811d732472fe2cc8fb18cc">&#9670;&nbsp;</a></span>xbExp</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class xbExp</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a6219f1b5e24ea12fe158cd5aea56988e" name="a6219f1b5e24ea12fe158cd5aea56988e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6219f1b5e24ea12fe158cd5aea56988e">&#9670;&nbsp;</a></span>ErrorCodeText</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char* xb::xbSsv::ErrorCodeText[]</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5849e813f5e8e1cd180f0366637adbf3" name="a5849e813f5e8e1cd180f0366637adbf3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5849e813f5e8e1cd180f0366637adbf3">&#9670;&nbsp;</a></span>iEndianType</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSsv::iEndianType = 0</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9dec3164c3b264882df634915ecf21da" name="a9dec3164c3b264882df634915ecf21da"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9dec3164c3b264882df634915ecf21da">&#9670;&nbsp;</a></span>sNullString</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a> xb::xbSsv::sNullString = &quot;&quot;</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/include/<a class="el" href="xbxbase_8h_source.html">xbxbase.h</a></li>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/core/<a class="el" href="xbxbase_8cpp.html">xbxbase.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/classxb_1_1xbXBase.png b/docs/doxygen/html/classxb_1_1xbXBase.png
new file mode 100644
index 0000000..4b4ae14
--- /dev/null
+++ b/docs/doxygen/html/classxb_1_1xbXBase.png
Binary files differ
diff --git a/docs/doxygen/html/closed.png b/docs/doxygen/html/closed.png
new file mode 100644
index 0000000..98cc2c9
--- /dev/null
+++ b/docs/doxygen/html/closed.png
Binary files differ
diff --git a/docs/doxygen/html/dbfxtrct_8cpp.html b/docs/doxygen/html/dbfxtrct_8cpp.html
new file mode 100644
index 0000000..7e00be1
--- /dev/null
+++ b/docs/doxygen/html/dbfxtrct_8cpp.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.0.2/src/utils/dbfxtrct.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">dbfxtrct.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;xbase64/xbase64.h&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a5ae07f63d6b390e42068d941038dadf2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dbfxtrct_8cpp.html#a5ae07f63d6b390e42068d941038dadf2">Usage</a> ()</td></tr>
+<tr class="separator:a5ae07f63d6b390e42068d941038dadf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c99d968a34e803d378692bde2e3f18f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dbfxtrct_8cpp.html#a0c99d968a34e803d378692bde2e3f18f">main</a> (int ac, char **av)</td></tr>
+<tr class="separator:a0c99d968a34e803d378692bde2e3f18f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0c99d968a34e803d378692bde2e3f18f" name="a0c99d968a34e803d378692bde2e3f18f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c99d968a34e803d378692bde2e3f18f">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>ac</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5ae07f63d6b390e42068d941038dadf2" name="a5ae07f63d6b390e42068d941038dadf2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5ae07f63d6b390e42068d941038dadf2">&#9670;&nbsp;</a></span>Usage()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void Usage </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/dir_25b94c3afce00ed38231227d8141f932.html b/docs/doxygen/html/dir_25b94c3afce00ed38231227d8141f932.html
new file mode 100644
index 0000000..3539ada
--- /dev/null
+++ b/docs/doxygen/html/dir_25b94c3afce00ed38231227d8141f932.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/sql Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">sql Directory Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbalttbl_8cpp.html">xbalttbl.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sql_2xbcrix_8cpp.html">xbcrix.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbcrtbl_8cpp.html">xbcrtbl.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdelete_8cpp.html">xbdelete.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdrpix_8cpp.html">xbdrpix.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdrptbl_8cpp.html">xbdrptbl.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbinsert_8cpp.html">xbinsert.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbselect_8cpp.html">xbselect.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbset_8cpp.html">xbset.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbsql_8cpp.html">xbsql.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbstmt_8cpp.html">xbstmt.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/dir_313caf1132e152dd9b58bea13a4052ca.html b/docs/doxygen/html/dir_313caf1132e152dd9b58bea13a4052ca.html
new file mode 100644
index 0000000..be0a5a7
--- /dev/null
+++ b/docs/doxygen/html/dir_313caf1132e152dd9b58bea13a4052ca.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/utils Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">utils Directory Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__cfg__check_8cpp.html">xb_cfg_check.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__copydbf_8cpp.html">xb_copydbf.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dbfutil_8cpp.html">xb_dbfutil.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__deletall_8cpp.html">xb_deletall.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dumpdbt_8cpp.html">xb_dumpdbt.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dumprecs_8cpp.html">xb_dumprecs.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__execsql_8cpp.html">xb_execsql.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__import_8cpp.html">xb_import.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__pack_8cpp.html">xb_pack.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__tblinfo_8cpp.html">xb_tblinfo.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__undelall_8cpp.html">xb_undelall.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/doxygen/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html
new file mode 100644
index 0000000..c1c03c6
--- /dev/null
+++ b/docs/doxygen/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">src Directory Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="subdirs" name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/dir_aebb8dcc11953d78e620bbef0b9e2183.html b/docs/doxygen/html/dir_aebb8dcc11953d78e620bbef0b9e2183.html
new file mode 100644
index 0000000..614739c
--- /dev/null
+++ b/docs/doxygen/html/dir_aebb8dcc11953d78e620bbef0b9e2183.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">core Directory Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbbcd_8cpp.html">xbbcd.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbblockread_8cpp.html">xbblockread.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdate_8cpp.html">xbdate.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8cpp.html">xbdbf.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf3_8cpp.html">xbdbf3.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf4_8cpp.html">xbdbf4.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbexp_8cpp.html">xbexp.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbexpnode_8cpp.html">xbexpnode.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbfields_8cpp.html">xbfields.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbfile_8cpp.html">xbfile.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbfilter_8cpp.html">xbfilter.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbfuncs_8cpp.html">xbfuncs.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbixbase_8cpp.html">xbixbase.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbixmdx_8cpp.html">xbixmdx.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbixndx_8cpp.html">xbixndx.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbixtdx_8cpp.html">xbixtdx.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xblog_8cpp.html">xblog.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbmemo_8cpp.html">xbmemo.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbmemo3_8cpp.html">xbmemo3.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbmemo4_8cpp.html">xbmemo4.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbssv_8cpp.html">xbssv.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbstring_8cpp.html">xbstring.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbtag_8cpp.html">xbtag.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbtblmgr_8cpp.html">xbtblmgr.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbuda_8cpp.html">xbuda.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbxbase_8cpp.html">xbxbase.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/dir_b0856f6b0d80ccb263b2f415c91f9e17.html b/docs/doxygen/html/dir_b0856f6b0d80ccb263b2f415c91f9e17.html
new file mode 100644
index 0000000..99b5a75
--- /dev/null
+++ b/docs/doxygen/html/dir_b0856f6b0d80ccb263b2f415c91f9e17.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">include Directory Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbase_8h.html">xbase.h</a> <a href="xbase_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbbcd_8h.html">xbbcd.h</a> <a href="xbbcd_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbblkread_8h.html">xbblkread.h</a> <a href="xbblkread_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2xbcrix_8cpp.html">xbcrix.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdate_8h.html">xbdate.h</a> <a href="xbdate_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html">xbdbf.h</a> <a href="xbdbf_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbexp_8h.html">xbexp.h</a> <a href="xbexp_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbexpnode_8h.html">xbexpnode.h</a> <a href="xbexpnode_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbfile_8h.html">xbfile.h</a> <a href="xbfile_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbfilter_8h.html">xbfilter.h</a> <a href="xbfilter_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbindex_8h.html">xbindex.h</a> <a href="xbindex_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xblnklst_8h.html">xblnklst.h</a> <a href="xblnklst_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xblnklstord_8h.html">xblnklstord.h</a> <a href="xblnklstord_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xblnknod_8h.html">xblnknod.h</a> <a href="xblnknod_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xblog_8h.html">xblog.h</a> <a href="xblog_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbmemo_8h.html">xbmemo.h</a> <a href="xbmemo_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html">xbretcod.h</a> <a href="xbretcod_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbsql_8h.html">xbsql.h</a> <a href="xbsql_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbssv_8h.html">xbssv.h</a> <a href="xbssv_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbstring_8h.html">xbstring.h</a> <a href="xbstring_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbtag_8h.html">xbtag.h</a> <a href="xbtag_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbtblmgr_8h.html">xbtblmgr.h</a> <a href="xbtblmgr_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbtypes_8h.html">xbtypes.h</a> <a href="xbtypes_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbuda_8h.html">xbuda.h</a> <a href="xbuda_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbxbase_8h.html">xbxbase.h</a> <a href="xbxbase_8h_source.html">[code]</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/dir_d93a1d4020dea85bb71b237545b5e722.html b/docs/doxygen/html/dir_d93a1d4020dea85bb71b237545b5e722.html
new file mode 100644
index 0000000..dacdae5
--- /dev/null
+++ b/docs/doxygen/html/dir_d93a1d4020dea85bb71b237545b5e722.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">tests Directory Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__bcd_8cpp.html">xb_test_bcd.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__blockread_8cpp.html">xb_test_blockread.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__date_8cpp.html">xb_test_date.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__dbf__v3__memos_8cpp.html">xb_test_dbf_v3_memos.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__dbf__v3__nomemos_8cpp.html">xb_test_dbf_v3_nomemos.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__dbf__v4__memos_8cpp.html">xb_test_dbf_v4_memos.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__dbf__v4__nomemos_8cpp.html">xb_test_dbf_v4_nomemos.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__expnode_8cpp.html">xb_test_expnode.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__expression_8cpp.html">xb_test_expression.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__file_8cpp.html">xb_test_file.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__filter_8cpp.html">xb_test_filter.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__funcs_8cpp.html">xb_test_funcs.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__linklist_8cpp.html">xb_test_linklist.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__lock_8cpp.html">xb_test_lock.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__lock2_8cpp.html">xb_test_lock2.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__log_8cpp.html">xb_test_log.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__mdx_8cpp.html">xb_test_mdx.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__ndx_8cpp.html">xb_test_ndx.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__sql_8cpp.html">xb_test_sql.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__string_8cpp.html">xb_test_string.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__tblmgr_8cpp.html">xb_test_tblmgr.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__tdx_8cpp.html">xb_test_tdx.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__uda_8cpp.html">xb_test_uda.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__xbase_8cpp.html">xb_test_xbase.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/dir_e931c1a3f0014e624d0645a271726ad2.html b/docs/doxygen/html/dir_e931c1a3f0014e624d0645a271726ad2.html
new file mode 100644
index 0000000..f9469b1
--- /dev/null
+++ b/docs/doxygen/html/dir_e931c1a3f0014e624d0645a271726ad2.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/examples Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">examples Directory Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__date_8cpp.html">xb_ex_date.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__expression_8cpp.html">xb_ex_expression.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__log_8cpp.html">xb_ex_log.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__sql_8cpp.html">xb_ex_sql.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__ssv_8cpp.html">xb_ex_ssv.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__string_8cpp.html">xb_ex_string.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__v3__create__dbf_8cpp.html">xb_ex_v3_create_dbf.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__v3__upd__dbf_8cpp.html">xb_ex_v3_upd_dbf.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__v4__create__dbf_8cpp.html">xb_ex_v4_create_dbf.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__v4__upd__dbf_8cpp.html">xb_ex_v4_upd_dbf.cpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/doc.png b/docs/doxygen/html/doc.png
new file mode 100644
index 0000000..17edabf
--- /dev/null
+++ b/docs/doxygen/html/doc.png
Binary files differ
diff --git a/docs/doxygen/html/doxygen.css b/docs/doxygen/html/doxygen.css
new file mode 100644
index 0000000..9036737
--- /dev/null
+++ b/docs/doxygen/html/doxygen.css
@@ -0,0 +1,1841 @@
+/* The standard CSS for doxygen 1.9.3 */
+
+body, table, div, p, dl {
+ font: 400 14px/22px Roboto,sans-serif;
+}
+
+p.reference, p.definition {
+ font: 400 14px/22px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+ font-size: 150%;
+}
+
+.title {
+ font: 400 14px/28px Roboto,sans-serif;
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
+}
+
+h2.groupheader {
+ border-bottom: 1px solid #879ECB;
+ color: #354C7B;
+ font-size: 150%;
+ font-weight: normal;
+ margin-top: 1.75em;
+ padding-top: 8px;
+ padding-bottom: 4px;
+ width: 100%;
+}
+
+h3.groupheader {
+ font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ -webkit-transition: text-shadow 0.5s linear;
+ -moz-transition: text-shadow 0.5s linear;
+ -ms-transition: text-shadow 0.5s linear;
+ -o-transition: text-shadow 0.5s linear;
+ transition: text-shadow 0.5s linear;
+ margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+ text-shadow: 0 0 15px cyan;
+}
+
+dt {
+ font-weight: bold;
+}
+
+ul.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+ column-count: 3;
+}
+
+p.startli, p.startdd {
+ margin-top: 2px;
+}
+
+th p.starttd, th p.intertd, th p.endtd {
+ font-size: 100%;
+ font-weight: 700;
+}
+
+p.starttd {
+ margin-top: 0px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+p.interli {
+}
+
+p.interdd {
+}
+
+p.intertd {
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.navtab {
+ border-right: 1px solid #A3B4D7;
+ padding-right: 15px;
+ text-align: right;
+ line-height: 110%;
+}
+
+div.navtab table {
+ border-spacing: 0;
+}
+
+td.navtab {
+ padding-right: 6px;
+ padding-left: 6px;
+}
+td.navtabHL {
+ background-image: url('tab_a.png');
+ background-repeat:repeat-x;
+ padding-right: 6px;
+ padding-left: 6px;
+}
+
+td.navtabHL a, td.navtabHL a:visited {
+ color: #fff;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
+
+a.navtab {
+ font-weight: bold;
+}
+
+div.qindex{
+ text-align: center;
+ width: 100%;
+ line-height: 140%;
+ font-size: 130%;
+ color: #A0A0A0;
+}
+
+dt.alphachar{
+ font-size: 180%;
+ font-weight: bold;
+}
+
+.alphachar a{
+ color: black;
+}
+
+.alphachar a:hover, .alphachar a:visited{
+ text-decoration: none;
+}
+
+.classindex dl {
+ padding: 25px;
+ column-count:1
+}
+
+.classindex dd {
+ display:inline-block;
+ margin-left: 50px;
+ width: 90%;
+ line-height: 1.15em;
+}
+
+.classindex dl.odd {
+ background-color: #F8F9FC;
+}
+
+@media(min-width: 1120px) {
+ .classindex dl {
+ column-count:2
+ }
+}
+
+@media(min-width: 1320px) {
+ .classindex dl {
+ column-count:3
+ }
+}
+
+
+/* @group Link Styling */
+
+a {
+ color: #3D578C;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #4665A2;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+.contents a.qindexHL:visited {
+ color: #FFFFFF;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+ color: #4665A2;
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+ color: #4665A2;
+}
+
+a.code.hl_class { /* style for links to class names in code snippets */ }
+a.code.hl_struct { /* style for links to struct names in code snippets */ }
+a.code.hl_union { /* style for links to union names in code snippets */ }
+a.code.hl_interface { /* style for links to interface names in code snippets */ }
+a.code.hl_protocol { /* style for links to protocol names in code snippets */ }
+a.code.hl_category { /* style for links to category names in code snippets */ }
+a.code.hl_exception { /* style for links to exception names in code snippets */ }
+a.code.hl_service { /* style for links to service names in code snippets */ }
+a.code.hl_singleton { /* style for links to singleton names in code snippets */ }
+a.code.hl_concept { /* style for links to concept names in code snippets */ }
+a.code.hl_namespace { /* style for links to namespace names in code snippets */ }
+a.code.hl_package { /* style for links to package names in code snippets */ }
+a.code.hl_define { /* style for links to macro names in code snippets */ }
+a.code.hl_function { /* style for links to function names in code snippets */ }
+a.code.hl_variable { /* style for links to variable names in code snippets */ }
+a.code.hl_typedef { /* style for links to typedef names in code snippets */ }
+a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ }
+a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ }
+a.code.hl_signal { /* style for links to Qt signal names in code snippets */ }
+a.code.hl_slot { /* style for links to Qt slot names in code snippets */ }
+a.code.hl_friend { /* style for links to friend names in code snippets */ }
+a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ }
+a.code.hl_property { /* style for links to property names in code snippets */ }
+a.code.hl_event { /* style for links to event names in code snippets */ }
+a.code.hl_sequence { /* style for links to sequence names in code snippets */ }
+a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ }
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+ul {
+ overflow: visible;
+}
+
+#side-nav ul {
+ overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
+}
+
+#main-nav ul {
+ overflow: visible; /* reset ul rule for the navigation bar drop down lists */
+}
+
+.fragment {
+ text-align: left;
+ direction: ltr;
+ overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
+ overflow-y: hidden;
+}
+
+pre.fragment {
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+div.fragment {
+ padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
+ margin: 4px 8px 4px 2px;
+ background-color: #FBFCFD;
+ border: 1px solid #C4CFE5;
+}
+
+div.line {
+ font-family: monospace, fixed;
+ font-size: 13px;
+ min-height: 13px;
+ line-height: 1.0;
+ text-wrap: unrestricted;
+ white-space: -moz-pre-wrap; /* Moz */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ white-space: pre-wrap; /* CSS3 */
+ word-wrap: break-word; /* IE 5.5+ */
+ text-indent: -53px;
+ padding-left: 53px;
+ padding-bottom: 0px;
+ margin: 0px;
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+div.line:after {
+ content:"\000A";
+ white-space: pre;
+}
+
+div.line.glow {
+ background-color: cyan;
+ box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+ padding-right: 4px;
+ margin-right: 9px;
+ text-align: right;
+ border-right: 2px solid #0F0;
+ background-color: #E8E8E8;
+ white-space: pre;
+}
+span.lineno a {
+ background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+ background-color: #C8C8C8;
+}
+
+.lineno {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+div.ah, span.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #FFFFFF;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
+}
+
+div.classindex ul {
+ list-style: none;
+ padding-left: 0;
+}
+
+div.classindex span.ai {
+ display: inline-block;
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background-color: white;
+ color: black;
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 12px;
+ margin-right: 8px;
+}
+
+td.indexkey {
+ background-color: #EBEFF6;
+ font-weight: bold;
+ border: 1px solid #C4CFE5;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+ white-space: nowrap;
+ vertical-align: top;
+}
+
+td.indexvalue {
+ background-color: #EBEFF6;
+ border: 1px solid #C4CFE5;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl, img.inline {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+.compoundTemplParams {
+ color: #4665A2;
+ font-size: 80%;
+ line-height: 120%;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+blockquote {
+ background-color: #F7F8FB;
+ border-left: 2px solid #9CAFD4;
+ margin: 0 24px 0 4px;
+ padding: 0 12px 0 16px;
+}
+
+blockquote.DocNodeRTL {
+ border-left: 0;
+ border-right: 2px solid #9CAFD4;
+ margin: 0 4px 0 24px;
+ padding: 0 16px 0 12px;
+}
+
+/* @end */
+
+/*
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+ background: #EBEFF6;
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+ height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+ background-color: cyan;
+ box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #F9FAFC;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memSeparator {
+ border-bottom: 1px solid #DEE4F0;
+ line-height: 1px;
+ margin: 0px;
+ padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight, .memTemplItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: #4665A2;
+ white-space: nowrap;
+ font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtitle {
+ padding: 8px;
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ margin-bottom: -1px;
+ background-image: url('nav_f.png');
+ background-repeat: repeat-x;
+ background-color: #E2E8F2;
+ line-height: 1.25;
+ font-weight: 300;
+ float:left;
+}
+
+.permalink
+{
+ font-size: 65%;
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.memtemplate {
+ font-size: 80%;
+ color: #4665A2;
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.mempage {
+ width: 100%;
+}
+
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+ -webkit-transition: box-shadow 0.5s linear;
+ -moz-transition: box-shadow 0.5s linear;
+ -ms-transition: box-shadow 0.5s linear;
+ -o-transition: box-shadow 0.5s linear;
+ transition: box-shadow 0.5s linear;
+ display: table !important;
+ width: 100%;
+}
+
+.memitem.glow {
+ box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+ font-weight: 400;
+ margin-left: 6px;
+}
+
+.memname td {
+ vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 0px 6px 0px;
+ color: #253555;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ background-color: #DFE5F1;
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 4px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 4px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 4px;
+
+}
+
+.overload {
+ font-family: "courier new",courier,monospace;
+ font-size: 65%;
+}
+
+.memdoc, dl.reflist dd {
+ border-bottom: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 10px 2px 10px;
+ background-color: #FBFCFD;
+ border-top-width: 0;
+ background-image:url('nav_g.png');
+ background-repeat:repeat-x;
+ background-color: #FFFFFF;
+ /* opera specific markup */
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 4px;
+ -moz-border-radius-bottomright: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+ padding: 5px;
+}
+
+dl.reflist dd {
+ margin: 0px 0px 10px 0px;
+ padding: 5px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+.paramname code {
+ line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype, .tparams .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir, .tparams .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+table.mlabels {
+ border-spacing: 0px;
+}
+
+td.mlabels-left {
+ width: 100%;
+ padding: 0px;
+}
+
+td.mlabels-right {
+ vertical-align: bottom;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+span.mlabels {
+ margin-left: 8px;
+}
+
+span.mlabel {
+ background-color: #728DC1;
+ border-top:1px solid #5373B4;
+ border-left:1px solid #5373B4;
+ border-right:1px solid #C4CFE5;
+ border-bottom:1px solid #C4CFE5;
+ text-shadow: none;
+ color: white;
+ margin-right: 4px;
+ padding: 2px 3px;
+ border-radius: 3px;
+ font-size: 7pt;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view inside a (index) page */
+
+div.directory {
+ margin: 10px 0px;
+ border-top: 1px solid #9CAFD4;
+ border-bottom: 1px solid #9CAFD4;
+ width: 100%;
+}
+
+.directory table {
+ border-collapse:collapse;
+}
+
+.directory td {
+ margin: 0px;
+ padding: 0px;
+ vertical-align: top;
+}
+
+.directory td.entry {
+ white-space: nowrap;
+ padding-right: 6px;
+ padding-top: 3px;
+}
+
+.directory td.entry a {
+ outline:none;
+}
+
+.directory td.entry a img {
+ border: none;
+}
+
+.directory td.desc {
+ width: 100%;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 3px;
+ border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+ padding-left: 6px;
+ background-color: #F7F8FB;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+.directory .levels {
+ white-space: nowrap;
+ width: 100%;
+ text-align: right;
+ font-size: 9pt;
+}
+
+.directory .levels span {
+ cursor: pointer;
+ padding-left: 2px;
+ padding-right: 2px;
+ color: #3D578C;
+}
+
+.arrow {
+ color: #9CAFD4;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ cursor: pointer;
+ font-size: 80%;
+ display: inline-block;
+ width: 16px;
+ height: 22px;
+}
+
+.icon {
+ font-family: Arial, Helvetica;
+ font-weight: bold;
+ font-size: 12px;
+ height: 14px;
+ width: 16px;
+ display: inline-block;
+ background-color: #728DC1;
+ color: white;
+ text-align: center;
+ border-radius: 4px;
+ margin-left: 2px;
+ margin-right: 2px;
+}
+
+.icona {
+ width: 24px;
+ height: 22px;
+ display: inline-block;
+}
+
+.iconfopen {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('folderopen.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+.iconfclosed {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('folderclosed.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+.icondoc {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('doc.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+table.directory {
+ font: 400 14px Roboto,sans-serif;
+}
+
+/* @end */
+
+div.dynheader {
+ margin-top: 8px;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+address {
+ font-style: normal;
+ color: #2A3D61;
+}
+
+table.doxtable caption {
+ caption-side: top;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+table.fieldtable {
+ /*width: 100%;*/
+ margin-bottom: 10px;
+ border: 1px solid #A8B8D9;
+ border-spacing: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+ padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+ white-space: nowrap;
+ border-right: 1px solid #A8B8D9;
+ border-bottom: 1px solid #A8B8D9;
+ vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+ padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+ border-bottom: 1px solid #A8B8D9;
+ /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+ margin-top: 0px;
+}
+
+.fieldtable td.fielddoc p:last-child {
+ margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+ border-bottom: none;
+}
+
+.fieldtable th {
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ font-size: 90%;
+ color: #253555;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+ font-weight: 400;
+ -moz-border-radius-topleft: 4px;
+ -moz-border-radius-topright: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: url('tab_b.png');
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image:url('tab_b.png');
+ background-repeat:repeat-x;
+ background-position: 0 -5px;
+ height:30px;
+ line-height:30px;
+ color:#8AA0CC;
+ border:solid 1px #C2CDE4;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:url('bc_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+ color: #283A5D;
+ font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#6884BD;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+table.classindex
+{
+ margin: 10px;
+ white-space: nowrap;
+ margin-left: 3%;
+ margin-right: 3%;
+ width: 94%;
+ border: 0;
+ border-spacing: 0;
+ padding: 0;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ margin: 0px;
+ border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 10px;
+}
+
+.PageDocRTL-title div.headertitle {
+ text-align: right;
+ direction: rtl;
+}
+
+dl {
+ padding: 0 0 0 0;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
+dl.section {
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+dl.section.DocNodeRTL {
+ margin-right: 0px;
+ padding-right: 0px;
+}
+
+dl.note {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #D0C000;
+}
+
+dl.note.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #FF0000;
+}
+
+dl.warning.DocNodeRTL, dl.attention.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #00D000;
+}
+
+dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #00D000;
+}
+
+dl.deprecated {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #505050;
+}
+
+dl.deprecated.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #505050;
+}
+
+dl.todo {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #00C0E0;
+}
+
+dl.todo.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #00C0E0;
+}
+
+dl.test {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #3030E0;
+}
+
+dl.test.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #3030E0;
+}
+
+dl.bug {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #C08050;
+}
+
+dl.bug.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #C08050;
+}
+
+dl.section dd {
+ margin-bottom: 6px;
+}
+
+
+#projectrow
+{
+ height: 56px;
+}
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectalign
+{
+ vertical-align: middle;
+ padding-left: 0.5em;
+}
+
+#projectname
+{
+ font: 200% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ font: 90% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.plantumlgraph
+{
+ text-align: center;
+}
+
+.diagraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
+div.zoom
+{
+ border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+ margin-bottom:50px;
+}
+
+dl.citelist dt {
+ color:#334975;
+ float:left;
+ font-weight:bold;
+ margin-right:10px;
+ padding:5px;
+ text-align:right;
+ width:52px;
+}
+
+dl.citelist dd {
+ margin:2px 0 2px 72px;
+ padding:5px 0;
+}
+
+div.toc {
+ padding: 14px 25px;
+ background-color: #F4F6FA;
+ border: 1px solid #D8DFEE;
+ border-radius: 7px 7px 7px 7px;
+ float: right;
+ height: auto;
+ margin: 0 8px 10px 10px;
+ width: 200px;
+}
+
+.PageDocRTL-title div.toc {
+ float: left !important;
+ text-align: right;
+}
+
+div.toc li {
+ background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+ font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+ margin-top: 5px;
+ padding-left: 10px;
+ padding-top: 2px;
+}
+
+.PageDocRTL-title div.toc li {
+ background-position-x: right !important;
+ padding-left: 0 !important;
+ padding-right: 10px;
+}
+
+div.toc h3 {
+ font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+ color: #4665A2;
+ border-bottom: 0 none;
+ margin: 0;
+}
+
+div.toc ul {
+ list-style: none outside none;
+ border: medium none;
+ padding: 0px;
+}
+
+div.toc li.level1 {
+ margin-left: 0px;
+}
+
+div.toc li.level2 {
+ margin-left: 15px;
+}
+
+div.toc li.level3 {
+ margin-left: 30px;
+}
+
+div.toc li.level4 {
+ margin-left: 45px;
+}
+
+span.emoji {
+ /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html
+ * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
+ */
+}
+
+span.obfuscator {
+ display: none;
+}
+
+.PageDocRTL-title div.toc li.level1 {
+ margin-left: 0 !important;
+ margin-right: 0;
+}
+
+.PageDocRTL-title div.toc li.level2 {
+ margin-left: 0 !important;
+ margin-right: 15px;
+}
+
+.PageDocRTL-title div.toc li.level3 {
+ margin-left: 0 !important;
+ margin-right: 30px;
+}
+
+.PageDocRTL-title div.toc li.level4 {
+ margin-left: 0 !important;
+ margin-right: 45px;
+}
+
+.inherit_header {
+ font-weight: bold;
+ color: gray;
+ cursor: pointer;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.inherit_header td {
+ padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+ display: none;
+}
+
+tr.heading h2 {
+ margin-top: 12px;
+ margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+ position: absolute;
+ display: none;
+}
+
+#powerTip {
+ cursor: default;
+ /*white-space: nowrap;*/
+ background-color: white;
+ border: 1px solid gray;
+ border-radius: 4px 4px 4px 4px;
+ box-shadow: 1px 1px 7px gray;
+ display: none;
+ font-size: smaller;
+ max-width: 80%;
+ opacity: 0.9;
+ padding: 1ex 1em 1em;
+ position: absolute;
+ z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+ color: grey;
+ font-style: italic;
+}
+
+#powerTip div.ttname a {
+ font-weight: bold;
+}
+
+#powerTip div.ttname {
+ font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+ color: #006318;
+}
+
+#powerTip div {
+ margin: 0px;
+ padding: 0px;
+ font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+ content: "";
+ position: absolute;
+ margin: 0px;
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.w:after, #powerTip.w:before,
+#powerTip.e:after, #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+}
+
+#powerTip.n:after, #powerTip.s:after,
+#powerTip.w:after, #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+ border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before, #powerTip.s:before,
+#powerTip.w:before, #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+ border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+ top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+ border-top-color: #FFFFFF;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+#powerTip.n:before {
+ border-top-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+ left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+ right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+ left: 14px;
+}
+
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+ border-bottom-color: #FFFFFF;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+ border-bottom-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+ left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+ right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+ left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+ left: 100%;
+}
+#powerTip.e:after {
+ border-left-color: #FFFFFF;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.e:before {
+ border-left-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+ right: 100%;
+}
+#powerTip.w:after {
+ border-right-color: #FFFFFF;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.w:before {
+ border-right-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+@media print
+{
+ #top { display: none; }
+ #side-nav { display: none; }
+ #nav-path { display: none; }
+ body { overflow:visible; }
+ h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+ .summary { display: none; }
+ .memitem { page-break-inside: avoid; }
+ #doc-content
+ {
+ margin-left:0 !important;
+ height:auto !important;
+ width:auto !important;
+ overflow:inherit;
+ display:inline;
+ }
+}
+
+/* @group Markdown */
+
+table.markdownTable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.markdownTable tr {
+}
+
+th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+th.markdownTableHeadLeft, td.markdownTableBodyLeft {
+ text-align: left
+}
+
+th.markdownTableHeadRight, td.markdownTableBodyRight {
+ text-align: right
+}
+
+th.markdownTableHeadCenter, td.markdownTableBodyCenter {
+ text-align: center
+}
+
+.DocNodeRTL {
+ text-align: right;
+ direction: rtl;
+}
+
+.DocNodeLTR {
+ text-align: left;
+ direction: ltr;
+}
+
+table.DocNodeRTL {
+ width: auto;
+ margin-right: 0;
+ margin-left: auto;
+}
+
+table.DocNodeLTR {
+ width: auto;
+ margin-right: auto;
+ margin-left: 0;
+}
+
+code.JavaDocCode
+ direction:ltr;
+}
+
+tt, code, kbd, samp
+{
+ display: inline-block;
+ direction:ltr;
+}
+/* @end */
+
+u {
+ text-decoration: underline;
+}
+
diff --git a/docs/doxygen/html/doxygen.svg b/docs/doxygen/html/doxygen.svg
new file mode 100644
index 0000000..d42dad5
--- /dev/null
+++ b/docs/doxygen/html/doxygen.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 104 31" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient id="a">
+ <stop stop-color="#5373B4" offset="0"/>
+ <stop stop-color="#7C95C6" offset="1"/>
+ </linearGradient>
+ <linearGradient id="d" x1="31.474" x2="31.474" y1="24.821" y2="26.773" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+ <linearGradient id="c" x1="31.474" x2="31.474" y1="24.821" y2="26.773" gradientTransform="matrix(.6816 0 0 1.0248 72.391 -.91809)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+ <linearGradient id="b" x1="56.295" x2="56.295" y1="24.622" y2="26.574" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+ <linearGradient id="e" x1="49.067" x2="48.956" y1="19.719" y2="9.5227" gradientTransform="matrix(.97968 0 0 1.0207 -.25579 -.25579)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#C0CCE3" offset="0"/>
+ <stop stop-color="#EEF1F7" offset="1"/>
+ </linearGradient>
+ <filter id="f" x="-.010676" y="-.045304" width="1.0214" height="1.0906" color-interpolation-filters="sRGB">
+ <feGaussianBlur stdDeviation="0.45293203"/>
+ </filter>
+ </defs>
+ <g>
+ <path transform="translate(-2.5759 -27.848)" d="m13.609 32.203v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23645 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88018-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35277 3.7988-1.0566 1.0471-0.70387 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.92299-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.4611 0.28066 1.7988 0.84375 0.33777 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5976v-8.3926c0-0.84464-0.0765-1.6106-0.22851-2.2969-0.13511-0.70387-0.37971-1.2925-0.73438-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.063 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07028-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06051 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3438h-0.05078l-2.9648-9.3438zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914 0.38844 0.24635 0.6991 0.57184 0.93555 0.97656 0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13253 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10134 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88814-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70105 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.4927-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89025 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74023 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" filter="url(#f)" opacity=".3" stroke="#969696" xlink:href="#path141"/>
+ <path d="m0.97202 24.161 43.605-0.0019 0.0508 3.3061-43.6 0.04174z" fill="url(#d)" stroke="#000" stroke-width=".5"/>
+ <path d="m10.283 3.5547v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23644 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88017-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35278 3.7988-1.0566 1.0471-0.70386 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.923-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.461 0.28066 1.7988 0.84375 0.33778 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5977v-8.3926c0-0.84464-0.0765-1.6106-0.22852-2.2969-0.13511-0.70387-0.3797-1.2925-0.73437-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.062 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07027-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06052 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3437h-0.05078l-2.9648-9.3437zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914s0.6991 0.57184 0.93555 0.97656c0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13254 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10133 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88813-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70106 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.49271-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89026 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74024 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" fill="url(#e)" stroke="#4665A2" stroke-width=".7"/>
+ <path d="m52.988 27.291c0.99602-1.0359 1.3944-1.8725 1.7928-3.1076l3.8247-0.03984c0.3113 1.6096 0.82413 2.5137 1.6335 3.1474z" fill="url(#b)" stroke="#000" stroke-width=".5"/>
+ <path d="m73.89 24.04 28.885-0.2011-0.12476 3.3879-31.033 0.16229c1.2621-1.0234 1.9665-2.2859 2.2724-3.3491z" fill="url(#c)" stroke="#000" stroke-width=".41788"/>
+ </g>
+</svg>
diff --git a/docs/doxygen/html/dynsections.js b/docs/doxygen/html/dynsections.js
new file mode 100644
index 0000000..3174bd7
--- /dev/null
+++ b/docs/doxygen/html/dynsections.js
@@ -0,0 +1,121 @@
+/*
+ @licstart The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend The above is the entire license notice for the JavaScript code in this file
+ */
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+ content.hide();
+ summary.show();
+ $(linkObj).addClass('closed').removeClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+ content.show();
+ summary.hide();
+ $(linkObj).removeClass('closed').addClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+ return false;
+}
+
+function updateStripes()
+{
+ $('table.directory tr').
+ removeClass('even').filter(':visible:even').addClass('even');
+}
+
+function toggleLevel(level)
+{
+ $('table.directory tr').each(function() {
+ var l = this.id.split('_').length-1;
+ var i = $('#img'+this.id.substring(3));
+ var a = $('#arr'+this.id.substring(3));
+ if (l<level+1) {
+ i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
+ a.html('&#9660;');
+ $(this).show();
+ } else if (l==level+1) {
+ i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
+ a.html('&#9658;');
+ $(this).show();
+ } else {
+ $(this).hide();
+ }
+ });
+ updateStripes();
+}
+
+function toggleFolder(id)
+{
+ // the clicked row
+ var currentRow = $('#row_'+id);
+
+ // all rows after the clicked row
+ var rows = currentRow.nextAll("tr");
+
+ var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
+
+ // only match elements AFTER this one (can't hide elements before)
+ var childRows = rows.filter(function() { return this.id.match(re); });
+
+ // first row is visible we are HIDING
+ if (childRows.filter(':first').is(':visible')===true) {
+ // replace down arrow by right arrow for current row
+ var currentRowSpans = currentRow.find("span");
+ currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+ currentRowSpans.filter(".arrow").html('&#9658;');
+ rows.filter("[id^=row_"+id+"]").hide(); // hide all children
+ } else { // we are SHOWING
+ // replace right arrow by down arrow for current row
+ var currentRowSpans = currentRow.find("span");
+ currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
+ currentRowSpans.filter(".arrow").html('&#9660;');
+ // replace down arrows by right arrows for child rows
+ var childRowsSpans = childRows.find("span");
+ childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+ childRowsSpans.filter(".arrow").html('&#9658;');
+ childRows.show(); //show all children
+ }
+ updateStripes();
+}
+
+
+function toggleInherit(id)
+{
+ var rows = $('tr.inherit.'+id);
+ var img = $('tr.inherit_header.'+id+' img');
+ var src = $(img).attr('src');
+ if (rows.filter(':first').is(':visible')===true) {
+ rows.css('display','none');
+ $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+ rows.css('display','table-row'); // using show() causes jump in firefox
+ $(img).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+}
+/* @license-end */
diff --git a/docs/doxygen/html/files.html b/docs/doxygen/html/files.html
new file mode 100644
index 0000000..d35fce2
--- /dev/null
+++ b/docs/doxygen/html/files.html
@@ -0,0 +1,194 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: File List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle"><div class="title">File List</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9658;</span><span id="img_0_0_" class="iconfclosed" onclick="toggleFolder('0_0_')">&#160;</span><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html" target="_self">core</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbbcd_8cpp.html" target="_self">xbbcd.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbblockread_8cpp.html" target="_self">xbblockread.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbdate_8cpp.html" target="_self">xbdate.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbdbf_8cpp.html" target="_self">xbdbf.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbdbf3_8cpp.html" target="_self">xbdbf3.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbdbf4_8cpp.html" target="_self">xbdbf4.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbexp_8cpp.html" target="_self">xbexp.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbexpnode_8cpp.html" target="_self">xbexpnode.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_8_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbfields_8cpp.html" target="_self">xbfields.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_9_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbfile_8cpp.html" target="_self">xbfile.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_10_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbfilter_8cpp.html" target="_self">xbfilter.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_11_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbfuncs_8cpp.html" target="_self">xbfuncs.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_12_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbixbase_8cpp.html" target="_self">xbixbase.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_13_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbixmdx_8cpp.html" target="_self">xbixmdx.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_14_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbixndx_8cpp.html" target="_self">xbixndx.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_15_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbixtdx_8cpp.html" target="_self">xbixtdx.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_16_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xblog_8cpp.html" target="_self">xblog.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_17_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbmemo_8cpp.html" target="_self">xbmemo.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_18_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbmemo3_8cpp.html" target="_self">xbmemo3.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_19_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbmemo4_8cpp.html" target="_self">xbmemo4.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_20_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbssv_8cpp.html" target="_self">xbssv.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_21_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbstring_8cpp.html" target="_self">xbstring.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_22_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbtag_8cpp.html" target="_self">xbtag.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_23_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbtblmgr_8cpp.html" target="_self">xbtblmgr.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_24_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbuda_8cpp.html" target="_self">xbuda.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_25_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbxbase_8cpp.html" target="_self">xbxbase.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9658;</span><span id="img_0_1_" class="iconfclosed" onclick="toggleFolder('0_1_')">&#160;</span><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html" target="_self">examples</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__ex__date_8cpp.html" target="_self">xb_ex_date.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__ex__expression_8cpp.html" target="_self">xb_ex_expression.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__ex__log_8cpp.html" target="_self">xb_ex_log.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_3_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__ex__sql_8cpp.html" target="_self">xb_ex_sql.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_4_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__ex__ssv_8cpp.html" target="_self">xb_ex_ssv.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_5_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__ex__string_8cpp.html" target="_self">xb_ex_string.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_6_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__ex__v3__create__dbf_8cpp.html" target="_self">xb_ex_v3_create_dbf.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_7_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__ex__v3__upd__dbf_8cpp.html" target="_self">xb_ex_v3_upd_dbf.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_8_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__ex__v4__create__dbf_8cpp.html" target="_self">xb_ex_v4_create_dbf.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_9_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__ex__v4__upd__dbf_8cpp.html" target="_self">xb_ex_v4_upd_dbf.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">&#9658;</span><span id="img_0_2_" class="iconfclosed" onclick="toggleFolder('0_2_')">&#160;</span><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html" target="_self">include</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbase_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbase_8h.html" target="_self">xbase.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbbcd_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbbcd_8h.html" target="_self">xbbcd.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbblkread_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbblkread_8h.html" target="_self">xbblkread.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="include_2xbcrix_8cpp.html" target="_self">xbcrix.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbdate_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbdate_8h.html" target="_self">xbdate.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbdbf_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbdbf_8h.html" target="_self">xbdbf.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbexp_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbexp_8h.html" target="_self">xbexp.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbexpnode_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbexpnode_8h.html" target="_self">xbexpnode.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_8_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbfile_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbfile_8h.html" target="_self">xbfile.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_9_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbfilter_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbfilter_8h.html" target="_self">xbfilter.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_10_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbindex_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbindex_8h.html" target="_self">xbindex.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_11_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xblnklst_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xblnklst_8h.html" target="_self">xblnklst.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_12_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xblnklstord_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xblnklstord_8h.html" target="_self">xblnklstord.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_13_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xblnknod_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xblnknod_8h.html" target="_self">xblnknod.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_14_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xblog_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xblog_8h.html" target="_self">xblog.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_15_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbmemo_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbmemo_8h.html" target="_self">xbmemo.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_16_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbretcod_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbretcod_8h.html" target="_self">xbretcod.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_17_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbsql_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbsql_8h.html" target="_self">xbsql.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_18_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbssv_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbssv_8h.html" target="_self">xbssv.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_19_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbstring_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbstring_8h.html" target="_self">xbstring.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_20_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbtag_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbtag_8h.html" target="_self">xbtag.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_21_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbtblmgr_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbtblmgr_8h.html" target="_self">xbtblmgr.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_22_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbtypes_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbtypes_8h.html" target="_self">xbtypes.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_23_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbuda_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbuda_8h.html" target="_self">xbuda.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_24_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="xbxbase_8h_source.html"><span class="icondoc"></span></a><a class="el" href="xbxbase_8h.html" target="_self">xbxbase.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_3_" class="arrow" onclick="toggleFolder('0_3_')">&#9658;</span><span id="img_0_3_" class="iconfclosed" onclick="toggleFolder('0_3_')">&#160;</span><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html" target="_self">sql</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbalttbl_8cpp.html" target="_self">xbalttbl.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="sql_2xbcrix_8cpp.html" target="_self">xbcrix.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbcrtbl_8cpp.html" target="_self">xbcrtbl.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_3_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbdelete_8cpp.html" target="_self">xbdelete.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_4_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbdrpix_8cpp.html" target="_self">xbdrpix.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_5_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbdrptbl_8cpp.html" target="_self">xbdrptbl.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_6_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbinsert_8cpp.html" target="_self">xbinsert.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_7_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbselect_8cpp.html" target="_self">xbselect.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_8_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbset_8cpp.html" target="_self">xbset.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_9_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbsql_8cpp.html" target="_self">xbsql.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_10_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xbstmt_8cpp.html" target="_self">xbstmt.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_4_" class="arrow" onclick="toggleFolder('0_4_')">&#9658;</span><span id="img_0_4_" class="iconfclosed" onclick="toggleFolder('0_4_')">&#160;</span><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html" target="_self">tests</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="tstfuncs_8cpp.html" target="_self">tstfuncs.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__bcd_8cpp.html" target="_self">xb_test_bcd.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__blockread_8cpp.html" target="_self">xb_test_blockread.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__date_8cpp.html" target="_self">xb_test_date.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__dbf__v3__memos_8cpp.html" target="_self">xb_test_dbf_v3_memos.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__dbf__v3__nomemos_8cpp.html" target="_self">xb_test_dbf_v3_nomemos.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__dbf__v4__memos_8cpp.html" target="_self">xb_test_dbf_v4_memos.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__dbf__v4__nomemos_8cpp.html" target="_self">xb_test_dbf_v4_nomemos.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_8_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__expnode_8cpp.html" target="_self">xb_test_expnode.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_9_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__expression_8cpp.html" target="_self">xb_test_expression.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_10_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__file_8cpp.html" target="_self">xb_test_file.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_11_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__filter_8cpp.html" target="_self">xb_test_filter.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_12_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__funcs_8cpp.html" target="_self">xb_test_funcs.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_13_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__linklist_8cpp.html" target="_self">xb_test_linklist.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_14_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__lock_8cpp.html" target="_self">xb_test_lock.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_15_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__lock2_8cpp.html" target="_self">xb_test_lock2.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_16_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__log_8cpp.html" target="_self">xb_test_log.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_17_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__mdx_8cpp.html" target="_self">xb_test_mdx.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_18_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__ndx_8cpp.html" target="_self">xb_test_ndx.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_19_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__sql_8cpp.html" target="_self">xb_test_sql.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_20_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__string_8cpp.html" target="_self">xb_test_string.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_21_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__tblmgr_8cpp.html" target="_self">xb_test_tblmgr.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_22_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__tdx_8cpp.html" target="_self">xb_test_tdx.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_23_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__uda_8cpp.html" target="_self">xb_test_uda.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_24_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__test__xbase_8cpp.html" target="_self">xb_test_xbase.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_5_" class="arrow" onclick="toggleFolder('0_5_')">&#9658;</span><span id="img_0_5_" class="iconfclosed" onclick="toggleFolder('0_5_')">&#160;</span><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html" target="_self">utils</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__cfg__check_8cpp.html" target="_self">xb_cfg_check.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__copydbf_8cpp.html" target="_self">xb_copydbf.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__dbfutil_8cpp.html" target="_self">xb_dbfutil.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_3_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__deletall_8cpp.html" target="_self">xb_deletall.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_4_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__dumpdbt_8cpp.html" target="_self">xb_dumpdbt.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_5_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__dumprecs_8cpp.html" target="_self">xb_dumprecs.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_6_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__execsql_8cpp.html" target="_self">xb_execsql.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_7_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__import_8cpp.html" target="_self">xb_import.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_8_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__pack_8cpp.html" target="_self">xb_pack.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_9_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__tblinfo_8cpp.html" target="_self">xb_tblinfo.cpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_10_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xb__undelall_8cpp.html" target="_self">xb_undelall.cpp</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/folderclosed.png b/docs/doxygen/html/folderclosed.png
new file mode 100644
index 0000000..bb8ab35
--- /dev/null
+++ b/docs/doxygen/html/folderclosed.png
Binary files differ
diff --git a/docs/doxygen/html/folderopen.png b/docs/doxygen/html/folderopen.png
new file mode 100644
index 0000000..d6c7f67
--- /dev/null
+++ b/docs/doxygen/html/folderopen.png
Binary files differ
diff --git a/docs/doxygen/html/functions.html b/docs/doxygen/html/functions.html
new file mode 100644
index 0000000..6e4da8b
--- /dev/null
+++ b/docs/doxygen/html/functions.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
+<li>Abort()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a4edcf31390fbdc8c3558004770fd9f2f">xb::xbDbf</a></li>
+<li>AddBackSlash()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a6c4fdb689d27a9d19a0b5b4236e1ca62">xb::xbString</a></li>
+<li>AddTblToTblList()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#af16832ff2bfaee09265652e0fc03709a">xb::xbTblMgr</a></li>
+<li>Append()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a8f202e4798491f2ae9ce51ff58dd5815">xb::xbString</a></li>
+<li>AppendRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a5b412dd796241673eb1aa2c93513d69b">xb::xbDbf</a></li>
+<li>Assign()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a85bef82dfa22122a1ab8dfe58a107d96">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_b.html b/docs/doxygen/html/functions_b.html
new file mode 100644
index 0000000..d9dfa32
--- /dev/null
+++ b/docs/doxygen/html/functions_b.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
+<li>BitDump()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a8551b15a3ce4fa2a40d698db01f4a9ae">xb::xbSsv</a></li>
+<li>BitSet()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">xb::xbSsv</a></li>
+<li>BlankRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a78da5a3d2011a3f2e7618cbdd3ba02d6">xb::xbDbf</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_c.html b/docs/doxygen/html/functions_c.html
new file mode 100644
index 0000000..8016da5
--- /dev/null
+++ b/docs/doxygen/html/functions_c.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
+<li>CalcRollingCenturyForYear()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a9df58caa54105c489c314785c457e8cb">xb::xbDate</a></li>
+<li>cEncryptionFlag&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a8734e799707582f022fc341d515650f4">xb::xbDbf</a></li>
+<li>CenturyOf()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a38b2c5285c69ed65e94ece6c22dafde0">xb::xbDate</a></li>
+<li>cFieldName&#160;:&#160;<a class="el" href="structxb_1_1xbSchema.html#a514183856094123fd37df67885b4681e">xb::xbSchema</a></li>
+<li>cFldType&#160;:&#160;<a class="el" href="structsFldMap.html#af89b26b2d4bc6e26c597f8c48b97b1a3">sFldMap</a></li>
+<li>CharDayOf()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a9fc29730b66cddfbb58c69992a99cc7c">xb::xbDate</a></li>
+<li>CharMonthOf()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#afffc84f02bd421335ff8ebe9fb3db0ac">xb::xbDate</a></li>
+<li>cIndexFlag&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad59074633641e03647e54d2b66c9102b">xb::xbDbf</a></li>
+<li>cLangDriver&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1">xb::xbDbf</a></li>
+<li>Close()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad68d73113e54e1b5f326e90f45e9989d">xb::xbDbf</a></li>
+<li>CloseAllTables()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#afccb552ca0daff779c0500ff20d22c2b">xb::xbXBase</a></li>
+<li>Commit()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#abd69532c885ab72bcf3fb5066b318f4f">xb::xbDbf</a></li>
+<li>Copy()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#ac7a8466b03c04df838bd182ef244f792">xb::xbString</a></li>
+<li>CopyDbfStructure()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a829c615a130a1fdf609d93438d8a6264">xb::xbDbf</a></li>
+<li>CountChar()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#adc0204bcfd1c052b9aea9229b10acf72">xb::xbString</a></li>
+<li>CreateFqn()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#aa41240d920b604dcbd91dce7eecb78e1">xb::xbXBase</a></li>
+<li>CreateTable()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a73e41bfe679dd06ab16c436652df93f1">xb::xbDbf</a></li>
+<li>CreateUniqueFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ad39797624a752b9d62533d00fad9feff">xb::xbFile</a></li>
+<li>CTOD()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#abb1eb4b0394e4a67aadab15779b1b8c5">xb::xbDate</a></li>
+<li>cTransactionFlag&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ac3c89fc3bc6a6abf385478a8adbed970">xb::xbDbf</a></li>
+<li>cType&#160;:&#160;<a class="el" href="structxb_1_1xbSchema.html#a1d612b2ed5dc0b0289c9e91b3cda3a25">xb::xbSchema</a></li>
+<li>cUpdateDD&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a6021789d314cd41488991e708fcd0df2">xb::xbDbf</a></li>
+<li>cUpdateMM&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a9340a5e8ee53eb0f3b6601eec2d71e1b">xb::xbDbf</a></li>
+<li>cUpdateYY&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a4fcd6a86ddd32d4a9d76a4074573440a">xb::xbDbf</a></li>
+<li>cVersion&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a3a262abf658e5fa968b57ef457a69470">xb::xbDbf</a></li>
+<li>CvtHexChar()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a0a737bd408a94903f214eb2879eb56de">xb::xbString</a></li>
+<li>CvtHexString()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#ab5eb6918a0ae9ab6c0e961318f3d1eb0">xb::xbString</a></li>
+<li>CvtLongLong()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#ae3ab18365e132323f8ae4c99eb72181c">xb::xbString</a></li>
+<li>CvtULongLong()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a1528b30b84a41c3564ef31d1f4496b15">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_d.html b/docs/doxygen/html/functions_d.html
new file mode 100644
index 0000000..09be1b7
--- /dev/null
+++ b/docs/doxygen/html/functions_d.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
+<li>DateIsValid()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a367f66ef0c03c1747c12a18784554ccb">xb::xbDate</a></li>
+<li>DayOf()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#ad6417a900ce64a46f8909c0c7a2ddea2">xb::xbDate</a></li>
+<li>DeleteAll()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a01c26b67e312be1e674b3da710e031b9">xb::xbDbf</a></li>
+<li>DeleteAllRecords()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a3067fdfa3a7a5c15651f6e89d1102176">xb::xbDbf</a></li>
+<li>DeleteRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#acd8c10579229f3a2e2c5fdb7fcef90db">xb::xbDbf</a></li>
+<li>DeleteTable()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a4085ed4f049d976124d8edc3d3c56397">xb::xbDbf</a></li>
+<li>DetermineXbaseMemoVersion()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a5a740033664c9ad2611c90e2a6d0c2d3">xb::xbFile</a></li>
+<li>DetermineXbaseTableVersion()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ae2b6ac26018dc28f77afbb3f008c3f66">xb::xbFile</a></li>
+<li>DisableMsgLogging()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#ae357fac4fdebdf49e46563cf611caf65">xb::xbXBase</a></li>
+<li>DisplayError()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">xb::xbSsv</a></li>
+<li>DisplayTableList()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#a5eebffb9e8cc64141e35c2622045cb50">xb::xbTblMgr</a></li>
+<li>DumpHeader()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a47643728f74cf3b6e0ffc55259895bdb">xb::xbDbf</a></li>
+<li>DumpRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aba30399f15885a07f87f904c0d0656fa">xb::xbDbf</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_e.html b/docs/doxygen/html/functions_e.html
new file mode 100644
index 0000000..f5c1f56
--- /dev/null
+++ b/docs/doxygen/html/functions_e.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
+<li>eGetDouble()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ab14e4a11427f5efb81cba1dd32bd1aa1">xb::xbFile</a></li>
+<li>eGetInt16()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ac40c991110ddc6fb30a72d90f4652762">xb::xbFile</a></li>
+<li>eGetInt32()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a60b24a5afc984c586bf384c7e915ba0d">xb::xbFile</a></li>
+<li>eGetUInt16()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a936ade458e6d5e6d29f9b5031888d189">xb::xbFile</a></li>
+<li>eGetUInt32()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a78f052529d39a18deaface5a0d47d0b0">xb::xbFile</a></li>
+<li>EnableMsgLogging()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a470e6eb0ed0be60338f9b40976d3ad48">xb::xbXBase</a></li>
+<li>ePutDouble()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a98b6ff533ae93f90c977a2ba23eeb105">xb::xbFile</a></li>
+<li>ePutInt16()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a29130f12739ac8fa837f4eaedf1338b2">xb::xbFile</a></li>
+<li>ePutInt32()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a19c37f76a2ccbb45019cb0fc373d3f46">xb::xbFile</a></li>
+<li>ePutUInt16()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a65e9839f92b96eac7b0d071fac3bbe40">xb::xbFile</a></li>
+<li>ePutUInt32()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#aa3f6ceae4b96f24875d86848bf13a173">xb::xbFile</a></li>
+<li>ErrorCodeText&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a6219f1b5e24ea12fe158cd5aea56988e">xb::xbSsv</a></li>
+<li>ExtractElement()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a6b33a8df49cdcb76033cbce5d8dc59d7">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_f.html b/docs/doxygen/html/functions_f.html
new file mode 100644
index 0000000..152931e
--- /dev/null
+++ b/docs/doxygen/html/functions_f.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
+<li>FileExists()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a78bd8a11dce102647095baf3aff2b006">xb::xbFile</a></li>
+<li>FileIsOpen()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a7fa837938a32dc9ca3fbc81cbaf50f59">xb::xbFile</a></li>
+<li>FlushLog()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a5a5ecaed9777978344902446c9ae3b8e">xb::xbXBase</a></li>
+<li>FormatDate()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a01de44dc869f7db99f33046fc91f2c6a">xb::xbDate</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func.html b/docs/doxygen/html/functions_func.html
new file mode 100644
index 0000000..47e8f65
--- /dev/null
+++ b/docs/doxygen/html/functions_func.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
+<li>Abort()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a4edcf31390fbdc8c3558004770fd9f2f">xb::xbDbf</a></li>
+<li>AddBackSlash()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a6c4fdb689d27a9d19a0b5b4236e1ca62">xb::xbString</a></li>
+<li>AddTblToTblList()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#af16832ff2bfaee09265652e0fc03709a">xb::xbTblMgr</a></li>
+<li>Append()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a8f202e4798491f2ae9ce51ff58dd5815">xb::xbString</a></li>
+<li>AppendRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a5b412dd796241673eb1aa2c93513d69b">xb::xbDbf</a></li>
+<li>Assign()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a85bef82dfa22122a1ab8dfe58a107d96">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_b.html b/docs/doxygen/html/functions_func_b.html
new file mode 100644
index 0000000..82917cf
--- /dev/null
+++ b/docs/doxygen/html/functions_func_b.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
+<li>BitDump()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a8551b15a3ce4fa2a40d698db01f4a9ae">xb::xbSsv</a></li>
+<li>BitSet()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72">xb::xbSsv</a></li>
+<li>BlankRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a78da5a3d2011a3f2e7618cbdd3ba02d6">xb::xbDbf</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_c.html b/docs/doxygen/html/functions_func_c.html
new file mode 100644
index 0000000..a83cc00
--- /dev/null
+++ b/docs/doxygen/html/functions_func_c.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
+<li>CalcRollingCenturyForYear()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a9df58caa54105c489c314785c457e8cb">xb::xbDate</a></li>
+<li>CenturyOf()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a38b2c5285c69ed65e94ece6c22dafde0">xb::xbDate</a></li>
+<li>CharDayOf()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a9fc29730b66cddfbb58c69992a99cc7c">xb::xbDate</a></li>
+<li>CharMonthOf()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#afffc84f02bd421335ff8ebe9fb3db0ac">xb::xbDate</a></li>
+<li>Close()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad68d73113e54e1b5f326e90f45e9989d">xb::xbDbf</a></li>
+<li>CloseAllTables()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#afccb552ca0daff779c0500ff20d22c2b">xb::xbXBase</a></li>
+<li>Commit()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#abd69532c885ab72bcf3fb5066b318f4f">xb::xbDbf</a></li>
+<li>Copy()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#ac7a8466b03c04df838bd182ef244f792">xb::xbString</a></li>
+<li>CopyDbfStructure()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a829c615a130a1fdf609d93438d8a6264">xb::xbDbf</a></li>
+<li>CountChar()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a26bc14d92dc7ce1f2bf31cd74af0db0f">xb::xbString</a></li>
+<li>CreateFqn()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#aa41240d920b604dcbd91dce7eecb78e1">xb::xbXBase</a></li>
+<li>CreateTable()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a73e41bfe679dd06ab16c436652df93f1">xb::xbDbf</a></li>
+<li>CreateUniqueFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ad39797624a752b9d62533d00fad9feff">xb::xbFile</a></li>
+<li>CTOD()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#abb1eb4b0394e4a67aadab15779b1b8c5">xb::xbDate</a></li>
+<li>CvtHexChar()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a0a737bd408a94903f214eb2879eb56de">xb::xbString</a></li>
+<li>CvtHexString()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#ab5eb6918a0ae9ab6c0e961318f3d1eb0">xb::xbString</a></li>
+<li>CvtLongLong()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#ae3ab18365e132323f8ae4c99eb72181c">xb::xbString</a></li>
+<li>CvtULongLong()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a1528b30b84a41c3564ef31d1f4496b15">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_d.html b/docs/doxygen/html/functions_func_d.html
new file mode 100644
index 0000000..fef3ac9
--- /dev/null
+++ b/docs/doxygen/html/functions_func_d.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
+<li>DateIsValid()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a367f66ef0c03c1747c12a18784554ccb">xb::xbDate</a></li>
+<li>DayOf()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#ad6417a900ce64a46f8909c0c7a2ddea2">xb::xbDate</a></li>
+<li>DeleteAll()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a01c26b67e312be1e674b3da710e031b9">xb::xbDbf</a></li>
+<li>DeleteAllRecords()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a3067fdfa3a7a5c15651f6e89d1102176">xb::xbDbf</a></li>
+<li>DeleteRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#acd8c10579229f3a2e2c5fdb7fcef90db">xb::xbDbf</a></li>
+<li>DeleteTable()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a4085ed4f049d976124d8edc3d3c56397">xb::xbDbf</a></li>
+<li>DetermineXbaseMemoVersion()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a5a740033664c9ad2611c90e2a6d0c2d3">xb::xbFile</a></li>
+<li>DetermineXbaseTableVersion()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ae2b6ac26018dc28f77afbb3f008c3f66">xb::xbFile</a></li>
+<li>DisableMsgLogging()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#ae357fac4fdebdf49e46563cf611caf65">xb::xbXBase</a></li>
+<li>DisplayError()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d">xb::xbSsv</a></li>
+<li>DisplayTableList()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#a5eebffb9e8cc64141e35c2622045cb50">xb::xbTblMgr</a></li>
+<li>DumpHeader()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a47643728f74cf3b6e0ffc55259895bdb">xb::xbDbf</a></li>
+<li>DumpRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aba30399f15885a07f87f904c0d0656fa">xb::xbDbf</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_e.html b/docs/doxygen/html/functions_func_e.html
new file mode 100644
index 0000000..650358a
--- /dev/null
+++ b/docs/doxygen/html/functions_func_e.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
+<li>eGetDouble()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ab14e4a11427f5efb81cba1dd32bd1aa1">xb::xbFile</a></li>
+<li>eGetInt16()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ac40c991110ddc6fb30a72d90f4652762">xb::xbFile</a></li>
+<li>eGetInt32()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a60b24a5afc984c586bf384c7e915ba0d">xb::xbFile</a></li>
+<li>eGetUInt16()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a936ade458e6d5e6d29f9b5031888d189">xb::xbFile</a></li>
+<li>eGetUInt32()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a78f052529d39a18deaface5a0d47d0b0">xb::xbFile</a></li>
+<li>EnableMsgLogging()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a470e6eb0ed0be60338f9b40976d3ad48">xb::xbXBase</a></li>
+<li>ePutDouble()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a98b6ff533ae93f90c977a2ba23eeb105">xb::xbFile</a></li>
+<li>ePutInt16()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a29130f12739ac8fa837f4eaedf1338b2">xb::xbFile</a></li>
+<li>ePutInt32()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a19c37f76a2ccbb45019cb0fc373d3f46">xb::xbFile</a></li>
+<li>ePutUInt16()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a65e9839f92b96eac7b0d071fac3bbe40">xb::xbFile</a></li>
+<li>ePutUInt32()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#aa3f6ceae4b96f24875d86848bf13a173">xb::xbFile</a></li>
+<li>ExtractElement()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a6b33a8df49cdcb76033cbce5d8dc59d7">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_f.html b/docs/doxygen/html/functions_func_f.html
new file mode 100644
index 0000000..dfdd58b
--- /dev/null
+++ b/docs/doxygen/html/functions_func_f.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
+<li>FileExists()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a78bd8a11dce102647095baf3aff2b006">xb::xbFile</a></li>
+<li>FileIsOpen()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a7fa837938a32dc9ca3fbc81cbaf50f59">xb::xbFile</a></li>
+<li>FlushLog()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a5a5ecaed9777978344902446c9ae3b8e">xb::xbXBase</a></li>
+<li>FormatDate()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a01de44dc869f7db99f33046fc91f2c6a">xb::xbDate</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_g.html b/docs/doxygen/html/functions_func_g.html
new file mode 100644
index 0000000..63c14bb
--- /dev/null
+++ b/docs/doxygen/html/functions_func_g.html
@@ -0,0 +1,143 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_g" name="index_g"></a>- g -</h3><ul>
+<li>GetAutoCommit()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ae0c00226fd2ea7a67f101e795467ed68">xb::xbDbf</a></li>
+<li>GetBlockSize()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a638e14262410a1627819f016a16cdce2">xb::xbFile</a></li>
+<li>GetBof()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad0827a43c025c1184ffebab74cc9e779">xb::xbDbf</a></li>
+<li>GetCharacter()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a685187a5f8401b322fc61f3fbe56330d">xb::xbString</a></li>
+<li>GetCmdLineOpt()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#aadecb3ac460d8e94b88b2e809e22f48e">xb::xbXBase</a></li>
+<li>GetCurRecNo()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a643a80a3792a52760c8e09ba18719503">xb::xbDbf</a></li>
+<li>GetDataDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">xb::xbSsv</a></li>
+<li>GetDateField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#af78ef1fba949463ff7f829d3cffc4555">xb::xbDbf</a></li>
+<li>GetDbfPtr()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#ad8a5d28a2ee6720a9aa74bcb45662cf5">xb::xbTblMgr</a></li>
+<li>GetDbfStatus()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ac1110d867ba297a52c8b0e83e88f05e6">xb::xbDbf</a></li>
+<li>GetDefaultAutoCommit()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">xb::xbSsv</a></li>
+<li>GetDefaultDateFormat()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">xb::xbSsv</a></li>
+<li>GetDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#acd0fb2166b2bff7e8a1cf65a7bc8be1e">xb::xbFile</a></li>
+<li>GetDoubleField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a4556041a7ff2f6b6f986729901c11f08">xb::xbDbf</a></li>
+<li>GetEndianType()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">xb::xbSsv</a></li>
+<li>GetEof()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a256dc1f98626fa77da24e91a38ab5b4d">xb::xbDbf</a></li>
+<li>GetErrorMessage()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">xb::xbSsv</a></li>
+<li>GetField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad245a26eb8b79610c9ae7bab19e05513">xb::xbDbf</a></li>
+<li>GetFieldCnt()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#add27d8ef555a13b336b8c804165dc15e">xb::xbDbf</a></li>
+<li>GetFieldDecimal()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a607f774fcd6dc0b9913d7a7801b60db2">xb::xbDbf</a></li>
+<li>GetFieldLen()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#adda4302b58cc6109b048f19d9b68bbd4">xb::xbDbf</a></li>
+<li>GetFieldName()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a5e3e4368bfba1724c016b8859023e34c">xb::xbDbf</a></li>
+<li>GetFieldNo()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aed9113b5095c6df1b9c854cbd0d8047b">xb::xbDbf</a></li>
+<li>GetFieldType()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a5143973e4f165651152aa13c8fd45f84">xb::xbDbf</a></li>
+<li>GetFileDirPart()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a60c53998e3d1b694134b20a87bc9bf5a">xb::xbFile</a></li>
+<li>GetFileExtPart()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ab289b6ffe955321160c1f90220c22e25">xb::xbFile</a></li>
+<li>GetFileMtime()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a02df78f4c90313243f508fc56b95aba8">xb::xbFile</a></li>
+<li>GetFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ac95cb882ccbcdedc9a233c6ad9fed07a">xb::xbFile</a></li>
+<li>GetFileNamePart()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a81422b3dd52763d2cc6c77237ec9af0a">xb::xbFile</a></li>
+<li>GetFileSize()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a50b63c39e49d44e52078038027b24cc5">xb::xbFile</a></li>
+<li>GetFileType()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a5548236d38d43b89ae29b9a015b1f678">xb::xbFile</a></li>
+<li>GetFirstRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a6fc5b8a3e2f177d5ceaf9d975cbb5226">xb::xbDbf</a></li>
+<li>GetFloatField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a3443f646038ced14425f067a59c0f2da">xb::xbDbf</a></li>
+<li>GetFqFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a31b4e641f93206ba23e2a5a27491dcd4">xb::xbFile</a></li>
+<li>GetFunctionInfo()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#ae52e53340593b4253936c1372ec15ee1">xb::xbXBase</a></li>
+<li>GetHeaderLen()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad56be2756b7a9f8318d9ba5cf215dafb">xb::xbDbf</a></li>
+<li>GetHomeDir()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">xb::xbSsv</a></li>
+<li>GetLastPos()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#ac7698665f44413a5e99a5b5bc573c6df">xb::xbString</a></li>
+<li>GetLastRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a49e667f9c8ee55c36444702663fc5964">xb::xbDbf</a></li>
+<li>GetLogDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a4822315bded3969b59aeeb683c373051">xb::xbSsv</a></li>
+<li>GetLogFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#afaef09435be73b3111f5edbd7091d861">xb::xbSsv</a></li>
+<li>GetLogFqFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#ab5d63cd7d9137eba8a1d4d9c3df522b7">xb::xbXBase</a></li>
+<li>GetLogicalField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab28feef20c988b0a6f1c1911a45377b0">xb::xbDbf</a></li>
+<li>GetLogSize()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#aedb4c2aa2c90e4529915198a2305b355">xb::xbXBase</a></li>
+<li>GetLogStatus()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#ade34cd72c2a7e70fb55429a8a6f6c028">xb::xbXBase</a></li>
+<li>GetLongField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#abe525c0820640e0a9e169d0b7913cfa1">xb::xbDbf</a></li>
+<li>GetMultiUser()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">xb::xbSsv</a></li>
+<li>GetNextRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab896fe3b734f556de578d30f92b18fe2">xb::xbDbf</a></li>
+<li>GetNullSts()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a7930fe8b930c6d646b7b0d3df576fe9e">xb::xbDbf</a></li>
+<li>GetOpenMode()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a3c500dc9dac22c49496e4b29386b2dd3">xb::xbFile</a></li>
+<li>GetOpenTableCount()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#ad0d2d4adabc0dc0e761cfdee63c84069">xb::xbTblMgr</a></li>
+<li>GetPathSeparator()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">xb::xbSsv</a>, <a class="el" href="classxb_1_1xbString.html#af8b8b808cf43cd352321b43f500142db">xb::xbString</a></li>
+<li>GetPrevRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab3d248e5221b4f0809897cd43af17a1e">xb::xbDbf</a></li>
+<li>GetRawField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aabd146c0e1054ab905ec96aedd84b02e">xb::xbDbf</a></li>
+<li>GetRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a26fba086b07caeab95066bf1c8d25161">xb::xbDbf</a></li>
+<li>GetRecordBuf()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aa3e38c4057d726a28a27d07a1610d124">xb::xbDbf</a></li>
+<li>GetRecordCnt()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ac196ad55335e1f4789d698748434dc89">xb::xbDbf</a></li>
+<li>GetRecordLen()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab50d76c6e29e81e347a6feb04c2f62bb">xb::xbDbf</a></li>
+<li>GetShareMode()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a9b63e05b77f477ff6109ff7b9432c1b6">xb::xbFile</a></li>
+<li>GetSize()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a6c33e73659f8e98819289d2661c7271c">xb::xbString</a></li>
+<li>GetTblAlias()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a27758a325c097f204247908b65ba7fbd">xb::xbDbf</a></li>
+<li>GetTblListEntry()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#acbf148ddba4297021cfb980a161ebef9">xb::xbTblMgr</a></li>
+<li>GetTempDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">xb::xbSsv</a></li>
+<li>GetULongField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a67e3a050f9090edf69eee75aef7f5d83">xb::xbDbf</a></li>
+<li>GetVersion()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a49212a9eb17f7fa9f303e08d5fc50fc6">xb::xbDbf</a></li>
+<li>GetXbaseFileTypeByte()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#aaf2e697751a0beff41432a66bb83fb5e">xb::xbFile</a></li>
+<li>GetXbasePtr()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab21ec23c076b0c9affdc0f6672bd133f">xb::xbDbf</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_h.html b/docs/doxygen/html/functions_func_h.html
new file mode 100644
index 0000000..16e9fbf
--- /dev/null
+++ b/docs/doxygen/html/functions_func_h.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_h" name="index_h"></a>- h -</h3><ul>
+<li>HasAlphaChars()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#aa13f6b72e5a529eab04545892bbc98b4">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_i.html b/docs/doxygen/html/functions_func_i.html
new file mode 100644
index 0000000..d389a63
--- /dev/null
+++ b/docs/doxygen/html/functions_func_i.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
+<li>InitVars()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad06fe0f7975fb81125d27d82504e6829">xb::xbDbf</a></li>
+<li>IsEmpty()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a4a255a30d683acd62ea09c1617b53cb3">xb::xbString</a></li>
+<li>IsLeapYear()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#af2bd33a72448e2c5ee00d8b711dc5d95">xb::xbDate</a></li>
+<li>IsNull()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a611a64b14ff89ad3c20b34081ea1e658">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a3fa34fa31bcb7244ecb054ab628ad500">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_j.html b/docs/doxygen/html/functions_func_j.html
new file mode 100644
index 0000000..8624d83
--- /dev/null
+++ b/docs/doxygen/html/functions_func_j.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_j" name="index_j"></a>- j -</h3><ul>
+<li>JulianDays()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a1ee3377d4ead9d31099eee539d9b13a7">xb::xbDate</a></li>
+<li>JulToDate8()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a9d28b2a46d8aaa284b92f44eeb96b2ff">xb::xbDate</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_l.html b/docs/doxygen/html/functions_func_l.html
new file mode 100644
index 0000000..3e81352
--- /dev/null
+++ b/docs/doxygen/html/functions_func_l.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
+<li>LastDayOfMonth()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a15847866bb7642aa42bc254e0cf2038a">xb::xbDate</a></li>
+<li>Left()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#acdc3a6d6955b99f0a6b1d181fb3098b9">xb::xbString</a></li>
+<li>Len()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a998b240eedac311aea5843047f55649b">xb::xbString</a></li>
+<li>Ltrim()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a90e0d0be4fd0d82dd2ebbe689adf18ee">xb::xbString</a></li>
+<li>Ltrunc()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a656f5854f74064b7257ff96d96dfb68b">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_m.html b/docs/doxygen/html/functions_func_m.html
new file mode 100644
index 0000000..cf56d43
--- /dev/null
+++ b/docs/doxygen/html/functions_func_m.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
+<li>MemoFieldsExist()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a013dc8c51fc1aa988de39cf3da6da950">xb::xbDbf</a></li>
+<li>Mid()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a0f9eefc836b24c4ee7c5a316c5d812b7">xb::xbString</a></li>
+<li>MonthOf()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a08bd84c67e1119d8c5c1748cd89d092e">xb::xbDate</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_n.html b/docs/doxygen/html/functions_func_n.html
new file mode 100644
index 0000000..d46a5b1
--- /dev/null
+++ b/docs/doxygen/html/functions_func_n.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
+<li>NameSuffixMissing()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a361e3cc318bbf1c4d10f069e0800a24e">xb::xbFile</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_o.html b/docs/doxygen/html/functions_func_o.html
new file mode 100644
index 0000000..09eacbf
--- /dev/null
+++ b/docs/doxygen/html/functions_func_o.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
+<li>Open()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ae388c5e02adc86e6e9988e697e061610">xb::xbDbf</a>, <a class="el" href="classxb_1_1xbXBase.html#aafb1abd6b6124cddf635adaf9f615a4a">xb::xbXBase</a></li>
+<li>OpenHighestVersion()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#aa957eb502ecd076e5df89e7415cb094b">xb::xbXBase</a></li>
+<li>operator const char *()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a545df0ae9590f0ea5844a165e38a6388">xb::xbString</a></li>
+<li>operator!=()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#ac3aaf8997fc0c36676085e7741f33a8a">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#acf89691607050b0505dc6af28d059c38">xb::xbString</a></li>
+<li>operator+()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#ad09609bf78cf038886a4f9cd19423f9c">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#aab556e8c3cb478dd95643327d72a48bd">xb::xbString</a></li>
+<li>operator++()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a1c7d9e3718c43df18b21646072c8605e">xb::xbDate</a></li>
+<li>operator+=()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a947ba156d04fe063aaa4c9964ae5d163">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a76a47af239797a266ada6141c150001c">xb::xbString</a></li>
+<li>operator-()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a3f3a8802c96098c85aa8d0e19717a979">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a06abec236b95f6933ba17bf67089f7cf">xb::xbString</a></li>
+<li>operator--()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#ae2b33dfee60d324916d833b2098b5a6b">xb::xbDate</a></li>
+<li>operator-=()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a4a8f207d759540114373f5e9d6d375f7">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#aa7f4db1b4eae9dfad46346db6e17ea15">xb::xbString</a></li>
+<li>operator&lt;()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a11f09d97ed527e7ef00ba6f17b9fb02c">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a71c7aafa0d523c72cbe58c474be2270a">xb::xbString</a></li>
+<li>operator&lt;=()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a6d8fa4df4664f3fd8d4cc15e77f6d046">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a461f245e60cddfdf5f78a972a46e5880">xb::xbString</a></li>
+<li>operator=()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a2e33ad9415c32e820e08fd8084198690">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a4f69d11cbd43edf71725a606d0ca8f40">xb::xbString</a></li>
+<li>operator==()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#aaaf98c1a672066021895f0953b6e94d0">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a2df3ed2fc9456214f5fd2fcf77b69bc1">xb::xbString</a></li>
+<li>operator&gt;()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a744031c4031d6ec4595d34acbd1c5860">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#ae46f6a45da5686b607a4edf2786a2fff">xb::xbString</a></li>
+<li>operator&gt;=()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a1d81959ea55440588068ea7f82617c99">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a8f16643cb7ba3ee9cf685422c9ea0e67">xb::xbString</a></li>
+<li>operator[]()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#abe45e463226ac8e18550ced18c5a9df3">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_p.html b/docs/doxygen/html/functions_func_p.html
new file mode 100644
index 0000000..3985e96
--- /dev/null
+++ b/docs/doxygen/html/functions_func_p.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
+<li>Pack()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a93bb14ad0451355bfa3379128120988a">xb::xbDbf</a></li>
+<li>PadLeft()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a6a09cfed22066b0c72432f26960f9e7b">xb::xbString</a></li>
+<li>PadRight()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#aba13f0c77eb6c4a22996039569fad284">xb::xbString</a></li>
+<li>Pos()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a1b586890138da8bf0e23090bd8b34581">xb::xbString</a></li>
+<li>PutAt()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a1bae6fa8f608261f6e889616482f6e39">xb::xbString</a></li>
+<li>PutDateField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a873f04af528a9d81e6a367a59d998ec5">xb::xbDbf</a></li>
+<li>PutDoubleField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a4f34842d7e8ff1f16992c2ece2fc38a5">xb::xbDbf</a></li>
+<li>PutField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a142b0c0dc904917f3c68c5572c1237b5">xb::xbDbf</a></li>
+<li>PutFloatField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a64161eb50d72e424b11bf3732657ebd8">xb::xbDbf</a></li>
+<li>PutLogicalField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab39ac4269ac63bc7ea4f638733bb17f0">xb::xbDbf</a></li>
+<li>PutLongField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a56c8f924284bf88aabf90b7930b4eb47">xb::xbDbf</a></li>
+<li>PutRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a3c36a5ffbc7067a1abbcb526dd3b981d">xb::xbDbf</a></li>
+<li>PutULongField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#af5dec5c9ff903efffdb0490a44d296d2">xb::xbDbf</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_r.html b/docs/doxygen/html/functions_func_r.html
new file mode 100644
index 0000000..87f9921
--- /dev/null
+++ b/docs/doxygen/html/functions_func_r.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
+<li>ReadBlock()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#aa1bb80340abc7a5c22f87f878e9dc825">xb::xbFile</a></li>
+<li>ReadHeader()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a060541addb5bb1f0fe12959ed6f66fb9">xb::xbDbf</a></li>
+<li>RecordDeleted()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a94d7d626ba691fd4b740c034673e6fc6">xb::xbDbf</a></li>
+<li>Remove()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#afaac65eaa6d9ef1596d6a0e7b91ed0f2">xb::xbString</a></li>
+<li>RemoveTblFromTblList()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#ac8eaef41acf08911b90f900aac8e70af">xb::xbTblMgr</a></li>
+<li>Rename()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aeeeb2eb5fabcd0f91d457df07b0e0708">xb::xbDbf</a></li>
+<li>Replace()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#ac721d643c60b5c5acf60c2bce99596fa">xb::xbString</a></li>
+<li>Resize()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#aa6d346ab04e5bb8852f0bb996163a35e">xb::xbString</a></li>
+<li>Rtrim()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#aaf330188d67c347ecae0d16f65b22077">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_s.html b/docs/doxygen/html/functions_func_s.html
new file mode 100644
index 0000000..ae5806a
--- /dev/null
+++ b/docs/doxygen/html/functions_func_s.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
+<li>Set()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a4b0cde152b5de0f7d26608d1445110b6">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#ab85753d2c39882e946a8468cbb587700">xb::xbString</a></li>
+<li>SetAutoCommit()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a4cf7f0d423164f3cf074ae41f96f4e90">xb::xbDbf</a></li>
+<li>SetBlockSize()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a991c5676a6f38fa752435390989f413e">xb::xbFile</a></li>
+<li>SetDataDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">xb::xbSsv</a></li>
+<li>SetDefaultAutoCommit()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">xb::xbSsv</a></li>
+<li>SetDefaultDateFormat()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">xb::xbSsv</a></li>
+<li>SetDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ae78a85255488bc78964c16946dbaead3">xb::xbFile</a></li>
+<li>SetEndianType()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">xb::xbSsv</a></li>
+<li>SetFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a5419eb27e56822f828b2b88a9502a636">xb::xbFile</a></li>
+<li>SetFqFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#aee832fa11db2077a532f49e1329bd05a">xb::xbFile</a></li>
+<li>SetHomeFolders()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a060acbfaa8d528f86cb59301814b414a">xb::xbFile</a></li>
+<li>SetLogDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a7b992ed97281bf25b5b66f5df686225e">xb::xbSsv</a></li>
+<li>SetLogFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a7f05738e7dfd759e89990242ef503544">xb::xbSsv</a></li>
+<li>SetLogSize()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a666a0cb5b76ec7a9a3677d339e0c6b42">xb::xbXBase</a></li>
+<li>SetMultiUser()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">xb::xbSsv</a></li>
+<li>SetNum()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a3af5b1f111f94b0667551fcbd1d97abd">xb::xbString</a></li>
+<li>SetTempDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">xb::xbSsv</a></li>
+<li>SetVersion()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a7e63e852418f337eb7c44de5dcd50323">xb::xbDbf</a></li>
+<li>Sprintf()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a9e9bfa29d86377b915f1628aeb0e9195">xb::xbString</a></li>
+<li>Str()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#ab43a5d8d929767c0ffdd722972bb8cc0">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a6715f4c0010f3ab487c9d787838a29b3">xb::xbString</a></li>
+<li>strncpy()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a3bc9e856c34f0c240a6e36e5b6e3ea7b">xb::xbString</a></li>
+<li>SwapChars()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a054683872e1f05d11c2cf8683a63a6fe">xb::xbString</a></li>
+<li>Sysdate()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a40ba54a58d64cf56266f020f91584192">xb::xbDate</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_t.html b/docs/doxygen/html/functions_func_t.html
new file mode 100644
index 0000000..f711fd7
--- /dev/null
+++ b/docs/doxygen/html/functions_func_t.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
+<li>ToLowerCase()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a602cac1a6ef3f6b52f587ac4c0ef4fb2">xb::xbString</a></li>
+<li>ToUpperCase()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a68001d0a44e6b4fe61e29a4e41ded9d4">xb::xbString</a></li>
+<li>Trim()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#abc9bd33687d4e03ca52d77885721d626">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_u.html b/docs/doxygen/html/functions_func_u.html
new file mode 100644
index 0000000..d607254
--- /dev/null
+++ b/docs/doxygen/html/functions_func_u.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
+<li>UndeleteAllRecords()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ae94cb1bf9f75184f39d9e1a80ab49d4a">xb::xbDbf</a></li>
+<li>UndeleteRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a255681976a04fc722538bb630507b3a0">xb::xbDbf</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_v.html b/docs/doxygen/html/functions_func_v.html
new file mode 100644
index 0000000..5be4554
--- /dev/null
+++ b/docs/doxygen/html/functions_func_v.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_v" name="index_v"></a>- v -</h3><ul>
+<li>ValidateSchema()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aba5dcac3b4092261bc1669740cdd669d">xb::xbDbf</a></li>
+<li>ValidLogicalValue()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a72b16c15fd8822efaa5f158c34df7b1e">xb::xbString</a></li>
+<li>ValidNumericValue()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#aeed920d2a25111f776ddde2d530eb81b">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_w.html b/docs/doxygen/html/functions_func_w.html
new file mode 100644
index 0000000..05f56b1
--- /dev/null
+++ b/docs/doxygen/html/functions_func_w.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_w" name="index_w"></a>- w -</h3><ul>
+<li>WriteBlock()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a5d871dcfecc2b4338f7a13722aab766c">xb::xbFile</a></li>
+<li>WriteHeader()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a44e1410109ef7b3d11a6af4b704b62b2">xb::xbDbf</a></li>
+<li>WriteLogBytes()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a0dff00b9ee3c288841e137ca01168116">xb::xbXBase</a></li>
+<li>WriteLogMessage()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a9ca5be73abffd0fdd18bdc799877272a">xb::xbXBase</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_x.html b/docs/doxygen/html/functions_func_x.html
new file mode 100644
index 0000000..b5fe61e
--- /dev/null
+++ b/docs/doxygen/html/functions_func_x.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_x" name="index_x"></a>- x -</h3><ul>
+<li>xbDate()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#ac8a4d9330221a3daee21b3c28c1d9719">xb::xbDate</a></li>
+<li>xbDbf()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a84a75f80bc0e9b8a22b728767949c204">xb::xbDbf</a></li>
+<li>xbFclose()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a18830b5755d74818f60d9c7ce38ddf2d">xb::xbFile</a></li>
+<li>xbFeof()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#af5b6356832d2a67212070a1aa605f170">xb::xbFile</a></li>
+<li>xbFflush()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ad205184d43409f04216540ae22f15009">xb::xbFile</a></li>
+<li>xbFgetc()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#afb1c584d2895ffb7834df80aea7eb1e4">xb::xbFile</a></li>
+<li>xbFgets()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ad245955ace26e5dde85fd4373b30d026">xb::xbFile</a></li>
+<li>xbFile()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a869eedd74c6eddc308852eb546c87176">xb::xbFile</a></li>
+<li>xbFopen()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a7cdfef5ede9ac98d44a28a6b7a70972c">xb::xbFile</a></li>
+<li>xbFputc()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#af2e940c78956e5cb6824f9a1bc404896">xb::xbFile</a></li>
+<li>xbFputs()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a698f3b40216778562e639e6ca1a47573">xb::xbFile</a></li>
+<li>xbFread()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ab4f6afaa1f77539f27a4f05c26e54e2f">xb::xbFile</a></li>
+<li>xbFseek()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a5337ab8918df240910c0d19b4f298e3d">xb::xbFile</a></li>
+<li>xbFtell()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a0e1c06aedfa7fbcb92e117f891edd13b">xb::xbFile</a></li>
+<li>xbFTurnOffFileBuffering()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a9891b792f585a696f38a5cf959e30918">xb::xbFile</a></li>
+<li>xbFwrite()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a6aadd871d1782944703fed773d44b85f">xb::xbFile</a></li>
+<li>xbMemcmp()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a1b239c021358476382942522911b5c66">xb::xbXBase</a></li>
+<li>xbReadUntil()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a08463f506f425c2385acbe1a561506e9">xb::xbFile</a></li>
+<li>xbRemove()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a6d919366c2ec95e529906bf8842cbf07">xb::xbFile</a></li>
+<li>xbRename()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#afc8ce113aa72611a278233f9bb170012">xb::xbFile</a></li>
+<li>xbRewind()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a7996b6e084665c37c3892faea64b3505">xb::xbFile</a></li>
+<li>xbSleep()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a0915aff7be4b2dd3e881f3c5d0da4baf">xb::xbXBase</a></li>
+<li>xbSsv()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a58f85692c3167af20b1a7c17c621523b">xb::xbSsv</a></li>
+<li>xbString()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a63f9313217e0ff3c9789ec59316216a1">xb::xbString</a></li>
+<li>xbTblMgr()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#aad83f5ecc184ca6cbdfc6f356b598d6c">xb::xbTblMgr</a></li>
+<li>xbTruncate()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a518bfcbfa3699d883cf89affee383296">xb::xbFile</a></li>
+<li>xbXBase()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a6c68588e33946fb5416af3f86fe83224">xb::xbXBase</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_y.html b/docs/doxygen/html/functions_func_y.html
new file mode 100644
index 0000000..7da0e45
--- /dev/null
+++ b/docs/doxygen/html/functions_func_y.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_y" name="index_y"></a>- y -</h3><ul>
+<li>YearOf()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a31057dfaa36389a16e40e3db82c46262">xb::xbDate</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_z.html b/docs/doxygen/html/functions_func_z.html
new file mode 100644
index 0000000..93817cc
--- /dev/null
+++ b/docs/doxygen/html/functions_func_z.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_z" name="index_z"></a>- z -</h3><ul>
+<li>Zap()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a8ed0693b10b95aaa4e46037758d160ed">xb::xbDbf</a></li>
+<li>ZapChar()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a2fd30956a26a260d1ef6fdbe73dd93f9">xb::xbString</a></li>
+<li>ZapLeadingChar()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#addc3a470f6cd85d4c21bf9da38cf5ac9">xb::xbString</a></li>
+<li>ZapTrailingChar()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#afe3415bfa2e1089b792aeda0462fb99e">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_func_~.html b/docs/doxygen/html/functions_func_~.html
new file mode 100644
index 0000000..27db43a
--- /dev/null
+++ b/docs/doxygen/html/functions_func_~.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index__7E" name="index__7E"></a>- ~ -</h3><ul>
+<li>~xbDate()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a05c9680c6eb9fe07ecf13a189b596c37">xb::xbDate</a></li>
+<li>~xbDbf()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a7eb87521fba8a939c613056d9918d880">xb::xbDbf</a></li>
+<li>~xbFile()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a491f6c48076e89da2e791a42b2727a90">xb::xbFile</a></li>
+<li>~xbString()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a10a6549efab02bc76ab33b15916b1eb1">xb::xbString</a></li>
+<li>~xbTblMgr()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#aad6be32d7b3378c71d47fa27ebfe6cbf">xb::xbTblMgr</a></li>
+<li>~xbXBase()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a204f8634894ac2066d3209117803306d">xb::xbXBase</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_g.html b/docs/doxygen/html/functions_g.html
new file mode 100644
index 0000000..b816f89
--- /dev/null
+++ b/docs/doxygen/html/functions_g.html
@@ -0,0 +1,143 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_g" name="index_g"></a>- g -</h3><ul>
+<li>GetAutoCommit()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ae0c00226fd2ea7a67f101e795467ed68">xb::xbDbf</a></li>
+<li>GetBlockSize()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a638e14262410a1627819f016a16cdce2">xb::xbFile</a></li>
+<li>GetBof()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad0827a43c025c1184ffebab74cc9e779">xb::xbDbf</a></li>
+<li>GetCharacter()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a685187a5f8401b322fc61f3fbe56330d">xb::xbString</a></li>
+<li>GetCmdLineOpt()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#aadecb3ac460d8e94b88b2e809e22f48e">xb::xbXBase</a></li>
+<li>GetCurRecNo()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a643a80a3792a52760c8e09ba18719503">xb::xbDbf</a></li>
+<li>GetDataDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9">xb::xbSsv</a></li>
+<li>GetDateField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#af78ef1fba949463ff7f829d3cffc4555">xb::xbDbf</a></li>
+<li>GetDbfPtr()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#ad8a5d28a2ee6720a9aa74bcb45662cf5">xb::xbTblMgr</a></li>
+<li>GetDbfStatus()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ac1110d867ba297a52c8b0e83e88f05e6">xb::xbDbf</a></li>
+<li>GetDefaultAutoCommit()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5">xb::xbSsv</a></li>
+<li>GetDefaultDateFormat()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2">xb::xbSsv</a></li>
+<li>GetDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#acd0fb2166b2bff7e8a1cf65a7bc8be1e">xb::xbFile</a></li>
+<li>GetDoubleField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a4556041a7ff2f6b6f986729901c11f08">xb::xbDbf</a></li>
+<li>GetEndianType()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243">xb::xbSsv</a></li>
+<li>GetEof()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a256dc1f98626fa77da24e91a38ab5b4d">xb::xbDbf</a></li>
+<li>GetErrorMessage()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4">xb::xbSsv</a></li>
+<li>GetField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad245a26eb8b79610c9ae7bab19e05513">xb::xbDbf</a></li>
+<li>GetFieldCnt()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#add27d8ef555a13b336b8c804165dc15e">xb::xbDbf</a></li>
+<li>GetFieldDecimal()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a607f774fcd6dc0b9913d7a7801b60db2">xb::xbDbf</a></li>
+<li>GetFieldLen()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#adda4302b58cc6109b048f19d9b68bbd4">xb::xbDbf</a></li>
+<li>GetFieldName()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a5e3e4368bfba1724c016b8859023e34c">xb::xbDbf</a></li>
+<li>GetFieldNo()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aed9113b5095c6df1b9c854cbd0d8047b">xb::xbDbf</a></li>
+<li>GetFieldType()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a5143973e4f165651152aa13c8fd45f84">xb::xbDbf</a></li>
+<li>GetFileDirPart()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a60c53998e3d1b694134b20a87bc9bf5a">xb::xbFile</a></li>
+<li>GetFileExtPart()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ab289b6ffe955321160c1f90220c22e25">xb::xbFile</a></li>
+<li>GetFileMtime()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a02df78f4c90313243f508fc56b95aba8">xb::xbFile</a></li>
+<li>GetFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ac95cb882ccbcdedc9a233c6ad9fed07a">xb::xbFile</a></li>
+<li>GetFileNamePart()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a81422b3dd52763d2cc6c77237ec9af0a">xb::xbFile</a></li>
+<li>GetFileSize()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a50b63c39e49d44e52078038027b24cc5">xb::xbFile</a></li>
+<li>GetFileType()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a5548236d38d43b89ae29b9a015b1f678">xb::xbFile</a></li>
+<li>GetFirstRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a6fc5b8a3e2f177d5ceaf9d975cbb5226">xb::xbDbf</a></li>
+<li>GetFloatField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a3443f646038ced14425f067a59c0f2da">xb::xbDbf</a></li>
+<li>GetFqFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a31b4e641f93206ba23e2a5a27491dcd4">xb::xbFile</a></li>
+<li>GetFunctionInfo()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#ae52e53340593b4253936c1372ec15ee1">xb::xbXBase</a></li>
+<li>GetHeaderLen()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad56be2756b7a9f8318d9ba5cf215dafb">xb::xbDbf</a></li>
+<li>GetHomeDir()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9">xb::xbSsv</a></li>
+<li>GetLastPos()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#ac7698665f44413a5e99a5b5bc573c6df">xb::xbString</a></li>
+<li>GetLastRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a49e667f9c8ee55c36444702663fc5964">xb::xbDbf</a></li>
+<li>GetLogDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a4822315bded3969b59aeeb683c373051">xb::xbSsv</a></li>
+<li>GetLogFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#afaef09435be73b3111f5edbd7091d861">xb::xbSsv</a></li>
+<li>GetLogFqFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#ab5d63cd7d9137eba8a1d4d9c3df522b7">xb::xbXBase</a></li>
+<li>GetLogicalField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab28feef20c988b0a6f1c1911a45377b0">xb::xbDbf</a></li>
+<li>GetLogSize()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#aedb4c2aa2c90e4529915198a2305b355">xb::xbXBase</a></li>
+<li>GetLogStatus()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#ade34cd72c2a7e70fb55429a8a6f6c028">xb::xbXBase</a></li>
+<li>GetLongField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#abe525c0820640e0a9e169d0b7913cfa1">xb::xbDbf</a></li>
+<li>GetMultiUser()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5">xb::xbSsv</a></li>
+<li>GetNextRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab896fe3b734f556de578d30f92b18fe2">xb::xbDbf</a></li>
+<li>GetNullSts()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a7930fe8b930c6d646b7b0d3df576fe9e">xb::xbDbf</a></li>
+<li>GetOpenMode()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a3c500dc9dac22c49496e4b29386b2dd3">xb::xbFile</a></li>
+<li>GetOpenTableCount()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#ad0d2d4adabc0dc0e761cfdee63c84069">xb::xbTblMgr</a></li>
+<li>GetPathSeparator()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35">xb::xbSsv</a>, <a class="el" href="classxb_1_1xbString.html#af8b8b808cf43cd352321b43f500142db">xb::xbString</a></li>
+<li>GetPrevRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab3d248e5221b4f0809897cd43af17a1e">xb::xbDbf</a></li>
+<li>GetRawField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aabd146c0e1054ab905ec96aedd84b02e">xb::xbDbf</a></li>
+<li>GetRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a26fba086b07caeab95066bf1c8d25161">xb::xbDbf</a></li>
+<li>GetRecordBuf()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aa3e38c4057d726a28a27d07a1610d124">xb::xbDbf</a></li>
+<li>GetRecordCnt()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ac196ad55335e1f4789d698748434dc89">xb::xbDbf</a></li>
+<li>GetRecordLen()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab50d76c6e29e81e347a6feb04c2f62bb">xb::xbDbf</a></li>
+<li>GetShareMode()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a9b63e05b77f477ff6109ff7b9432c1b6">xb::xbFile</a></li>
+<li>GetSize()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a6c33e73659f8e98819289d2661c7271c">xb::xbString</a></li>
+<li>GetTblAlias()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a27758a325c097f204247908b65ba7fbd">xb::xbDbf</a></li>
+<li>GetTblListEntry()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#acbf148ddba4297021cfb980a161ebef9">xb::xbTblMgr</a></li>
+<li>GetTempDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61">xb::xbSsv</a></li>
+<li>GetULongField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a67e3a050f9090edf69eee75aef7f5d83">xb::xbDbf</a></li>
+<li>GetVersion()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a49212a9eb17f7fa9f303e08d5fc50fc6">xb::xbDbf</a></li>
+<li>GetXbaseFileTypeByte()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#aaf2e697751a0beff41432a66bb83fb5e">xb::xbFile</a></li>
+<li>GetXbasePtr()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab21ec23c076b0c9affdc0f6672bd133f">xb::xbDbf</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_h.html b/docs/doxygen/html/functions_h.html
new file mode 100644
index 0000000..f8c6626
--- /dev/null
+++ b/docs/doxygen/html/functions_h.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_h" name="index_h"></a>- h -</h3><ul>
+<li>HasAlphaChars()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#aa13f6b72e5a529eab04545892bbc98b4">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_i.html b/docs/doxygen/html/functions_i.html
new file mode 100644
index 0000000..94fd6dc
--- /dev/null
+++ b/docs/doxygen/html/functions_i.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
+<li>iAutoCommit&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab506450954bc86e7bf1d7c4efe681f43">xb::xbDbf</a></li>
+<li>iDbfStatus&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a6d8e193da3ca414eef1e8866ec5ca81b">xb::xbDbf</a></li>
+<li>iEndianType&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a5849e813f5e8e1cd180f0366637adbf3">xb::xbSsv</a></li>
+<li>iFieldLen&#160;:&#160;<a class="el" href="structxb_1_1xbSchema.html#a2da554af25ef628acf59bb52996056ac">xb::xbSchema</a></li>
+<li>iFileVersion&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a15f495446f0d75bcf2fa89e3b699d388">xb::xbDbf</a></li>
+<li>iFldNo&#160;:&#160;<a class="el" href="structsFldMap.html#a42eb801a85d8b60f06c4fe1be13ca723">sFldMap</a></li>
+<li>InitVars()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad06fe0f7975fb81125d27d82504e6829">xb::xbDbf</a></li>
+<li>iNoOfDecs&#160;:&#160;<a class="el" href="structxb_1_1xbSchema.html#a55bab3bb69dee3508d168c93e182d4b9">xb::xbSchema</a></li>
+<li>iNoOfFields&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a5056757614c39f725cc775332494966a">xb::xbDbf</a></li>
+<li>iRecPos&#160;:&#160;<a class="el" href="structsFldMap.html#a02facce45c24ebecc13975c17fd52b8f">sFldMap</a></li>
+<li>IsEmpty()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a4a255a30d683acd62ea09c1617b53cb3">xb::xbString</a></li>
+<li>IsLeapYear()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#af2bd33a72448e2c5ee00d8b711dc5d95">xb::xbDate</a></li>
+<li>IsNull()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a611a64b14ff89ad3c20b34081ea1e658">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a3fa34fa31bcb7244ecb054ab628ad500">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_j.html b/docs/doxygen/html/functions_j.html
new file mode 100644
index 0000000..7c9cd00
--- /dev/null
+++ b/docs/doxygen/html/functions_j.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_j" name="index_j"></a>- j -</h3><ul>
+<li>JulianDays()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a1ee3377d4ead9d31099eee539d9b13a7">xb::xbDate</a></li>
+<li>JulToDate8()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a9d28b2a46d8aaa284b92f44eeb96b2ff">xb::xbDate</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_l.html b/docs/doxygen/html/functions_l.html
new file mode 100644
index 0000000..778f618
--- /dev/null
+++ b/docs/doxygen/html/functions_l.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
+<li>LastDayOfMonth()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a15847866bb7642aa42bc254e0cf2038a">xb::xbDate</a></li>
+<li>Left()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#acdc3a6d6955b99f0a6b1d181fb3098b9">xb::xbString</a></li>
+<li>Len()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a998b240eedac311aea5843047f55649b">xb::xbString</a></li>
+<li>Ltrim()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a90e0d0be4fd0d82dd2ebbe689adf18ee">xb::xbString</a></li>
+<li>Ltrunc()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a656f5854f74064b7257ff96d96dfb68b">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_m.html b/docs/doxygen/html/functions_m.html
new file mode 100644
index 0000000..c4bd343
--- /dev/null
+++ b/docs/doxygen/html/functions_m.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
+<li>MemoFieldsExist()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a013dc8c51fc1aa988de39cf3da6da950">xb::xbDbf</a></li>
+<li>Mid()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a0f9eefc836b24c4ee7c5a316c5d812b7">xb::xbString</a></li>
+<li>MonthOf()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a08bd84c67e1119d8c5c1748cd89d092e">xb::xbDate</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_n.html b/docs/doxygen/html/functions_n.html
new file mode 100644
index 0000000..f0a4c72
--- /dev/null
+++ b/docs/doxygen/html/functions_n.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
+<li>NameSuffixMissing()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a361e3cc318bbf1c4d10f069e0800a24e">xb::xbFile</a></li>
+<li>next&#160;:&#160;<a class="el" href="structsFldMap.html#a16eaff8fc09adc3faf453bfaa0d3baaa">sFldMap</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_o.html b/docs/doxygen/html/functions_o.html
new file mode 100644
index 0000000..95321c1
--- /dev/null
+++ b/docs/doxygen/html/functions_o.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
+<li>Open()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ae388c5e02adc86e6e9988e697e061610">xb::xbDbf</a>, <a class="el" href="classxb_1_1xbXBase.html#aafb1abd6b6124cddf635adaf9f615a4a">xb::xbXBase</a></li>
+<li>OpenHighestVersion()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#aa957eb502ecd076e5df89e7415cb094b">xb::xbXBase</a></li>
+<li>operator const char *()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a545df0ae9590f0ea5844a165e38a6388">xb::xbString</a></li>
+<li>operator!=()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#ac3aaf8997fc0c36676085e7741f33a8a">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#acf89691607050b0505dc6af28d059c38">xb::xbString</a></li>
+<li>operator+()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#ad09609bf78cf038886a4f9cd19423f9c">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#aab556e8c3cb478dd95643327d72a48bd">xb::xbString</a></li>
+<li>operator++()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a1c7d9e3718c43df18b21646072c8605e">xb::xbDate</a></li>
+<li>operator+=()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a947ba156d04fe063aaa4c9964ae5d163">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a76a47af239797a266ada6141c150001c">xb::xbString</a></li>
+<li>operator-()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a3f3a8802c96098c85aa8d0e19717a979">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a06abec236b95f6933ba17bf67089f7cf">xb::xbString</a></li>
+<li>operator--()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#ae2b33dfee60d324916d833b2098b5a6b">xb::xbDate</a></li>
+<li>operator-=()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a4a8f207d759540114373f5e9d6d375f7">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#aa7f4db1b4eae9dfad46346db6e17ea15">xb::xbString</a></li>
+<li>operator&lt;()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a11f09d97ed527e7ef00ba6f17b9fb02c">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a71c7aafa0d523c72cbe58c474be2270a">xb::xbString</a></li>
+<li>operator&lt;&lt;&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a3fa915061156521e9dd772a8d7e5f8fb">xb::xbString</a></li>
+<li>operator&lt;=()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a6d8fa4df4664f3fd8d4cc15e77f6d046">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a461f245e60cddfdf5f78a972a46e5880">xb::xbString</a></li>
+<li>operator=()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a2e33ad9415c32e820e08fd8084198690">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a4f69d11cbd43edf71725a606d0ca8f40">xb::xbString</a></li>
+<li>operator==()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#aaaf98c1a672066021895f0953b6e94d0">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a2df3ed2fc9456214f5fd2fcf77b69bc1">xb::xbString</a></li>
+<li>operator&gt;()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a744031c4031d6ec4595d34acbd1c5860">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#ae46f6a45da5686b607a4edf2786a2fff">xb::xbString</a></li>
+<li>operator&gt;=()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a1d81959ea55440588068ea7f82617c99">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a8f16643cb7ba3ee9cf685422c9ea0e67">xb::xbString</a></li>
+<li>operator[]()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#abe45e463226ac8e18550ced18c5a9df3">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_p.html b/docs/doxygen/html/functions_p.html
new file mode 100644
index 0000000..a2d9678
--- /dev/null
+++ b/docs/doxygen/html/functions_p.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
+<li>Pack()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a93bb14ad0451355bfa3379128120988a">xb::xbDbf</a></li>
+<li>PadLeft()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a6a09cfed22066b0c72432f26960f9e7b">xb::xbString</a></li>
+<li>PadRight()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#aba13f0c77eb6c4a22996039569fad284">xb::xbString</a></li>
+<li>pDbf&#160;:&#160;<a class="el" href="structxb_1_1xbTblList.html#a387d3f6bbf291a1fb96d276ed9bb96b6">xb::xbTblList</a></li>
+<li>pNext&#160;:&#160;<a class="el" href="structxb_1_1xbTblList.html#a3fd169fcf0fd4df927544e5342db583c">xb::xbTblList</a></li>
+<li>Pos()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a1b586890138da8bf0e23090bd8b34581">xb::xbString</a></li>
+<li>psFqTblName&#160;:&#160;<a class="el" href="structxb_1_1xbTblList.html#aceec65f6f6b585788cf98e8dabd2737d">xb::xbTblList</a></li>
+<li>psTblAlias&#160;:&#160;<a class="el" href="structxb_1_1xbTblList.html#ac87742c8a6b1cf2e7e35218e96966a05">xb::xbTblList</a></li>
+<li>psTblName&#160;:&#160;<a class="el" href="structxb_1_1xbTblList.html#a02c3b0c47fd104ef9758b375ecdcfd0f">xb::xbTblList</a></li>
+<li>PutAt()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a1bae6fa8f608261f6e889616482f6e39">xb::xbString</a></li>
+<li>PutDateField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a873f04af528a9d81e6a367a59d998ec5">xb::xbDbf</a></li>
+<li>PutDoubleField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a4f34842d7e8ff1f16992c2ece2fc38a5">xb::xbDbf</a></li>
+<li>PutField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a7862215dd2f83a1c488e539cd1f9aec0">xb::xbDbf</a></li>
+<li>PutFloatField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a64161eb50d72e424b11bf3732657ebd8">xb::xbDbf</a></li>
+<li>PutLogicalField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab39ac4269ac63bc7ea4f638733bb17f0">xb::xbDbf</a></li>
+<li>PutLongField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a56c8f924284bf88aabf90b7930b4eb47">xb::xbDbf</a></li>
+<li>PutRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a3c36a5ffbc7067a1abbcb526dd3b981d">xb::xbDbf</a></li>
+<li>PutULongField()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#af5dec5c9ff903efffdb0490a44d296d2">xb::xbDbf</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_r.html b/docs/doxygen/html/functions_r.html
new file mode 100644
index 0000000..f3d770b
--- /dev/null
+++ b/docs/doxygen/html/functions_r.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
+<li>ReadBlock()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#aa1bb80340abc7a5c22f87f878e9dc825">xb::xbFile</a></li>
+<li>ReadHeader()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a060541addb5bb1f0fe12959ed6f66fb9">xb::xbDbf</a></li>
+<li>RecBuf&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a8a9b3bce0b741e73473d3ebbd6e6f1cd">xb::xbDbf</a></li>
+<li>RecBuf2&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a353ebfc8a2960ef827f429ec74025606">xb::xbDbf</a></li>
+<li>RecordDeleted()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a94d7d626ba691fd4b740c034673e6fc6">xb::xbDbf</a></li>
+<li>Remove()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#afaac65eaa6d9ef1596d6a0e7b91ed0f2">xb::xbString</a></li>
+<li>RemoveTblFromTblList()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#ac8eaef41acf08911b90f900aac8e70af">xb::xbTblMgr</a></li>
+<li>Rename()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aeeeb2eb5fabcd0f91d457df07b0e0708">xb::xbDbf</a></li>
+<li>Replace()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#ac721d643c60b5c5acf60c2bce99596fa">xb::xbString</a></li>
+<li>Resize()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#aa6d346ab04e5bb8852f0bb996163a35e">xb::xbString</a></li>
+<li>Rtrim()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#aaf330188d67c347ecae0d16f65b22077">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_rela.html b/docs/doxygen/html/functions_rela.html
new file mode 100644
index 0000000..332a716
--- /dev/null
+++ b/docs/doxygen/html/functions_rela.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Related Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>operator&lt;&lt;&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a3fa915061156521e9dd772a8d7e5f8fb">xb::xbString</a></li>
+<li>xbBcd&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a86a53ce3efbf910996df0f853f1c0add">xb::xbXBase</a></li>
+<li>xbExp&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a3c3e5617be811d732472fe2cc8fb18cc">xb::xbXBase</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_s.html b/docs/doxygen/html/functions_s.html
new file mode 100644
index 0000000..16d70ea
--- /dev/null
+++ b/docs/doxygen/html/functions_s.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
+<li>sAlias&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a73f9c792d0a769e2e604c1855245a276">xb::xbDbf</a></li>
+<li>SchemaPtr&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad8c8b5eb12063bb898da1b2cc02cfce7">xb::xbDbf</a></li>
+<li>Set()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a4b0cde152b5de0f7d26608d1445110b6">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#ab85753d2c39882e946a8468cbb587700">xb::xbString</a></li>
+<li>SetAutoCommit()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a4cf7f0d423164f3cf074ae41f96f4e90">xb::xbDbf</a></li>
+<li>SetBlockSize()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a991c5676a6f38fa752435390989f413e">xb::xbFile</a></li>
+<li>SetDataDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c">xb::xbSsv</a></li>
+<li>SetDefaultAutoCommit()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd">xb::xbSsv</a></li>
+<li>SetDefaultDateFormat()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c">xb::xbSsv</a></li>
+<li>SetDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ae78a85255488bc78964c16946dbaead3">xb::xbFile</a></li>
+<li>SetEndianType()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108">xb::xbSsv</a></li>
+<li>SetFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a5419eb27e56822f828b2b88a9502a636">xb::xbFile</a></li>
+<li>SetFqFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#aee832fa11db2077a532f49e1329bd05a">xb::xbFile</a></li>
+<li>SetHomeFolders()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a060acbfaa8d528f86cb59301814b414a">xb::xbFile</a></li>
+<li>SetLogDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a7b992ed97281bf25b5b66f5df686225e">xb::xbSsv</a></li>
+<li>SetLogFileName()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a7f05738e7dfd759e89990242ef503544">xb::xbSsv</a></li>
+<li>SetLogSize()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a666a0cb5b76ec7a9a3677d339e0c6b42">xb::xbXBase</a></li>
+<li>SetMultiUser()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c">xb::xbSsv</a></li>
+<li>SetNum()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a3af5b1f111f94b0667551fcbd1d97abd">xb::xbString</a></li>
+<li>SetTempDirectory()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2">xb::xbSsv</a></li>
+<li>SetVersion()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a7e63e852418f337eb7c44de5dcd50323">xb::xbDbf</a></li>
+<li>sNullString&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a9dec3164c3b264882df634915ecf21da">xb::xbSsv</a></li>
+<li>Sprintf()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a9e9bfa29d86377b915f1628aeb0e9195">xb::xbString</a></li>
+<li>Str()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#ab43a5d8d929767c0ffdd722972bb8cc0">xb::xbDate</a>, <a class="el" href="classxb_1_1xbString.html#a6715f4c0010f3ab487c9d787838a29b3">xb::xbString</a></li>
+<li>strncpy()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a3bc9e856c34f0c240a6e36e5b6e3ea7b">xb::xbString</a></li>
+<li>SwapChars()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a054683872e1f05d11c2cf8683a63a6fe">xb::xbString</a></li>
+<li>Sysdate()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a40ba54a58d64cf56266f020f91584192">xb::xbDate</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_t.html b/docs/doxygen/html/functions_t.html
new file mode 100644
index 0000000..a88f838
--- /dev/null
+++ b/docs/doxygen/html/functions_t.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
+<li>ToLowerCase()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a602cac1a6ef3f6b52f587ac4c0ef4fb2">xb::xbString</a></li>
+<li>ToUpperCase()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a68001d0a44e6b4fe61e29a4e41ded9d4">xb::xbString</a></li>
+<li>Trim()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#abc9bd33687d4e03ca52d77885721d626">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_u.html b/docs/doxygen/html/functions_u.html
new file mode 100644
index 0000000..90e93a2
--- /dev/null
+++ b/docs/doxygen/html/functions_u.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
+<li>uiHeaderLen&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a62f5fa9149ae0f6dc75642823de66918">xb::xbDbf</a></li>
+<li>uiRecordLen&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a1760e222567e2c849f9c799b9d896e91">xb::xbDbf</a></li>
+<li>ulCurRec&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#afcd99924606be0a9e1e25180bcd1abf8">xb::xbDbf</a></li>
+<li>ulNoOfRecs&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#acb594ab61dd35b17bdf28394083f8e87">xb::xbDbf</a></li>
+<li>UndeleteAllRecords()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ae94cb1bf9f75184f39d9e1a80ab49d4a">xb::xbDbf</a></li>
+<li>UndeleteRecord()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a255681976a04fc722538bb630507b3a0">xb::xbDbf</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_v.html b/docs/doxygen/html/functions_v.html
new file mode 100644
index 0000000..969ce10
--- /dev/null
+++ b/docs/doxygen/html/functions_v.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_v" name="index_v"></a>- v -</h3><ul>
+<li>ValidateSchema()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aba5dcac3b4092261bc1669740cdd669d">xb::xbDbf</a></li>
+<li>ValidLogicalValue()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a72b16c15fd8822efaa5f158c34df7b1e">xb::xbString</a></li>
+<li>ValidNumericValue()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#aeed920d2a25111f776ddde2d530eb81b">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_vars.html b/docs/doxygen/html/functions_vars.html
new file mode 100644
index 0000000..f193350
--- /dev/null
+++ b/docs/doxygen/html/functions_vars.html
@@ -0,0 +1,145 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields - Variables</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
+<li>cEncryptionFlag&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a8734e799707582f022fc341d515650f4">xb::xbDbf</a></li>
+<li>cFieldName&#160;:&#160;<a class="el" href="structxb_1_1xbSchema.html#a514183856094123fd37df67885b4681e">xb::xbSchema</a></li>
+<li>cFldType&#160;:&#160;<a class="el" href="structsFldMap.html#af89b26b2d4bc6e26c597f8c48b97b1a3">sFldMap</a></li>
+<li>cIndexFlag&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad59074633641e03647e54d2b66c9102b">xb::xbDbf</a></li>
+<li>cLangDriver&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1">xb::xbDbf</a></li>
+<li>cTransactionFlag&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ac3c89fc3bc6a6abf385478a8adbed970">xb::xbDbf</a></li>
+<li>cType&#160;:&#160;<a class="el" href="structxb_1_1xbSchema.html#a1d612b2ed5dc0b0289c9e91b3cda3a25">xb::xbSchema</a></li>
+<li>cUpdateDD&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a6021789d314cd41488991e708fcd0df2">xb::xbDbf</a></li>
+<li>cUpdateMM&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a9340a5e8ee53eb0f3b6601eec2d71e1b">xb::xbDbf</a></li>
+<li>cUpdateYY&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a4fcd6a86ddd32d4a9d76a4074573440a">xb::xbDbf</a></li>
+<li>cVersion&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a3a262abf658e5fa968b57ef457a69470">xb::xbDbf</a></li>
+</ul>
+
+
+<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
+<li>ErrorCodeText&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a6219f1b5e24ea12fe158cd5aea56988e">xb::xbSsv</a></li>
+</ul>
+
+
+<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
+<li>iAutoCommit&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ab506450954bc86e7bf1d7c4efe681f43">xb::xbDbf</a></li>
+<li>iDbfStatus&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a6d8e193da3ca414eef1e8866ec5ca81b">xb::xbDbf</a></li>
+<li>iEndianType&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a5849e813f5e8e1cd180f0366637adbf3">xb::xbSsv</a></li>
+<li>iFieldLen&#160;:&#160;<a class="el" href="structxb_1_1xbSchema.html#a2da554af25ef628acf59bb52996056ac">xb::xbSchema</a></li>
+<li>iFileVersion&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a15f495446f0d75bcf2fa89e3b699d388">xb::xbDbf</a></li>
+<li>iFldNo&#160;:&#160;<a class="el" href="structsFldMap.html#a42eb801a85d8b60f06c4fe1be13ca723">sFldMap</a></li>
+<li>iNoOfDecs&#160;:&#160;<a class="el" href="structxb_1_1xbSchema.html#a55bab3bb69dee3508d168c93e182d4b9">xb::xbSchema</a></li>
+<li>iNoOfFields&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a5056757614c39f725cc775332494966a">xb::xbDbf</a></li>
+<li>iRecPos&#160;:&#160;<a class="el" href="structsFldMap.html#a02facce45c24ebecc13975c17fd52b8f">sFldMap</a></li>
+</ul>
+
+
+<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
+<li>next&#160;:&#160;<a class="el" href="structsFldMap.html#a16eaff8fc09adc3faf453bfaa0d3baaa">sFldMap</a></li>
+</ul>
+
+
+<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
+<li>pDbf&#160;:&#160;<a class="el" href="structxb_1_1xbTblList.html#a387d3f6bbf291a1fb96d276ed9bb96b6">xb::xbTblList</a></li>
+<li>pNext&#160;:&#160;<a class="el" href="structxb_1_1xbTblList.html#a3fd169fcf0fd4df927544e5342db583c">xb::xbTblList</a></li>
+<li>psFqTblName&#160;:&#160;<a class="el" href="structxb_1_1xbTblList.html#aceec65f6f6b585788cf98e8dabd2737d">xb::xbTblList</a></li>
+<li>psTblAlias&#160;:&#160;<a class="el" href="structxb_1_1xbTblList.html#ac87742c8a6b1cf2e7e35218e96966a05">xb::xbTblList</a></li>
+<li>psTblName&#160;:&#160;<a class="el" href="structxb_1_1xbTblList.html#a02c3b0c47fd104ef9758b375ecdcfd0f">xb::xbTblList</a></li>
+</ul>
+
+
+<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
+<li>RecBuf&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a8a9b3bce0b741e73473d3ebbd6e6f1cd">xb::xbDbf</a></li>
+<li>RecBuf2&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a353ebfc8a2960ef827f429ec74025606">xb::xbDbf</a></li>
+</ul>
+
+
+<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
+<li>sAlias&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a73f9c792d0a769e2e604c1855245a276">xb::xbDbf</a></li>
+<li>SchemaPtr&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#ad8c8b5eb12063bb898da1b2cc02cfce7">xb::xbDbf</a></li>
+<li>sNullString&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a9dec3164c3b264882df634915ecf21da">xb::xbSsv</a></li>
+</ul>
+
+
+<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
+<li>uiHeaderLen&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a62f5fa9149ae0f6dc75642823de66918">xb::xbDbf</a></li>
+<li>uiRecordLen&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a1760e222567e2c849f9c799b9d896e91">xb::xbDbf</a></li>
+<li>ulCurRec&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#afcd99924606be0a9e1e25180bcd1abf8">xb::xbDbf</a></li>
+<li>ulNoOfRecs&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#acb594ab61dd35b17bdf28394083f8e87">xb::xbDbf</a></li>
+</ul>
+
+
+<h3><a id="index_x" name="index_x"></a>- x -</h3><ul>
+<li>xbase&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ae39a67ea391b46055d4ca299cb222004">xb::xbFile</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_w.html b/docs/doxygen/html/functions_w.html
new file mode 100644
index 0000000..3d42dbb
--- /dev/null
+++ b/docs/doxygen/html/functions_w.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_w" name="index_w"></a>- w -</h3><ul>
+<li>WriteBlock()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a5d871dcfecc2b4338f7a13722aab766c">xb::xbFile</a></li>
+<li>WriteHeader()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a44e1410109ef7b3d11a6af4b704b62b2">xb::xbDbf</a></li>
+<li>WriteLogBytes()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a0dff00b9ee3c288841e137ca01168116">xb::xbXBase</a></li>
+<li>WriteLogMessage()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a9ca5be73abffd0fdd18bdc799877272a">xb::xbXBase</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_x.html b/docs/doxygen/html/functions_x.html
new file mode 100644
index 0000000..d7e5863
--- /dev/null
+++ b/docs/doxygen/html/functions_x.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_x" name="index_x"></a>- x -</h3><ul>
+<li>xbase&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ae39a67ea391b46055d4ca299cb222004">xb::xbFile</a></li>
+<li>xbBcd&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a86a53ce3efbf910996df0f853f1c0add">xb::xbXBase</a></li>
+<li>xbDate()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#ac8a4d9330221a3daee21b3c28c1d9719">xb::xbDate</a></li>
+<li>xbDbf()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a84a75f80bc0e9b8a22b728767949c204">xb::xbDbf</a></li>
+<li>xbExp&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a3c3e5617be811d732472fe2cc8fb18cc">xb::xbXBase</a></li>
+<li>xbFclose()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a18830b5755d74818f60d9c7ce38ddf2d">xb::xbFile</a></li>
+<li>xbFeof()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#af5b6356832d2a67212070a1aa605f170">xb::xbFile</a></li>
+<li>xbFflush()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ad205184d43409f04216540ae22f15009">xb::xbFile</a></li>
+<li>xbFgetc()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a5ee229bda4d7d6695e122200e581e7a6">xb::xbFile</a></li>
+<li>xbFgets()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ad245955ace26e5dde85fd4373b30d026">xb::xbFile</a></li>
+<li>xbFile()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a869eedd74c6eddc308852eb546c87176">xb::xbFile</a></li>
+<li>xbFopen()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a7cdfef5ede9ac98d44a28a6b7a70972c">xb::xbFile</a></li>
+<li>xbFputc()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#af2e940c78956e5cb6824f9a1bc404896">xb::xbFile</a></li>
+<li>xbFputs()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a698f3b40216778562e639e6ca1a47573">xb::xbFile</a></li>
+<li>xbFread()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#ab4f6afaa1f77539f27a4f05c26e54e2f">xb::xbFile</a></li>
+<li>xbFseek()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a5337ab8918df240910c0d19b4f298e3d">xb::xbFile</a></li>
+<li>xbFtell()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a0e1c06aedfa7fbcb92e117f891edd13b">xb::xbFile</a></li>
+<li>xbFTurnOffFileBuffering()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a9891b792f585a696f38a5cf959e30918">xb::xbFile</a></li>
+<li>xbFwrite()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a6aadd871d1782944703fed773d44b85f">xb::xbFile</a></li>
+<li>xbMemcmp()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a1b239c021358476382942522911b5c66">xb::xbXBase</a></li>
+<li>xbReadUntil()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a08463f506f425c2385acbe1a561506e9">xb::xbFile</a></li>
+<li>xbRemove()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a6d919366c2ec95e529906bf8842cbf07">xb::xbFile</a></li>
+<li>xbRename()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#afc8ce113aa72611a278233f9bb170012">xb::xbFile</a></li>
+<li>xbRewind()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a7996b6e084665c37c3892faea64b3505">xb::xbFile</a></li>
+<li>xbSleep()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a0915aff7be4b2dd3e881f3c5d0da4baf">xb::xbXBase</a></li>
+<li>xbSsv()&#160;:&#160;<a class="el" href="classxb_1_1xbSsv.html#a58f85692c3167af20b1a7c17c621523b">xb::xbSsv</a></li>
+<li>xbString()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a63f9313217e0ff3c9789ec59316216a1">xb::xbString</a></li>
+<li>xbTblMgr()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#aad83f5ecc184ca6cbdfc6f356b598d6c">xb::xbTblMgr</a></li>
+<li>xbTruncate()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a518bfcbfa3699d883cf89affee383296">xb::xbFile</a></li>
+<li>xbXBase()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a6c68588e33946fb5416af3f86fe83224">xb::xbXBase</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_y.html b/docs/doxygen/html/functions_y.html
new file mode 100644
index 0000000..0b6c266
--- /dev/null
+++ b/docs/doxygen/html/functions_y.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_y" name="index_y"></a>- y -</h3><ul>
+<li>YearOf()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a31057dfaa36389a16e40e3db82c46262">xb::xbDate</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_z.html b/docs/doxygen/html/functions_z.html
new file mode 100644
index 0000000..8ef0a42
--- /dev/null
+++ b/docs/doxygen/html/functions_z.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index_z" name="index_z"></a>- z -</h3><ul>
+<li>Zap()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a8ed0693b10b95aaa4e46037758d160ed">xb::xbDbf</a></li>
+<li>ZapChar()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a2fd30956a26a260d1ef6fdbe73dd93f9">xb::xbString</a></li>
+<li>ZapLeadingChar()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#addc3a470f6cd85d4c21bf9da38cf5ac9">xb::xbString</a></li>
+<li>ZapTrailingChar()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#afe3415bfa2e1089b792aeda0462fb99e">xb::xbString</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/functions_~.html b/docs/doxygen/html/functions_~.html
new file mode 100644
index 0000000..45300d3
--- /dev/null
+++ b/docs/doxygen/html/functions_~.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
+
+<h3><a id="index__7E" name="index__7E"></a>- ~ -</h3><ul>
+<li>~xbDate()&#160;:&#160;<a class="el" href="classxb_1_1xbDate.html#a05c9680c6eb9fe07ecf13a189b596c37">xb::xbDate</a></li>
+<li>~xbDbf()&#160;:&#160;<a class="el" href="classxb_1_1xbDbf.html#a7eb87521fba8a939c613056d9918d880">xb::xbDbf</a></li>
+<li>~xbFile()&#160;:&#160;<a class="el" href="classxb_1_1xbFile.html#a491f6c48076e89da2e791a42b2727a90">xb::xbFile</a></li>
+<li>~xbString()&#160;:&#160;<a class="el" href="classxb_1_1xbString.html#a10a6549efab02bc76ab33b15916b1eb1">xb::xbString</a></li>
+<li>~xbTblMgr()&#160;:&#160;<a class="el" href="classxb_1_1xbTblMgr.html#aad6be32d7b3378c71d47fa27ebfe6cbf">xb::xbTblMgr</a></li>
+<li>~xbXBase()&#160;:&#160;<a class="el" href="classxb_1_1xbXBase.html#a204f8634894ac2066d3209117803306d">xb::xbXBase</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/globals.html b/docs/doxygen/html/globals.html
new file mode 100644
index 0000000..892c182
--- /dev/null
+++ b/docs/doxygen/html/globals.html
@@ -0,0 +1,227 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
+
+<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
+<li>ChronTime()&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#af990eed1e43605771a5810196b4043f7">tstfuncs.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
+<li>dblEquals()&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#a8b8e417213c57f2ea0bcb61a7fb28860">tstfuncs.cpp</a></li>
+<li>dblMax()&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#a69a6e718e066af7f8392e5f1fea40d1b">tstfuncs.cpp</a></li>
+<li>dblMin()&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#a4d7b8f3f1ce52c6c0a281f25419f4c93">tstfuncs.cpp</a></li>
+<li>DevTester()&#160;:&#160;<a class="el" href="xb__test__expression_8cpp.html#aee57237c5f5b9b4d80e84bf530eb42bc">xb_test_expression.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_g" name="index_g"></a>- g -</h3><ul>
+<li>GetNextSqlCmd()&#160;:&#160;<a class="el" href="xb__execsql_8cpp.html#adb176b752e38521fdb334b4976965945">xb_execsql.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
+<li>InitTime()&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#ab1f17da15e67a8b2460d5a88b7a3db6e">tstfuncs.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_j" name="index_j"></a>- j -</h3><ul>
+<li>JUL_OFFSET&#160;:&#160;<a class="el" href="xbdate_8h.html#a119f32fda399e2ebc2d734012a130e8f">xbdate.h</a></li>
+</ul>
+
+
+<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
+<li>LK_CLIPPER&#160;:&#160;<a class="el" href="xbdbf_8h.html#a01d6d7910b0da2170eb904a97d864a41">xbdbf.h</a></li>
+<li>LK_DBASE&#160;:&#160;<a class="el" href="xbdbf_8h.html#a4c08d01bd69e295b001bd00a228d8106">xbdbf.h</a></li>
+<li>LK_FOX&#160;:&#160;<a class="el" href="xbdbf_8h.html#a65e29186276222f460a7171803e07adf">xbdbf.h</a></li>
+<li>LK_XBASE64&#160;:&#160;<a class="el" href="xbdbf_8h.html#a42aea0ccd94f7422c8e0d7422dce85a4">xbdbf.h</a></li>
+</ul>
+
+
+<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
+<li>main()&#160;:&#160;<a class="el" href="xb__cfg__check_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_cfg_check.cpp</a>, <a class="el" href="xb__test__lock_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_lock.cpp</a>, <a class="el" href="xb__test__lock2_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_lock2.cpp</a>, <a class="el" href="xb__test__log_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_log.cpp</a>, <a class="el" href="xb__test__mdx_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_mdx.cpp</a>, <a class="el" href="xb__test__ndx_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_ndx.cpp</a>, <a class="el" href="xb__test__sql_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_sql.cpp</a>, <a class="el" href="xb__test__string_8cpp.html#aabf71bc9adb6daf457b2ea8879ae537f">xb_test_string.cpp</a>, <a class="el" href="xb__test__tblmgr_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_tblmgr.cpp</a>, <a class="el" href="xb__test__tdx_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_tdx.cpp</a>, <a class="el" href="xb__test__uda_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_uda.cpp</a>, <a class="el" href="xb__test__xbase_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_xbase.cpp</a>, <a class="el" href="xb__ex__expression_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_expression.cpp</a>, <a class="el" href="xb__copydbf_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_copydbf.cpp</a>, <a class="el" href="xb__dbfutil_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_dbfutil.cpp</a>, <a class="el" href="xb__deletall_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_deletall.cpp</a>, <a class="el" href="xb__dumpdbt_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_dumpdbt.cpp</a>, <a class="el" href="xb__dumprecs_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_dumprecs.cpp</a>, <a class="el" href="xb__execsql_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_execsql.cpp</a>, <a class="el" href="xb__import_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_import.cpp</a>, <a class="el" href="xb__pack_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_pack.cpp</a>, <a class="el" href="xb__tblinfo_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_tblinfo.cpp</a>, <a class="el" href="xb__undelall_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_undelall.cpp</a>, <a class="el" href="xb__test__funcs_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_funcs.cpp</a>, <a class="el" href="xb__ex__date_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_date.cpp</a>, <a class="el" href="xb__ex__log_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_ex_log.cpp</a>, <a class="el" href="xb__ex__sql_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_ex_sql.cpp</a>, <a class="el" href="xb__ex__ssv_8cpp.html#a6438fb6826a353355708e08b4395d689">xb_ex_ssv.cpp</a>, <a class="el" href="xb__ex__string_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_string.cpp</a>, <a class="el" href="xb__ex__v3__create__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_v3_create_dbf.cpp</a>, <a class="el" href="xb__ex__v3__upd__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_v3_upd_dbf.cpp</a>, <a class="el" href="xb__ex__v4__create__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_v4_create_dbf.cpp</a>, <a class="el" href="xb__ex__v4__upd__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_v4_upd_dbf.cpp</a>, <a class="el" href="xb__test__bcd_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_bcd.cpp</a>, <a class="el" href="xb__test__blockread_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_blockread.cpp</a>, <a class="el" href="xb__test__date_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_date.cpp</a>, <a class="el" href="xb__test__dbf__v3__memos_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_dbf_v3_memos.cpp</a>, <a class="el" href="xb__test__dbf__v3__nomemos_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_dbf_v3_nomemos.cpp</a>, <a class="el" href="xb__test__dbf__v4__memos_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_dbf_v4_memos.cpp</a>, <a class="el" href="xb__test__dbf__v4__nomemos_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_dbf_v4_nomemos.cpp</a>, <a class="el" href="xb__test__expnode_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_expnode.cpp</a>, <a class="el" href="xb__test__expression_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_expression.cpp</a>, <a class="el" href="xb__test__file_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_file.cpp</a>, <a class="el" href="xb__test__filter_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_filter.cpp</a>, <a class="el" href="xb__test__linklist_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_linklist.cpp</a></li>
+<li>MyDbfRec&#160;:&#160;<a class="el" href="xb__test__blockread_8cpp.html#af68c3291a63fdf20ffa0e477460d148e">xb_test_blockread.cpp</a></li>
+<li>MyV4Record&#160;:&#160;<a class="el" href="xb__ex__expression_8cpp.html#a2122b9562802e2fd799b20454000dc99">xb_ex_expression.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
+<li>PrintHelp()&#160;:&#160;<a class="el" href="xb__dbfutil_8cpp.html#a9c55a055e1cd4249c7f47e19dc7ac564">xb_dbfutil.cpp</a>, <a class="el" href="xb__deletall_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_deletall.cpp</a>, <a class="el" href="xb__dumpdbt_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_dumpdbt.cpp</a>, <a class="el" href="xb__dumprecs_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_dumprecs.cpp</a>, <a class="el" href="xb__execsql_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_execsql.cpp</a>, <a class="el" href="xb__import_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_import.cpp</a>, <a class="el" href="xb__pack_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_pack.cpp</a>, <a class="el" href="xb__tblinfo_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_tblinfo.cpp</a>, <a class="el" href="xb__undelall_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_undelall.cpp</a>, <a class="el" href="xb__copydbf_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_copydbf.cpp</a></li>
+<li>PrintResult()&#160;:&#160;<a class="el" href="xb__ex__expression_8cpp.html#a3234afc912211aec54c10d363d28cbda">xb_ex_expression.cpp</a></li>
+<li>PrintVersion()&#160;:&#160;<a class="el" href="xb__copydbf_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_copydbf.cpp</a>, <a class="el" href="xb__dbfutil_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_dbfutil.cpp</a>, <a class="el" href="xb__deletall_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_deletall.cpp</a>, <a class="el" href="xb__dumpdbt_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_dumpdbt.cpp</a>, <a class="el" href="xb__dumprecs_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_dumprecs.cpp</a>, <a class="el" href="xb__execsql_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_execsql.cpp</a>, <a class="el" href="xb__import_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_import.cpp</a>, <a class="el" href="xb__pack_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_pack.cpp</a>, <a class="el" href="xb__tblinfo_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_tblinfo.cpp</a>, <a class="el" href="xb__undelall_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_undelall.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
+<li>TestMethod()&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#a265547b80a3aef5836952bede5288e2c">tstfuncs.cpp</a>, <a class="el" href="xb__test__expression_8cpp.html#ad52c27685018dda7c5c4b26fb445860e">xb_test_expression.cpp</a></li>
+<li>TestTokenMethod()&#160;:&#160;<a class="el" href="xb__test__expression_8cpp.html#a440d64b55abaa9e14e73ecc132d1084d">xb_test_expression.cpp</a></li>
+<li>TestWeight()&#160;:&#160;<a class="el" href="xb__test__expression_8cpp.html#af56b6dbc38e0d23caaf6531526315379">xb_test_expression.cpp</a></li>
+<li>timer&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#ae2281da6157495d69406c35f69a61f9f">tstfuncs.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_v" name="index_v"></a>- v -</h3><ul>
+<li>VERBOSE&#160;:&#160;<a class="el" href="xb__test__string_8cpp.html#a42f8c497a1968074f38bf5055c650dca">xb_test_string.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_x" name="index_x"></a>- x -</h3><ul>
+<li>XB_ACTIVE_RECS&#160;:&#160;<a class="el" href="xbdbf_8h.html#a1c44bb25bf2e23a3a9d3d2312df0b592">xbdbf.h</a></li>
+<li>XB_ALL_RECS&#160;:&#160;<a class="el" href="xbdbf_8h.html#a8bd17730da3ba5c55a6a07bc482dd0e4">xbdbf.h</a></li>
+<li>XB_ALREADY_OPEN&#160;:&#160;<a class="el" href="xbretcod_8h.html#aa2ff8301503f446c6a5f6510090e520f">xbretcod.h</a></li>
+<li>XB_BLOCKREAD_NOT_ENABLED&#160;:&#160;<a class="el" href="xbretcod_8h.html#aae9241d91cfb37f5d236128b3bce0a4a">xbretcod.h</a></li>
+<li>XB_BOF&#160;:&#160;<a class="el" href="xbretcod_8h.html#ade5f3a7cf1467d12761e4e21b5e4200f">xbretcod.h</a></li>
+<li>XB_CHAR_FLD&#160;:&#160;<a class="el" href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa">xbdbf.h</a></li>
+<li>XB_CHAREOF&#160;:&#160;<a class="el" href="xbdbf_8h.html#ada1115f596131888c04df61546b198c4">xbdbf.h</a></li>
+<li>XB_CHARHDR&#160;:&#160;<a class="el" href="xbdbf_8h.html#a35d56cac7959c1e5c761684ced3f1e17">xbdbf.h</a></li>
+<li>XB_CLOSE_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#a030684d5541cf6127a76d81b0684b235">xbretcod.h</a></li>
+<li>XB_CLOSED&#160;:&#160;<a class="el" href="xbdbf_8h.html#a843ca4569326dbd1d0647899b0eb512f">xbdbf.h</a></li>
+<li>XB_DATE_FLD&#160;:&#160;<a class="el" href="xbdbf_8h.html#a7f685e6f5fe804b2174725a27ce73adc">xbdbf.h</a></li>
+<li>XB_DBF_FILE_NOT_OPEN&#160;:&#160;<a class="el" href="xbretcod_8h.html#a8104510b347c87998eadd0b27201e3c2">xbretcod.h</a></li>
+<li>XB_DELETE_FAILED&#160;:&#160;<a class="el" href="xbretcod_8h.html#ada15513935d5ede9216f07c0438f34d2">xbretcod.h</a></li>
+<li>XB_DELETED_RECS&#160;:&#160;<a class="el" href="xbdbf_8h.html#acc0a441854ed92b9d65d1181a97cad43">xbdbf.h</a></li>
+<li>XB_DIRECTORY_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#af532df74147ce2d872f61abfee49c53e">xbretcod.h</a></li>
+<li>XB_DONTOVERLAY&#160;:&#160;<a class="el" href="xbdbf_8h.html#a7b797840abdb3291373d15978103a778">xbdbf.h</a></li>
+<li>XB_DUP_TABLE_OR_ALIAS&#160;:&#160;<a class="el" href="xbretcod_8h.html#ac18036408d10e5eee1bf76cf92352b95">xbretcod.h</a></li>
+<li>XB_EMPTY&#160;:&#160;<a class="el" href="xbretcod_8h.html#a18068d0cbe0c7a1b4dd3176220180c29">xbretcod.h</a></li>
+<li>XB_EOF&#160;:&#160;<a class="el" href="xbretcod_8h.html#a8b47031e90c3f86306c7058e4490d3b7">xbretcod.h</a></li>
+<li>XB_FILE_EXISTS&#160;:&#160;<a class="el" href="xbretcod_8h.html#a54303a9677dbd5342233f33dd08c64d0">xbretcod.h</a></li>
+<li>XB_FILE_NOT_FOUND&#160;:&#160;<a class="el" href="xbretcod_8h.html#ad090af330c93111d12f6de35dbb065bc">xbretcod.h</a></li>
+<li>XB_FILE_TYPE_NOT_SUPPORTED&#160;:&#160;<a class="el" href="xbretcod_8h.html#ab7b9130a5f1df9975cfeaf6241933596">xbretcod.h</a></li>
+<li>XB_FLOAT_FLD&#160;:&#160;<a class="el" href="xbdbf_8h.html#a96ab4218d70ab603b4866354ce8c18cd">xbdbf.h</a></li>
+<li>XB_FMT_MONTH&#160;:&#160;<a class="el" href="xbdate_8h.html#aeacf2f7cc897ab5bd64781c0fb52b75d">xbdate.h</a></li>
+<li>XB_FMT_WEEK&#160;:&#160;<a class="el" href="xbdate_8h.html#a8f22704d3fd93fa85dd93b6c699e8178">xbdate.h</a></li>
+<li>XB_FMT_YEAR&#160;:&#160;<a class="el" href="xbdate_8h.html#aa29d78982a9e007874af1c4f4e4d1aa4">xbdate.h</a></li>
+<li>XB_INCOMPATIBLE_OPERANDS&#160;:&#160;<a class="el" href="xbretcod_8h.html#af141ec58b7ca7360e0be6c61d015ea74">xbretcod.h</a></li>
+<li>XB_INCONSISTENT_PARM_LENS&#160;:&#160;<a class="el" href="xbretcod_8h.html#adc4b24bfffa202f8df25409894e547b9">xbretcod.h</a></li>
+<li>XB_INVALID_BLOCK_NO&#160;:&#160;<a class="el" href="xbretcod_8h.html#a4e13b529b486c43ca600ce7d8ddbf3c2">xbretcod.h</a></li>
+<li>XB_INVALID_BLOCK_SIZE&#160;:&#160;<a class="el" href="xbretcod_8h.html#a1bd22921612389c37f6b2eac438c62c5">xbretcod.h</a></li>
+<li>XB_INVALID_DATA&#160;:&#160;<a class="el" href="xbretcod_8h.html#afb40bbed323ecb369dd430a2e1242f9a">xbretcod.h</a></li>
+<li>XB_INVALID_DATE&#160;:&#160;<a class="el" href="xbretcod_8h.html#a702475500357a27b8a34463be3e11925">xbretcod.h</a></li>
+<li>XB_INVALID_EXPRESSION&#160;:&#160;<a class="el" href="xbretcod_8h.html#a54db562c3cae97581812b4fccd52b71a">xbretcod.h</a></li>
+<li>XB_INVALID_FIELD&#160;:&#160;<a class="el" href="xbretcod_8h.html#a34180b2e2bd350ba2ebcdd1335e15d7e">xbretcod.h</a></li>
+<li>XB_INVALID_FIELD_LEN&#160;:&#160;<a class="el" href="xbretcod_8h.html#a7bd322c0efbba17f68ccccd6cf624411">xbretcod.h</a></li>
+<li>XB_INVALID_FIELD_NAME&#160;:&#160;<a class="el" href="xbretcod_8h.html#a59403978784130834cf39434cb73f96e">xbretcod.h</a></li>
+<li>XB_INVALID_FIELD_NO&#160;:&#160;<a class="el" href="xbretcod_8h.html#a09d6c08a44316f551108a74003efd381">xbretcod.h</a></li>
+<li>XB_INVALID_FIELD_TYPE&#160;:&#160;<a class="el" href="xbretcod_8h.html#a79e2588f067d6e236c0e5a2c0728ba9f">xbretcod.h</a></li>
+<li>XB_INVALID_FUNCTION&#160;:&#160;<a class="el" href="xbretcod_8h.html#a2b7e5e440dbcf5e6dc885b24dbe28742">xbretcod.h</a></li>
+<li>XB_INVALID_INDEX&#160;:&#160;<a class="el" href="xbretcod_8h.html#acd175ef0541e2cad424791bd87619dd4">xbretcod.h</a></li>
+<li>XB_INVALID_KEYNO&#160;:&#160;<a class="el" href="xbretcod_8h.html#aec2c0ac2bd62e0329ef130e4fbda39f8">xbretcod.h</a></li>
+<li>XB_INVALID_LOCK_OPTION&#160;:&#160;<a class="el" href="xbretcod_8h.html#ab45735e63c208eb7e6d6df31fd527aec">xbretcod.h</a></li>
+<li>XB_INVALID_MEMO_FIELD&#160;:&#160;<a class="el" href="xbretcod_8h.html#a187c50745f51bfe4aa6f70a92f16c59f">xbretcod.h</a></li>
+<li>XB_INVALID_NODELINK&#160;:&#160;<a class="el" href="xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb">xbretcod.h</a></li>
+<li>XB_INVALID_OBJECT&#160;:&#160;<a class="el" href="xbretcod_8h.html#a418c047353bc683d0fd6ecbbdd5b7885">xbretcod.h</a></li>
+<li>XB_INVALID_OPTION&#160;:&#160;<a class="el" href="xbretcod_8h.html#af1cd0baf346cad686fa4dd11f700012a">xbretcod.h</a></li>
+<li>XB_INVALID_PAGE&#160;:&#160;<a class="el" href="xbretcod_8h.html#ad0aba12b5ae2137f8d6abd28b47f95f0">xbretcod.h</a></li>
+<li>XB_INVALID_PARAMETER&#160;:&#160;<a class="el" href="xbretcod_8h.html#a1b78533ada854b4185c51ad8a5ce9f02">xbretcod.h</a></li>
+<li>XB_INVALID_PARM&#160;:&#160;<a class="el" href="xbretcod_8h.html#a4cedf96581c9cbc9c14d07494143702d">xbretcod.h</a></li>
+<li>XB_INVALID_RECORD&#160;:&#160;<a class="el" href="xbretcod_8h.html#a0fd212f912b2e62700a66bae95bd73a1">xbretcod.h</a></li>
+<li>XB_INVALID_TABLE_NAME&#160;:&#160;<a class="el" href="xbretcod_8h.html#a53891c95a78483704d2a8e14c4499f92">xbretcod.h</a></li>
+<li>XB_INVALID_TAG&#160;:&#160;<a class="el" href="xbretcod_8h.html#a176d917912d3433f065483f905a4c50a">xbretcod.h</a></li>
+<li>XB_KEY_NOT_UNIQUE&#160;:&#160;<a class="el" href="xbretcod_8h.html#ad60dbb1862c0c1c2dc0464cfbfd93a34">xbretcod.h</a></li>
+<li>XB_LIMIT_REACHED&#160;:&#160;<a class="el" href="xbretcod_8h.html#a59f1a8a6aca19595c2d1804349a24850">xbretcod.h</a></li>
+<li>XB_LOCK&#160;:&#160;<a class="el" href="xbdbf_8h.html#a395a2e101a793bacabf6bc079d178e29">xbdbf.h</a></li>
+<li>XB_LOCK_FAILED&#160;:&#160;<a class="el" href="xbretcod_8h.html#a001e24b39e0f155fb1e892f5b1b9cff1">xbretcod.h</a></li>
+<li>XB_LOGICAL_FLD&#160;:&#160;<a class="el" href="xbdbf_8h.html#a2f6d5073af761bc1a806a2c7b1c1d886">xbdbf.h</a></li>
+<li>XB_MAX_ERROR_NO&#160;:&#160;<a class="el" href="xbretcod_8h.html#a299419a9c80e000b74bf97a2d24d6a3d">xbretcod.h</a></li>
+<li>XB_MEMCPY_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#aa2925f035e3b186d7efa14648ea0e86d">xbretcod.h</a></li>
+<li>XB_MEMO_FLD&#160;:&#160;<a class="el" href="xbdbf_8h.html#a23fa19b19cb43bd6dcc59a5a3f6c30ad">xbdbf.h</a></li>
+<li>XB_MULTI_USER&#160;:&#160;<a class="el" href="xbfile_8h.html#a05c0fc99ba71cf953d046d12f3f874bc">xbfile.h</a></li>
+<li>XB_NO_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">xbretcod.h</a></li>
+<li>XB_NO_MEMORY&#160;:&#160;<a class="el" href="xbretcod_8h.html#ae687fc7d872ba0475a8477e4447f9b54">xbretcod.h</a></li>
+<li>XB_NOT_FOUND&#160;:&#160;<a class="el" href="xbretcod_8h.html#ac2606659a54111334f5b02861e533700">xbretcod.h</a></li>
+<li>XB_NOT_OPEN&#160;:&#160;<a class="el" href="xbretcod_8h.html#a9474b400f647bdefbbb07e5177e8d7a1">xbretcod.h</a></li>
+<li>XB_NULL_DATE&#160;:&#160;<a class="el" href="xbexp_8h.html#a6e9d2ccba2b3ac6e44ab411ffda488c2">xbexp.h</a></li>
+<li>XB_NUMERIC_FLD&#160;:&#160;<a class="el" href="xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6">xbdbf.h</a></li>
+<li>XB_OPEN&#160;:&#160;<a class="el" href="xbdbf_8h.html#a9a6dafbb07cac744eb14094efa739409">xbdbf.h</a></li>
+<li>XB_OPEN_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#aaab55236993a1d3acb29206252a904c8">xbretcod.h</a></li>
+<li>XB_OVERLAY&#160;:&#160;<a class="el" href="xbdbf_8h.html#a6fe10b307878b4612b04c2c876a4a592">xbdbf.h</a></li>
+<li>XB_PARSE_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#aec713cac2b03a0d536a2d16336ae7c0b">xbretcod.h</a></li>
+<li>XB_READ&#160;:&#160;<a class="el" href="xbfile_8h.html#ae58c73e0ba237fcf67ee20feea6c2743">xbfile.h</a></li>
+<li>XB_READ_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#adbd40585db8bb748d191f94a33bac710">xbretcod.h</a></li>
+<li>XB_READ_WRITE&#160;:&#160;<a class="el" href="xbfile_8h.html#af991a288c327f6857e90156ea734a633">xbfile.h</a></li>
+<li>XB_RENAME_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#a373f30b2efcbbab9f6d060fb3fe8cba3">xbretcod.h</a></li>
+<li>XB_SEEK_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#a0455ad8719e153b08ec68b10c81e9f41">xbretcod.h</a></li>
+<li>XB_SINGLE_USER&#160;:&#160;<a class="el" href="xbfile_8h.html#a9ec4d60a008c667d9861e3b3814f0232">xbfile.h</a></li>
+<li>XB_SYNTAX_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#a5db3a90f215534143bdde81253729c7f">xbretcod.h</a></li>
+<li>XB_TABLE_NOT_LOCKED&#160;:&#160;<a class="el" href="xbretcod_8h.html#af6aaf779fddecca521d785666f6dc56b">xbretcod.h</a></li>
+<li>XB_UNBALANCED_PARENS&#160;:&#160;<a class="el" href="xbretcod_8h.html#aff5646a6b0884ff81004de6961473ea6">xbretcod.h</a></li>
+<li>XB_UNBALANCED_QUOTES&#160;:&#160;<a class="el" href="xbretcod_8h.html#aedfa20a6c4eb9ba3063ba56be8280eac">xbretcod.h</a></li>
+<li>XB_UNLOCK&#160;:&#160;<a class="el" href="xbdbf_8h.html#a21389b73e7b4e7e185fa635b9e354c2e">xbdbf.h</a></li>
+<li>XB_UPDATED&#160;:&#160;<a class="el" href="xbdbf_8h.html#a26e7eeda69f32bc88b08a208ca9e7991">xbdbf.h</a></li>
+<li>XB_WRITE&#160;:&#160;<a class="el" href="xbfile_8h.html#abbf99e259c2f31572c886da6d85b1359">xbfile.h</a></li>
+<li>XB_WRITE_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#aef34ebe6726057f805d6063130280549">xbretcod.h</a></li>
+<li>xbFalse&#160;:&#160;<a class="el" href="xbtypes_8h.html#adc4b6ca5ad299f63675136d9e03938cc">xbtypes.h</a></li>
+<li>xbFileNo&#160;:&#160;<a class="el" href="xbtypes_8h.html#a2c65f692ac861990861575e18f72f6eb">xbtypes.h</a></li>
+<li>xbTrue&#160;:&#160;<a class="el" href="xbtypes_8h.html#ab0ae00665298fe7f5292691cb98ec2d9">xbtypes.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/globals_defs.html b/docs/doxygen/html/globals_defs.html
new file mode 100644
index 0000000..b9b6729
--- /dev/null
+++ b/docs/doxygen/html/globals_defs.html
@@ -0,0 +1,182 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_j" name="index_j"></a>- j -</h3><ul>
+<li>JUL_OFFSET&#160;:&#160;<a class="el" href="xbdate_8h.html#a119f32fda399e2ebc2d734012a130e8f">xbdate.h</a></li>
+</ul>
+
+
+<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
+<li>LK_CLIPPER&#160;:&#160;<a class="el" href="xbdbf_8h.html#a01d6d7910b0da2170eb904a97d864a41">xbdbf.h</a></li>
+<li>LK_DBASE&#160;:&#160;<a class="el" href="xbdbf_8h.html#a4c08d01bd69e295b001bd00a228d8106">xbdbf.h</a></li>
+<li>LK_FOX&#160;:&#160;<a class="el" href="xbdbf_8h.html#a65e29186276222f460a7171803e07adf">xbdbf.h</a></li>
+<li>LK_XBASE64&#160;:&#160;<a class="el" href="xbdbf_8h.html#a42aea0ccd94f7422c8e0d7422dce85a4">xbdbf.h</a></li>
+</ul>
+
+
+<h3><a id="index_v" name="index_v"></a>- v -</h3><ul>
+<li>VERBOSE&#160;:&#160;<a class="el" href="xb__test__string_8cpp.html#a42f8c497a1968074f38bf5055c650dca">xb_test_string.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_x" name="index_x"></a>- x -</h3><ul>
+<li>XB_ACTIVE_RECS&#160;:&#160;<a class="el" href="xbdbf_8h.html#a1c44bb25bf2e23a3a9d3d2312df0b592">xbdbf.h</a></li>
+<li>XB_ALL_RECS&#160;:&#160;<a class="el" href="xbdbf_8h.html#a8bd17730da3ba5c55a6a07bc482dd0e4">xbdbf.h</a></li>
+<li>XB_ALREADY_OPEN&#160;:&#160;<a class="el" href="xbretcod_8h.html#aa2ff8301503f446c6a5f6510090e520f">xbretcod.h</a></li>
+<li>XB_BLOCKREAD_NOT_ENABLED&#160;:&#160;<a class="el" href="xbretcod_8h.html#aae9241d91cfb37f5d236128b3bce0a4a">xbretcod.h</a></li>
+<li>XB_BOF&#160;:&#160;<a class="el" href="xbretcod_8h.html#ade5f3a7cf1467d12761e4e21b5e4200f">xbretcod.h</a></li>
+<li>XB_CHAR_FLD&#160;:&#160;<a class="el" href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa">xbdbf.h</a></li>
+<li>XB_CHAREOF&#160;:&#160;<a class="el" href="xbdbf_8h.html#ada1115f596131888c04df61546b198c4">xbdbf.h</a></li>
+<li>XB_CHARHDR&#160;:&#160;<a class="el" href="xbdbf_8h.html#a35d56cac7959c1e5c761684ced3f1e17">xbdbf.h</a></li>
+<li>XB_CLOSE_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#a030684d5541cf6127a76d81b0684b235">xbretcod.h</a></li>
+<li>XB_CLOSED&#160;:&#160;<a class="el" href="xbdbf_8h.html#a843ca4569326dbd1d0647899b0eb512f">xbdbf.h</a></li>
+<li>XB_DATE_FLD&#160;:&#160;<a class="el" href="xbdbf_8h.html#a7f685e6f5fe804b2174725a27ce73adc">xbdbf.h</a></li>
+<li>XB_DBF_FILE_NOT_OPEN&#160;:&#160;<a class="el" href="xbretcod_8h.html#a8104510b347c87998eadd0b27201e3c2">xbretcod.h</a></li>
+<li>XB_DELETE_FAILED&#160;:&#160;<a class="el" href="xbretcod_8h.html#ada15513935d5ede9216f07c0438f34d2">xbretcod.h</a></li>
+<li>XB_DELETED_RECS&#160;:&#160;<a class="el" href="xbdbf_8h.html#acc0a441854ed92b9d65d1181a97cad43">xbdbf.h</a></li>
+<li>XB_DIRECTORY_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#af532df74147ce2d872f61abfee49c53e">xbretcod.h</a></li>
+<li>XB_DONTOVERLAY&#160;:&#160;<a class="el" href="xbdbf_8h.html#a7b797840abdb3291373d15978103a778">xbdbf.h</a></li>
+<li>XB_DUP_TABLE_OR_ALIAS&#160;:&#160;<a class="el" href="xbretcod_8h.html#ac18036408d10e5eee1bf76cf92352b95">xbretcod.h</a></li>
+<li>XB_EMPTY&#160;:&#160;<a class="el" href="xbretcod_8h.html#a18068d0cbe0c7a1b4dd3176220180c29">xbretcod.h</a></li>
+<li>XB_EOF&#160;:&#160;<a class="el" href="xbretcod_8h.html#a8b47031e90c3f86306c7058e4490d3b7">xbretcod.h</a></li>
+<li>XB_FILE_EXISTS&#160;:&#160;<a class="el" href="xbretcod_8h.html#a54303a9677dbd5342233f33dd08c64d0">xbretcod.h</a></li>
+<li>XB_FILE_NOT_FOUND&#160;:&#160;<a class="el" href="xbretcod_8h.html#ad090af330c93111d12f6de35dbb065bc">xbretcod.h</a></li>
+<li>XB_FILE_TYPE_NOT_SUPPORTED&#160;:&#160;<a class="el" href="xbretcod_8h.html#ab7b9130a5f1df9975cfeaf6241933596">xbretcod.h</a></li>
+<li>XB_FLOAT_FLD&#160;:&#160;<a class="el" href="xbdbf_8h.html#a96ab4218d70ab603b4866354ce8c18cd">xbdbf.h</a></li>
+<li>XB_FMT_MONTH&#160;:&#160;<a class="el" href="xbdate_8h.html#aeacf2f7cc897ab5bd64781c0fb52b75d">xbdate.h</a></li>
+<li>XB_FMT_WEEK&#160;:&#160;<a class="el" href="xbdate_8h.html#a8f22704d3fd93fa85dd93b6c699e8178">xbdate.h</a></li>
+<li>XB_FMT_YEAR&#160;:&#160;<a class="el" href="xbdate_8h.html#aa29d78982a9e007874af1c4f4e4d1aa4">xbdate.h</a></li>
+<li>XB_INCOMPATIBLE_OPERANDS&#160;:&#160;<a class="el" href="xbretcod_8h.html#af141ec58b7ca7360e0be6c61d015ea74">xbretcod.h</a></li>
+<li>XB_INCONSISTENT_PARM_LENS&#160;:&#160;<a class="el" href="xbretcod_8h.html#adc4b24bfffa202f8df25409894e547b9">xbretcod.h</a></li>
+<li>XB_INVALID_BLOCK_NO&#160;:&#160;<a class="el" href="xbretcod_8h.html#a4e13b529b486c43ca600ce7d8ddbf3c2">xbretcod.h</a></li>
+<li>XB_INVALID_BLOCK_SIZE&#160;:&#160;<a class="el" href="xbretcod_8h.html#a1bd22921612389c37f6b2eac438c62c5">xbretcod.h</a></li>
+<li>XB_INVALID_DATA&#160;:&#160;<a class="el" href="xbretcod_8h.html#afb40bbed323ecb369dd430a2e1242f9a">xbretcod.h</a></li>
+<li>XB_INVALID_DATE&#160;:&#160;<a class="el" href="xbretcod_8h.html#a702475500357a27b8a34463be3e11925">xbretcod.h</a></li>
+<li>XB_INVALID_EXPRESSION&#160;:&#160;<a class="el" href="xbretcod_8h.html#a54db562c3cae97581812b4fccd52b71a">xbretcod.h</a></li>
+<li>XB_INVALID_FIELD&#160;:&#160;<a class="el" href="xbretcod_8h.html#a34180b2e2bd350ba2ebcdd1335e15d7e">xbretcod.h</a></li>
+<li>XB_INVALID_FIELD_LEN&#160;:&#160;<a class="el" href="xbretcod_8h.html#a7bd322c0efbba17f68ccccd6cf624411">xbretcod.h</a></li>
+<li>XB_INVALID_FIELD_NAME&#160;:&#160;<a class="el" href="xbretcod_8h.html#a59403978784130834cf39434cb73f96e">xbretcod.h</a></li>
+<li>XB_INVALID_FIELD_NO&#160;:&#160;<a class="el" href="xbretcod_8h.html#a09d6c08a44316f551108a74003efd381">xbretcod.h</a></li>
+<li>XB_INVALID_FIELD_TYPE&#160;:&#160;<a class="el" href="xbretcod_8h.html#a79e2588f067d6e236c0e5a2c0728ba9f">xbretcod.h</a></li>
+<li>XB_INVALID_FUNCTION&#160;:&#160;<a class="el" href="xbretcod_8h.html#a2b7e5e440dbcf5e6dc885b24dbe28742">xbretcod.h</a></li>
+<li>XB_INVALID_INDEX&#160;:&#160;<a class="el" href="xbretcod_8h.html#acd175ef0541e2cad424791bd87619dd4">xbretcod.h</a></li>
+<li>XB_INVALID_KEYNO&#160;:&#160;<a class="el" href="xbretcod_8h.html#aec2c0ac2bd62e0329ef130e4fbda39f8">xbretcod.h</a></li>
+<li>XB_INVALID_LOCK_OPTION&#160;:&#160;<a class="el" href="xbretcod_8h.html#ab45735e63c208eb7e6d6df31fd527aec">xbretcod.h</a></li>
+<li>XB_INVALID_MEMO_FIELD&#160;:&#160;<a class="el" href="xbretcod_8h.html#a187c50745f51bfe4aa6f70a92f16c59f">xbretcod.h</a></li>
+<li>XB_INVALID_NODELINK&#160;:&#160;<a class="el" href="xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb">xbretcod.h</a></li>
+<li>XB_INVALID_OBJECT&#160;:&#160;<a class="el" href="xbretcod_8h.html#a418c047353bc683d0fd6ecbbdd5b7885">xbretcod.h</a></li>
+<li>XB_INVALID_OPTION&#160;:&#160;<a class="el" href="xbretcod_8h.html#af1cd0baf346cad686fa4dd11f700012a">xbretcod.h</a></li>
+<li>XB_INVALID_PAGE&#160;:&#160;<a class="el" href="xbretcod_8h.html#ad0aba12b5ae2137f8d6abd28b47f95f0">xbretcod.h</a></li>
+<li>XB_INVALID_PARAMETER&#160;:&#160;<a class="el" href="xbretcod_8h.html#a1b78533ada854b4185c51ad8a5ce9f02">xbretcod.h</a></li>
+<li>XB_INVALID_PARM&#160;:&#160;<a class="el" href="xbretcod_8h.html#a4cedf96581c9cbc9c14d07494143702d">xbretcod.h</a></li>
+<li>XB_INVALID_RECORD&#160;:&#160;<a class="el" href="xbretcod_8h.html#a0fd212f912b2e62700a66bae95bd73a1">xbretcod.h</a></li>
+<li>XB_INVALID_TABLE_NAME&#160;:&#160;<a class="el" href="xbretcod_8h.html#a53891c95a78483704d2a8e14c4499f92">xbretcod.h</a></li>
+<li>XB_INVALID_TAG&#160;:&#160;<a class="el" href="xbretcod_8h.html#a176d917912d3433f065483f905a4c50a">xbretcod.h</a></li>
+<li>XB_KEY_NOT_UNIQUE&#160;:&#160;<a class="el" href="xbretcod_8h.html#ad60dbb1862c0c1c2dc0464cfbfd93a34">xbretcod.h</a></li>
+<li>XB_LIMIT_REACHED&#160;:&#160;<a class="el" href="xbretcod_8h.html#a59f1a8a6aca19595c2d1804349a24850">xbretcod.h</a></li>
+<li>XB_LOCK&#160;:&#160;<a class="el" href="xbdbf_8h.html#a395a2e101a793bacabf6bc079d178e29">xbdbf.h</a></li>
+<li>XB_LOCK_FAILED&#160;:&#160;<a class="el" href="xbretcod_8h.html#a001e24b39e0f155fb1e892f5b1b9cff1">xbretcod.h</a></li>
+<li>XB_LOGICAL_FLD&#160;:&#160;<a class="el" href="xbdbf_8h.html#a2f6d5073af761bc1a806a2c7b1c1d886">xbdbf.h</a></li>
+<li>XB_MAX_ERROR_NO&#160;:&#160;<a class="el" href="xbretcod_8h.html#a299419a9c80e000b74bf97a2d24d6a3d">xbretcod.h</a></li>
+<li>XB_MEMCPY_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#aa2925f035e3b186d7efa14648ea0e86d">xbretcod.h</a></li>
+<li>XB_MEMO_FLD&#160;:&#160;<a class="el" href="xbdbf_8h.html#a23fa19b19cb43bd6dcc59a5a3f6c30ad">xbdbf.h</a></li>
+<li>XB_MULTI_USER&#160;:&#160;<a class="el" href="xbfile_8h.html#a05c0fc99ba71cf953d046d12f3f874bc">xbfile.h</a></li>
+<li>XB_NO_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">xbretcod.h</a></li>
+<li>XB_NO_MEMORY&#160;:&#160;<a class="el" href="xbretcod_8h.html#ae687fc7d872ba0475a8477e4447f9b54">xbretcod.h</a></li>
+<li>XB_NOT_FOUND&#160;:&#160;<a class="el" href="xbretcod_8h.html#ac2606659a54111334f5b02861e533700">xbretcod.h</a></li>
+<li>XB_NOT_OPEN&#160;:&#160;<a class="el" href="xbretcod_8h.html#a9474b400f647bdefbbb07e5177e8d7a1">xbretcod.h</a></li>
+<li>XB_NULL_DATE&#160;:&#160;<a class="el" href="xbexp_8h.html#a6e9d2ccba2b3ac6e44ab411ffda488c2">xbexp.h</a></li>
+<li>XB_NUMERIC_FLD&#160;:&#160;<a class="el" href="xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6">xbdbf.h</a></li>
+<li>XB_OPEN&#160;:&#160;<a class="el" href="xbdbf_8h.html#a9a6dafbb07cac744eb14094efa739409">xbdbf.h</a></li>
+<li>XB_OPEN_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#aaab55236993a1d3acb29206252a904c8">xbretcod.h</a></li>
+<li>XB_OVERLAY&#160;:&#160;<a class="el" href="xbdbf_8h.html#a6fe10b307878b4612b04c2c876a4a592">xbdbf.h</a></li>
+<li>XB_PARSE_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#aec713cac2b03a0d536a2d16336ae7c0b">xbretcod.h</a></li>
+<li>XB_READ&#160;:&#160;<a class="el" href="xbfile_8h.html#ae58c73e0ba237fcf67ee20feea6c2743">xbfile.h</a></li>
+<li>XB_READ_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#adbd40585db8bb748d191f94a33bac710">xbretcod.h</a></li>
+<li>XB_READ_WRITE&#160;:&#160;<a class="el" href="xbfile_8h.html#af991a288c327f6857e90156ea734a633">xbfile.h</a></li>
+<li>XB_RENAME_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#a373f30b2efcbbab9f6d060fb3fe8cba3">xbretcod.h</a></li>
+<li>XB_SEEK_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#a0455ad8719e153b08ec68b10c81e9f41">xbretcod.h</a></li>
+<li>XB_SINGLE_USER&#160;:&#160;<a class="el" href="xbfile_8h.html#a9ec4d60a008c667d9861e3b3814f0232">xbfile.h</a></li>
+<li>XB_SYNTAX_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#a5db3a90f215534143bdde81253729c7f">xbretcod.h</a></li>
+<li>XB_TABLE_NOT_LOCKED&#160;:&#160;<a class="el" href="xbretcod_8h.html#af6aaf779fddecca521d785666f6dc56b">xbretcod.h</a></li>
+<li>XB_UNBALANCED_PARENS&#160;:&#160;<a class="el" href="xbretcod_8h.html#aff5646a6b0884ff81004de6961473ea6">xbretcod.h</a></li>
+<li>XB_UNBALANCED_QUOTES&#160;:&#160;<a class="el" href="xbretcod_8h.html#aedfa20a6c4eb9ba3063ba56be8280eac">xbretcod.h</a></li>
+<li>XB_UNLOCK&#160;:&#160;<a class="el" href="xbdbf_8h.html#a21389b73e7b4e7e185fa635b9e354c2e">xbdbf.h</a></li>
+<li>XB_UPDATED&#160;:&#160;<a class="el" href="xbdbf_8h.html#a26e7eeda69f32bc88b08a208ca9e7991">xbdbf.h</a></li>
+<li>XB_WRITE&#160;:&#160;<a class="el" href="xbfile_8h.html#abbf99e259c2f31572c886da6d85b1359">xbfile.h</a></li>
+<li>XB_WRITE_ERROR&#160;:&#160;<a class="el" href="xbretcod_8h.html#aef34ebe6726057f805d6063130280549">xbretcod.h</a></li>
+<li>xbFalse&#160;:&#160;<a class="el" href="xbtypes_8h.html#adc4b6ca5ad299f63675136d9e03938cc">xbtypes.h</a></li>
+<li>xbFileNo&#160;:&#160;<a class="el" href="xbtypes_8h.html#a2c65f692ac861990861575e18f72f6eb">xbtypes.h</a></li>
+<li>xbTrue&#160;:&#160;<a class="el" href="xbtypes_8h.html#ab0ae00665298fe7f5292691cb98ec2d9">xbtypes.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/globals_func.html b/docs/doxygen/html/globals_func.html
new file mode 100644
index 0000000..65f44a8
--- /dev/null
+++ b/docs/doxygen/html/globals_func.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
+<li>ChronTime()&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#af990eed1e43605771a5810196b4043f7">tstfuncs.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
+<li>dblEquals()&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#a8b8e417213c57f2ea0bcb61a7fb28860">tstfuncs.cpp</a></li>
+<li>dblMax()&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#a69a6e718e066af7f8392e5f1fea40d1b">tstfuncs.cpp</a></li>
+<li>dblMin()&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#a4d7b8f3f1ce52c6c0a281f25419f4c93">tstfuncs.cpp</a></li>
+<li>DevTester()&#160;:&#160;<a class="el" href="xb__test__expression_8cpp.html#aee57237c5f5b9b4d80e84bf530eb42bc">xb_test_expression.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_g" name="index_g"></a>- g -</h3><ul>
+<li>GetNextSqlCmd()&#160;:&#160;<a class="el" href="xb__execsql_8cpp.html#adb176b752e38521fdb334b4976965945">xb_execsql.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
+<li>InitTime()&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#ab1f17da15e67a8b2460d5a88b7a3db6e">tstfuncs.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
+<li>main()&#160;:&#160;<a class="el" href="xb__cfg__check_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_cfg_check.cpp</a>, <a class="el" href="xb__test__lock_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_lock.cpp</a>, <a class="el" href="xb__test__lock2_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_lock2.cpp</a>, <a class="el" href="xb__test__log_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_log.cpp</a>, <a class="el" href="xb__test__mdx_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_mdx.cpp</a>, <a class="el" href="xb__test__ndx_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_ndx.cpp</a>, <a class="el" href="xb__test__sql_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_sql.cpp</a>, <a class="el" href="xb__test__string_8cpp.html#aabf71bc9adb6daf457b2ea8879ae537f">xb_test_string.cpp</a>, <a class="el" href="xb__test__tblmgr_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_tblmgr.cpp</a>, <a class="el" href="xb__test__tdx_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_tdx.cpp</a>, <a class="el" href="xb__test__uda_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_uda.cpp</a>, <a class="el" href="xb__test__xbase_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_xbase.cpp</a>, <a class="el" href="xb__test__linklist_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_linklist.cpp</a>, <a class="el" href="xb__copydbf_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_copydbf.cpp</a>, <a class="el" href="xb__dbfutil_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_dbfutil.cpp</a>, <a class="el" href="xb__deletall_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_deletall.cpp</a>, <a class="el" href="xb__dumpdbt_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_dumpdbt.cpp</a>, <a class="el" href="xb__dumprecs_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_dumprecs.cpp</a>, <a class="el" href="xb__execsql_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_execsql.cpp</a>, <a class="el" href="xb__import_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_import.cpp</a>, <a class="el" href="xb__pack_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_pack.cpp</a>, <a class="el" href="xb__tblinfo_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_tblinfo.cpp</a>, <a class="el" href="xb__undelall_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">xb_undelall.cpp</a>, <a class="el" href="xb__test__blockread_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_blockread.cpp</a>, <a class="el" href="xb__ex__expression_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_expression.cpp</a>, <a class="el" href="xb__ex__log_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_ex_log.cpp</a>, <a class="el" href="xb__ex__sql_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_ex_sql.cpp</a>, <a class="el" href="xb__ex__ssv_8cpp.html#a6438fb6826a353355708e08b4395d689">xb_ex_ssv.cpp</a>, <a class="el" href="xb__ex__string_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_string.cpp</a>, <a class="el" href="xb__ex__v3__create__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_v3_create_dbf.cpp</a>, <a class="el" href="xb__ex__v3__upd__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_v3_upd_dbf.cpp</a>, <a class="el" href="xb__ex__v4__create__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_v4_create_dbf.cpp</a>, <a class="el" href="xb__ex__v4__upd__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_v4_upd_dbf.cpp</a>, <a class="el" href="xb__test__bcd_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_bcd.cpp</a>, <a class="el" href="xb__ex__date_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">xb_ex_date.cpp</a>, <a class="el" href="xb__test__date_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_date.cpp</a>, <a class="el" href="xb__test__dbf__v3__memos_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_dbf_v3_memos.cpp</a>, <a class="el" href="xb__test__dbf__v3__nomemos_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_dbf_v3_nomemos.cpp</a>, <a class="el" href="xb__test__dbf__v4__memos_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_dbf_v4_memos.cpp</a>, <a class="el" href="xb__test__dbf__v4__nomemos_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_dbf_v4_nomemos.cpp</a>, <a class="el" href="xb__test__expnode_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_expnode.cpp</a>, <a class="el" href="xb__test__expression_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_expression.cpp</a>, <a class="el" href="xb__test__file_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_file.cpp</a>, <a class="el" href="xb__test__filter_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_filter.cpp</a>, <a class="el" href="xb__test__funcs_8cpp.html#a1470527971db41f828c26074cde7e15a">xb_test_funcs.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
+<li>PrintHelp()&#160;:&#160;<a class="el" href="xb__dbfutil_8cpp.html#a9c55a055e1cd4249c7f47e19dc7ac564">xb_dbfutil.cpp</a>, <a class="el" href="xb__deletall_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_deletall.cpp</a>, <a class="el" href="xb__dumpdbt_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_dumpdbt.cpp</a>, <a class="el" href="xb__dumprecs_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_dumprecs.cpp</a>, <a class="el" href="xb__execsql_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_execsql.cpp</a>, <a class="el" href="xb__import_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_import.cpp</a>, <a class="el" href="xb__pack_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_pack.cpp</a>, <a class="el" href="xb__tblinfo_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_tblinfo.cpp</a>, <a class="el" href="xb__undelall_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_undelall.cpp</a>, <a class="el" href="xb__copydbf_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">xb_copydbf.cpp</a></li>
+<li>PrintResult()&#160;:&#160;<a class="el" href="xb__ex__expression_8cpp.html#a3234afc912211aec54c10d363d28cbda">xb_ex_expression.cpp</a></li>
+<li>PrintVersion()&#160;:&#160;<a class="el" href="xb__copydbf_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_copydbf.cpp</a>, <a class="el" href="xb__dbfutil_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_dbfutil.cpp</a>, <a class="el" href="xb__deletall_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_deletall.cpp</a>, <a class="el" href="xb__dumpdbt_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_dumpdbt.cpp</a>, <a class="el" href="xb__dumprecs_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_dumprecs.cpp</a>, <a class="el" href="xb__execsql_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_execsql.cpp</a>, <a class="el" href="xb__import_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_import.cpp</a>, <a class="el" href="xb__pack_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_pack.cpp</a>, <a class="el" href="xb__tblinfo_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_tblinfo.cpp</a>, <a class="el" href="xb__undelall_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">xb_undelall.cpp</a></li>
+</ul>
+
+
+<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
+<li>TestMethod()&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#a265547b80a3aef5836952bede5288e2c">tstfuncs.cpp</a>, <a class="el" href="xb__test__expression_8cpp.html#ad52c27685018dda7c5c4b26fb445860e">xb_test_expression.cpp</a></li>
+<li>TestTokenMethod()&#160;:&#160;<a class="el" href="xb__test__expression_8cpp.html#a440d64b55abaa9e14e73ecc132d1084d">xb_test_expression.cpp</a></li>
+<li>TestWeight()&#160;:&#160;<a class="el" href="xb__test__expression_8cpp.html#af56b6dbc38e0d23caaf6531526315379">xb_test_expression.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/globals_vars.html b/docs/doxygen/html/globals_vars.html
new file mode 100644
index 0000000..ae4118a
--- /dev/null
+++ b/docs/doxygen/html/globals_vars.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Globals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>MyDbfRec&#160;:&#160;<a class="el" href="xb__test__blockread_8cpp.html#af68c3291a63fdf20ffa0e477460d148e">xb_test_blockread.cpp</a></li>
+<li>MyV4Record&#160;:&#160;<a class="el" href="xb__ex__expression_8cpp.html#a2122b9562802e2fd799b20454000dc99">xb_ex_expression.cpp</a></li>
+<li>timer&#160;:&#160;<a class="el" href="tstfuncs_8cpp.html#ae2281da6157495d69406c35f69a61f9f">tstfuncs.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/hierarchy.html b/docs/doxygen/html/hierarchy.html
new file mode 100644
index 0000000..556162d
--- /dev/null
+++ b/docs/doxygen/html/hierarchy.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Class Hierarchy</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle"><div class="title">Class Hierarchy</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsFldMap.html" target="_self">sFldMap</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structxb_1_1xbSchema.html" target="_self">xb::xbSchema</a></td><td class="desc">Schema used for defining tables with CreateTable methods </td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbSsv.html" target="_self">xb::xbSsv</a></td><td class="desc">Class for handling shared system variables </td></tr>
+<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbDate.html" target="_self">xb::xbDate</a></td><td class="desc">XbDate class </td></tr>
+<tr id="row_2_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_1_" class="arrow" onclick="toggleFolder('2_1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbFile.html" target="_self">xb::xbFile</a></td><td class="desc">Class for handling low level file I/O </td></tr>
+<tr id="row_2_1_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbDbf.html" target="_self">xb::xbDbf</a></td><td class="desc">Base class for handling dbf files/tables </td></tr>
+<tr id="row_2_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_2_" class="arrow" onclick="toggleFolder('2_2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbTblMgr.html" target="_self">xb::xbTblMgr</a></td><td class="desc"></td></tr>
+<tr id="row_2_2_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbXBase.html" target="_self">xb::xbXBase</a></td><td class="desc">XbXbase class </td></tr>
+<tr id="row_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbString.html" target="_self">xb::xbString</a></td><td class="desc">Class for handling string data </td></tr>
+<tr id="row_4_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structxb_1_1xbTblList.html" target="_self">xb::xbTblList</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/include_2xbcrix_8cpp.html b/docs/doxygen/html/include_2xbcrix_8cpp.html
new file mode 100644
index 0000000..4687a16
--- /dev/null
+++ b/docs/doxygen/html/include_2xbcrix_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbcrix.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbcrix.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/index.html b/docs/doxygen/html/index.html
new file mode 100644
index 0000000..8fd29ce
--- /dev/null
+++ b/docs/doxygen/html/index.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Main Page</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle"><div class="title">Xbase64 Documentation</div></div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/jquery.js b/docs/doxygen/html/jquery.js
new file mode 100644
index 0000000..c9ed3d9
--- /dev/null
+++ b/docs/doxygen/html/jquery.js
@@ -0,0 +1,35 @@
+/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
+/*! jQuery UI - v1.12.1 - 2019-01-27
+* http://jqueryui.com
+* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/resizable.js, widgets/mouse.js
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}t.ui=t.ui||{},t.ui.version="1.12.1";var i=0,s=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,n,o=s.call(arguments,1),a=0,r=o.length;r>a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,m,g,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),x={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,m=_.offset,g=t.extend({},m),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),x[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?g.left+=p:"center"===n.at[0]&&(g.left+=p/2),"bottom"===n.at[1]?g.top+=f:"center"===n.at[1]&&(g.top+=f/2),u=e(x.at,p,f),g.left+=u[0],g.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),k=l+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},g),T=e(x.my,h.outerWidth(),h.outerHeight());"right"===n.my[0]?D.left-=l:"center"===n.my[0]&&(D.left-=l/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:k,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=m.left-D.left,i=e+p-l,s=m.top-D.top,r=s+f-c,u={target:{element:v,left:m.left,top:m.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element
+},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/**
+ * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler
+ * Licensed under MIT
+ * @author Ariel Flesler
+ * @version 2.1.2
+ */
+;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case "number":case "string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e= h(e);break}e=l?$(e):$(e,q);case "object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&& "%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()}, set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});
+/*!
+ PowerTip v1.3.1 (2018-04-15)
+ https://stevenbenner.github.io/jquery-powertip/
+ Copyright (c) 2018 Steven Benner (http://stevenbenner.com/).
+ Released under MIT license.
+ https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
+*/
+(function(root,factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof module==="object"&&module.exports){module.exports=factory(require("jquery"))}else{factory(root.jQuery)}})(this,function($){var $document=$(document),$window=$(window),$body=$("body");var DATA_DISPLAYCONTROLLER="displayController",DATA_HASACTIVEHOVER="hasActiveHover",DATA_FORCEDOPEN="forcedOpen",DATA_HASMOUSEMOVE="hasMouseMove",DATA_MOUSEONTOTIP="mouseOnToPopup",DATA_ORIGINALTITLE="originalTitle",DATA_POWERTIP="powertip",DATA_POWERTIPJQ="powertipjq",DATA_POWERTIPTARGET="powertiptarget",EVENT_NAMESPACE=".powertip",RAD2DEG=180/Math.PI,MOUSE_EVENTS=["click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave","contextmenu"];var session={tooltips:null,isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,closeDelayTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var Collision={none:0,top:1,bottom:2,left:4,right:8};$.fn.powerTip=function(opts,arg){var targetElements=this,options,tipController;if(!targetElements.length){return targetElements}if($.type(opts)==="string"&&$.powerTip[opts]){return $.powerTip[opts].call(targetElements,targetElements,arg)}options=$.extend({},$.fn.powerTip.defaults,opts);tipController=new TooltipController(options);initTracking();targetElements.each(function elementSetup(){var $this=$(this),dataPowertip=$this.data(DATA_POWERTIP),dataElem=$this.data(DATA_POWERTIPJQ),dataTarget=$this.data(DATA_POWERTIPTARGET),title=$this.attr("title");if(!dataPowertip&&!dataTarget&&!dataElem&&title){$this.data(DATA_POWERTIP,title);$this.data(DATA_ORIGINALTITLE,title);$this.removeAttr("title")}$this.data(DATA_DISPLAYCONTROLLER,new DisplayController($this,options,tipController))});if(!options.manual){$.each(options.openEvents,function(idx,evt){if($.inArray(evt,options.closeEvents)>-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference<options.intentSensitivity){cancelClose();closeAnyDelayed();tipController.showTip(element)}else{session.previousX=session.currentX;session.previousY=session.currentY;openTooltip()}}function cancelTimer(stopClose){hoverTimer=clearTimeout(hoverTimer);if(session.closeDelayTimeout&&myCloseDelay===session.closeDelayTimeout||stopClose){cancelClose()}}function cancelClose(){session.closeDelayTimeout=clearTimeout(session.closeDelayTimeout);session.delayInProgress=false}function closeAnyDelayed(){if(session.delayInProgress&&session.activeHover&&!session.activeHover.is(element)){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide(true)}}function repositionTooltip(){tipController.resetPosition(element)}this.show=openTooltip;this.hide=closeTooltip;this.cancel=cancelTimer;this.resetPosition=repositionTooltip}function PlacementCalculator(){function computePlacementCoords(element,placement,tipWidth,tipHeight,offset){var placementBase=placement.split("-")[0],coords=new CSSCoordinates,position;if(isSvgElement(element)){position=getSvgPlacement(element,placementBase)}else{position=getHtmlPlacement(element,placementBase)}switch(placement){case"n":coords.set("left",position.left-tipWidth/2);coords.set("bottom",session.windowHeight-position.top+offset);break;case"e":coords.set("left",position.left+offset);coords.set("top",position.top-tipHeight/2);break;case"s":coords.set("left",position.left-tipWidth/2);coords.set("top",position.top+offset);break;case"w":coords.set("top",position.top-tipHeight/2);coords.set("right",session.windowWidth-position.left+offset);break;case"nw":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"nw-alt":coords.set("left",position.left);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne":coords.set("left",position.left-20);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne-alt":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left);break;case"sw":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"sw-alt":coords.set("left",position.left);coords.set("top",position.top+offset);break;case"se":coords.set("left",position.left-20);coords.set("top",position.top+offset);break;case"se-alt":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left);break}return coords}function getHtmlPlacement(element,placement){var objectOffset=element.offset(),objectWidth=element.outerWidth(),objectHeight=element.outerHeight(),left,top;switch(placement){case"n":left=objectOffset.left+objectWidth/2;top=objectOffset.top;break;case"e":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight/2;break;case"s":left=objectOffset.left+objectWidth/2;top=objectOffset.top+objectHeight;break;case"w":left=objectOffset.left;top=objectOffset.top+objectHeight/2;break;case"nw":left=objectOffset.left;top=objectOffset.top;break;case"ne":left=objectOffset.left+objectWidth;top=objectOffset.top;break;case"sw":left=objectOffset.left;top=objectOffset.top+objectHeight;break;case"se":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight;break}return{top:top,left:left}}function getSvgPlacement(element,placement){var svgElement=element.closest("svg")[0],domElement=element[0],point=svgElement.createSVGPoint(),boundingBox=domElement.getBBox(),matrix=domElement.getScreenCTM(),halfWidth=boundingBox.width/2,halfHeight=boundingBox.height/2,placements=[],placementKeys=["nw","n","ne","e","se","s","sw","w"],coords,rotation,steps,x;function pushPlacement(){placements.push(point.matrixTransform(matrix))}point.x=boundingBox.x;point.y=boundingBox.y;pushPlacement();point.x+=halfWidth;pushPlacement();point.x+=halfWidth;pushPlacement();point.y+=halfHeight;pushPlacement();point.y+=halfHeight;pushPlacement();point.x-=halfWidth;pushPlacement();point.x-=halfWidth;pushPlacement();point.y-=halfHeight;pushPlacement();if(placements[0].y!==placements[1].y||placements[0].x!==placements[7].x){rotation=Math.atan2(matrix.b,matrix.a)*RAD2DEG;steps=Math.ceil((rotation%360-22.5)/45);if(steps<1){steps+=8}while(steps--){placementKeys.push(placementKeys.shift())}}for(x=0;x<placements.length;x++){if(placementKeys[x]===placement){coords=placements[x];break}}return{top:coords.y+session.scrollTop,left:coords.x+session.scrollLeft}}this.compute=computePlacementCoords}function TooltipController(options){var placementCalculator=new PlacementCalculator,tipElement=$("#"+options.popupId);if(tipElement.length===0){tipElement=$("<div/>",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.top<viewportTop||Math.abs(coords.bottom-session.windowHeight)-elementHeight<viewportTop){collisions|=Collision.top}if(coords.top+elementHeight>viewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.left<viewportLeft||coords.right+elementWidth>viewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right<viewportLeft){collisions|=Collision.right}return collisions}function countFlags(value){var count=0;while(value){value&=value-1;count++}return count}return $.powerTip});/*!
+ * jQuery UI Touch Punch 0.2.3
+ *
+ * Copyright 2011–2014, Dave Furfero
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ *
+ * Depends:
+ * jquery.ui.widget.js
+ * jquery.ui.mouse.js
+ */
+!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017
+ * http://www.smartmenus.org/
+ * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("<span/>").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('<div class="sm-jquery-disable-overlay"/>').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0],$('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y<o.upEnd)&&a.eq(o.up?1:0).show(),o.y==n)mouse&&a.eq(o.up?0:1).hide(),this.menuScrollStop(t);else if(!e){this.opts.scrollAccelerate&&o.step<this.opts.scrollStep&&(o.step+=.2);var h=this;this.scrollTimeout=requestAnimationFrame(function(){h.menuScroll(t)})}},menuScrollMousewheel:function(t,e){if(this.getClosestMenu(e.target)==t[0]){e=e.originalEvent;var i=(e.wheelDelta||-e.detail)>0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file
diff --git a/docs/doxygen/html/menu.js b/docs/doxygen/html/menu.js
new file mode 100644
index 0000000..54e81cf
--- /dev/null
+++ b/docs/doxygen/html/menu.js
@@ -0,0 +1,127 @@
+/*
+ @licstart The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend The above is the entire license notice for the JavaScript code in this file
+ */
+function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
+ function makeTree(data,relPath) {
+ var result='';
+ if ('children' in data) {
+ result+='<ul>';
+ for (var i in data.children) {
+ result+='<li><a href="'+relPath+data.children[i].url+'">'+
+ data.children[i].text+'</a>'+
+ makeTree(data.children[i],relPath)+'</li>';
+ }
+ result+='</ul>';
+ }
+ return result;
+ }
+ var searchBox;
+ if (searchEnabled) {
+ if (serverSide) {
+ searchBox='<div id="MSearchBox" class="MSearchBoxInactive">'+
+ '<div class="left">'+
+ '<form id="FSearchBox" action="'+relPath+searchPage+
+ '" method="get"><img id="MSearchSelect" src="'+
+ relPath+'search/mag.svg" alt=""/>'+
+ '<input type="text" id="MSearchField" name="query" value="'+search+
+ '" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)"'+
+ ' onblur="searchBox.OnSearchFieldFocus(false)">'+
+ '</form>'+
+ '</div>'+
+ '<div class="right"></div>'+
+ '</div>';
+ } else {
+ searchBox='<div id="MSearchBox" class="MSearchBoxInactive">'+
+ '<span class="left">'+
+ '<img id="MSearchSelect" src="'+relPath+
+ 'search/mag_sel.svg" onmouseover="return searchBox.OnSearchSelectShow()"'+
+ ' onmouseout="return searchBox.OnSearchSelectHide()" alt=""/>'+
+ '<input type="text" id="MSearchField" value="'+search+
+ '" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" '+
+ 'onblur="searchBox.OnSearchFieldFocus(false)" '+
+ 'onkeyup="searchBox.OnSearchFieldChange(event)"/>'+
+ '</span>'+
+ '<span class="right"><a id="MSearchClose" '+
+ 'href="javascript:searchBox.CloseResultsWindow()">'+
+ '<img id="MSearchCloseImg" border="0" src="'+relPath+
+ 'search/close.svg" alt=""/></a>'
+ '</span>'
+ '</div>';
+ }
+ }
+
+ $('#main-nav').before('<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>'+
+ '<label class="main-menu-btn" for="main-menu-state">'+
+ '<span class="main-menu-btn-icon"></span> '+
+ 'Toggle main menu visibility</label>'+
+ '<span id="searchBoxPos1" style="position:absolute;right:8px;top:8px;height:36px;"></span>'+
+ '</div>');
+ $('#main-nav').append(makeTree(menudata,relPath));
+ $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
+ if (searchBox) {
+ $('#main-menu').append('<li id="searchBoxPos2" style="float:right"></li>');
+ }
+ var $mainMenuState = $('#main-menu-state');
+ var prevWidth = 0;
+ if ($mainMenuState.length) {
+ function initResizableIfExists() {
+ if (typeof initResizable==='function') initResizable();
+ }
+ // animate mobile menu
+ $mainMenuState.change(function(e) {
+ var $menu = $('#main-menu');
+ var options = { duration: 250, step: initResizableIfExists };
+ if (this.checked) {
+ options['complete'] = function() { $menu.css('display', 'block') };
+ $menu.hide().slideDown(options);
+ } else {
+ options['complete'] = function() { $menu.css('display', 'none') };
+ $menu.show().slideUp(options);
+ }
+ });
+ // set default menu visibility
+ function resetState() {
+ var $menu = $('#main-menu');
+ var $mainMenuState = $('#main-menu-state');
+ var newWidth = $(window).outerWidth();
+ if (newWidth!=prevWidth) {
+ if ($(window).outerWidth()<768) {
+ $mainMenuState.prop('checked',false); $menu.hide();
+ $('#searchBoxPos1').html(searchBox);
+ $('#searchBoxPos2').hide();
+ } else {
+ $menu.show();
+ $('#searchBoxPos1').empty();
+ $('#searchBoxPos2').html(searchBox);
+ $('#searchBoxPos2').show();
+ }
+ prevWidth = newWidth;
+ }
+ }
+ $(window).ready(function() { resetState(); initResizableIfExists(); });
+ $(window).resize(resetState);
+ }
+ $('#main-menu').smartmenus();
+}
+/* @license-end */
diff --git a/docs/doxygen/html/menudata.js b/docs/doxygen/html/menudata.js
new file mode 100644
index 0000000..1eaf8cd
--- /dev/null
+++ b/docs/doxygen/html/menudata.js
@@ -0,0 +1,130 @@
+/*
+ @licstart The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend The above is the entire license notice for the JavaScript code in this file
+*/
+var menudata={children:[
+{text:"Main Page",url:"index.html"},
+{text:"Namespaces",url:"namespaces.html",children:[
+{text:"Namespace List",url:"namespaces.html"},
+{text:"Namespace Members",url:"namespacemembers.html",children:[
+{text:"All",url:"namespacemembers.html"},
+{text:"Functions",url:"namespacemembers_func.html"},
+{text:"Variables",url:"namespacemembers_vars.html"},
+{text:"Typedefs",url:"namespacemembers_type.html"}]}]},
+{text:"Data Structures",url:"annotated.html",children:[
+{text:"Data Structures",url:"annotated.html"},
+{text:"Data Structure Index",url:"classes.html"},
+{text:"Class Hierarchy",url:"hierarchy.html"},
+{text:"Data Fields",url:"functions.html",children:[
+{text:"All",url:"functions.html",children:[
+{text:"a",url:"functions.html#index_a"},
+{text:"b",url:"functions_b.html#index_b"},
+{text:"c",url:"functions_c.html#index_c"},
+{text:"d",url:"functions_d.html#index_d"},
+{text:"e",url:"functions_e.html#index_e"},
+{text:"f",url:"functions_f.html#index_f"},
+{text:"g",url:"functions_g.html#index_g"},
+{text:"h",url:"functions_h.html#index_h"},
+{text:"i",url:"functions_i.html#index_i"},
+{text:"j",url:"functions_j.html#index_j"},
+{text:"l",url:"functions_l.html#index_l"},
+{text:"m",url:"functions_m.html#index_m"},
+{text:"n",url:"functions_n.html#index_n"},
+{text:"o",url:"functions_o.html#index_o"},
+{text:"p",url:"functions_p.html#index_p"},
+{text:"r",url:"functions_r.html#index_r"},
+{text:"s",url:"functions_s.html#index_s"},
+{text:"t",url:"functions_t.html#index_t"},
+{text:"u",url:"functions_u.html#index_u"},
+{text:"v",url:"functions_v.html#index_v"},
+{text:"w",url:"functions_w.html#index_w"},
+{text:"x",url:"functions_x.html#index_x"},
+{text:"y",url:"functions_y.html#index_y"},
+{text:"z",url:"functions_z.html#index_z"},
+{text:"~",url:"functions_~.html#index__7E"}]},
+{text:"Functions",url:"functions_func.html",children:[
+{text:"a",url:"functions_func.html#index_a"},
+{text:"b",url:"functions_func_b.html#index_b"},
+{text:"c",url:"functions_func_c.html#index_c"},
+{text:"d",url:"functions_func_d.html#index_d"},
+{text:"e",url:"functions_func_e.html#index_e"},
+{text:"f",url:"functions_func_f.html#index_f"},
+{text:"g",url:"functions_func_g.html#index_g"},
+{text:"h",url:"functions_func_h.html#index_h"},
+{text:"i",url:"functions_func_i.html#index_i"},
+{text:"j",url:"functions_func_j.html#index_j"},
+{text:"l",url:"functions_func_l.html#index_l"},
+{text:"m",url:"functions_func_m.html#index_m"},
+{text:"n",url:"functions_func_n.html#index_n"},
+{text:"o",url:"functions_func_o.html#index_o"},
+{text:"p",url:"functions_func_p.html#index_p"},
+{text:"r",url:"functions_func_r.html#index_r"},
+{text:"s",url:"functions_func_s.html#index_s"},
+{text:"t",url:"functions_func_t.html#index_t"},
+{text:"u",url:"functions_func_u.html#index_u"},
+{text:"v",url:"functions_func_v.html#index_v"},
+{text:"w",url:"functions_func_w.html#index_w"},
+{text:"x",url:"functions_func_x.html#index_x"},
+{text:"y",url:"functions_func_y.html#index_y"},
+{text:"z",url:"functions_func_z.html#index_z"},
+{text:"~",url:"functions_func_~.html#index__7E"}]},
+{text:"Variables",url:"functions_vars.html",children:[
+{text:"c",url:"functions_vars.html#index_c"},
+{text:"e",url:"functions_vars.html#index_e"},
+{text:"i",url:"functions_vars.html#index_i"},
+{text:"n",url:"functions_vars.html#index_n"},
+{text:"p",url:"functions_vars.html#index_p"},
+{text:"r",url:"functions_vars.html#index_r"},
+{text:"s",url:"functions_vars.html#index_s"},
+{text:"u",url:"functions_vars.html#index_u"},
+{text:"x",url:"functions_vars.html#index_x"}]},
+{text:"Related Functions",url:"functions_rela.html"}]}]},
+{text:"Files",url:"files.html",children:[
+{text:"File List",url:"files.html"},
+{text:"Globals",url:"globals.html",children:[
+{text:"All",url:"globals.html",children:[
+{text:"c",url:"globals.html#index_c"},
+{text:"d",url:"globals.html#index_d"},
+{text:"g",url:"globals.html#index_g"},
+{text:"i",url:"globals.html#index_i"},
+{text:"j",url:"globals.html#index_j"},
+{text:"l",url:"globals.html#index_l"},
+{text:"m",url:"globals.html#index_m"},
+{text:"p",url:"globals.html#index_p"},
+{text:"t",url:"globals.html#index_t"},
+{text:"v",url:"globals.html#index_v"},
+{text:"x",url:"globals.html#index_x"}]},
+{text:"Functions",url:"globals_func.html",children:[
+{text:"c",url:"globals_func.html#index_c"},
+{text:"d",url:"globals_func.html#index_d"},
+{text:"g",url:"globals_func.html#index_g"},
+{text:"i",url:"globals_func.html#index_i"},
+{text:"m",url:"globals_func.html#index_m"},
+{text:"p",url:"globals_func.html#index_p"},
+{text:"t",url:"globals_func.html#index_t"}]},
+{text:"Variables",url:"globals_vars.html"},
+{text:"Macros",url:"globals_defs.html",children:[
+{text:"j",url:"globals_defs.html#index_j"},
+{text:"l",url:"globals_defs.html#index_l"},
+{text:"v",url:"globals_defs.html#index_v"},
+{text:"x",url:"globals_defs.html#index_x"}]}]}]}]}
diff --git a/docs/doxygen/html/namespacemembers.html b/docs/doxygen/html/namespacemembers.html
new file mode 100644
index 0000000..31f72b3
--- /dev/null
+++ b/docs/doxygen/html/namespacemembers.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Namespace Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all namespace members with links to the namespace documentation for each member:</div><ul>
+<li>operator&lt;&lt;()&#160;:&#160;<a class="el" href="namespacexb.html#ad27f348219e895c44f74addba8e1889a">xb</a></li>
+<li>xbBool&#160;:&#160;<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb</a></li>
+<li>xbDbf&#160;:&#160;<a class="el" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xb</a></li>
+<li>xbDouble&#160;:&#160;<a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb</a></li>
+<li>xbErrorMessages&#160;:&#160;<a class="el" href="namespacexb.html#a04be228a037d220dd5564f5ef618adcc">xb</a></li>
+<li>xbFloat&#160;:&#160;<a class="el" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xb</a></li>
+<li>xbLog&#160;:&#160;<a class="el" href="namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c">xb</a></li>
+<li>xbOffT&#160;:&#160;<a class="el" href="namespacexb.html#ac963d9fde6debb416303cfbed35fb793">xb</a></li>
+<li>xbXBase&#160;:&#160;<a class="el" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xb</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/namespacemembers_func.html b/docs/doxygen/html/namespacemembers_func.html
new file mode 100644
index 0000000..90acc35
--- /dev/null
+++ b/docs/doxygen/html/namespacemembers_func.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Namespace Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>operator&lt;&lt;()&#160;:&#160;<a class="el" href="namespacexb.html#ad27f348219e895c44f74addba8e1889a">xb</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/namespacemembers_type.html b/docs/doxygen/html/namespacemembers_type.html
new file mode 100644
index 0000000..edd39cf
--- /dev/null
+++ b/docs/doxygen/html/namespacemembers_type.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Namespace Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>xbBool&#160;:&#160;<a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb</a></li>
+<li>xbDouble&#160;:&#160;<a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb</a></li>
+<li>xbFloat&#160;:&#160;<a class="el" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xb</a></li>
+<li>xbOffT&#160;:&#160;<a class="el" href="namespacexb.html#ac963d9fde6debb416303cfbed35fb793">xb</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/namespacemembers_vars.html b/docs/doxygen/html/namespacemembers_vars.html
new file mode 100644
index 0000000..caa02e5
--- /dev/null
+++ b/docs/doxygen/html/namespacemembers_vars.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Namespace Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>xbDbf&#160;:&#160;<a class="el" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xb</a></li>
+<li>xbErrorMessages&#160;:&#160;<a class="el" href="namespacexb.html#a04be228a037d220dd5564f5ef618adcc">xb</a></li>
+<li>xbLog&#160;:&#160;<a class="el" href="namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c">xb</a></li>
+<li>xbXBase&#160;:&#160;<a class="el" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xb</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/namespaces.html b/docs/doxygen/html/namespaces.html
new file mode 100644
index 0000000..c77f658
--- /dev/null
+++ b/docs/doxygen/html/namespaces.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: Namespace List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle"><div class="title">Namespace List</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all namespaces with brief descriptions:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacexb.html" target="_self">xb</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbDate.html" target="_self">xbDate</a></td><td class="desc">XbDate class </td></tr>
+<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbDbf.html" target="_self">xbDbf</a></td><td class="desc">Base class for handling dbf files/tables </td></tr>
+<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbFile.html" target="_self">xbFile</a></td><td class="desc">Class for handling low level file I/O </td></tr>
+<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structxb_1_1xbSchema.html" target="_self">xbSchema</a></td><td class="desc">Schema used for defining tables with CreateTable methods </td></tr>
+<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbSsv.html" target="_self">xbSsv</a></td><td class="desc">Class for handling shared system variables </td></tr>
+<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbString.html" target="_self">xbString</a></td><td class="desc">Class for handling string data </td></tr>
+<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structxb_1_1xbTblList.html" target="_self">xbTblList</a></td><td class="desc"></td></tr>
+<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbTblMgr.html" target="_self">xbTblMgr</a></td><td class="desc"></td></tr>
+<tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classxb_1_1xbXBase.html" target="_self">xbXBase</a></td><td class="desc">XbXbase class </td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/namespacexb.html b/docs/doxygen/html/namespacexb.html
new file mode 100644
index 0000000..38d1e7c
--- /dev/null
+++ b/docs/doxygen/html/namespacexb.html
@@ -0,0 +1,290 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: xb Namespace Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle"><div class="title">xb Namespace Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html">xbDate</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classxb_1_1xbDate.html" title="xbDate class.">xbDate</a> class. <a href="classxb_1_1xbDate.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for handling dbf files/tables. <a href="classxb_1_1xbDbf.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html">xbFile</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class for handling low level file I/O. <a href="classxb_1_1xbFile.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxb_1_1xbSchema.html">xbSchema</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schema used for defining tables with CreateTable methods. <a href="structxb_1_1xbSchema.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html">xbSsv</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class for handling shared system variables. <a href="classxb_1_1xbSsv.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html">xbString</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class for handling string data. <a href="classxb_1_1xbString.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxb_1_1xbTblList.html">xbTblList</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html">xbTblMgr</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">xbXbase class. <a href="classxb_1_1xbXBase.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:a83aa6a550398db55973aa9fb4257e66e"><td class="memItemLeft" align="right" valign="top">typedef float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a></td></tr>
+<tr class="separator:a83aa6a550398db55973aa9fb4257e66e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25f47b226ce924a5c78f97989b0744a2"><td class="memItemLeft" align="right" valign="top">typedef double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a></td></tr>
+<tr class="separator:a25f47b226ce924a5c78f97989b0744a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1a750481dd487f0d384aa1d200dff0f"><td class="memItemLeft" align="right" valign="top">typedef short int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a></td></tr>
+<tr class="separator:ab1a750481dd487f0d384aa1d200dff0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac963d9fde6debb416303cfbed35fb793"><td class="memItemLeft" align="right" valign="top">typedef xbUInt64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#ac963d9fde6debb416303cfbed35fb793">xbOffT</a></td></tr>
+<tr class="separator:ac963d9fde6debb416303cfbed35fb793"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ad27f348219e895c44f74addba8e1889a"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#ad27f348219e895c44f74addba8e1889a">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;s)</td></tr>
+<tr class="memdesc:ad27f348219e895c44f74addba8e1889a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stream insertion operator &lt;&lt;. <a href="namespacexb.html#ad27f348219e895c44f74addba8e1889a">More...</a><br /></td></tr>
+<tr class="separator:ad27f348219e895c44f74addba8e1889a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a04be228a037d220dd5564f5ef618adcc"><td class="memItemLeft" align="right" valign="top">const xbErrorMessage&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#a04be228a037d220dd5564f5ef618adcc">xbErrorMessages</a> []</td></tr>
+<tr class="separator:a04be228a037d220dd5564f5ef618adcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97858ddeb1c4b0100f3edc1a46d3a8b0"><td class="memItemLeft" align="right" valign="top">class XBDLLEXPORT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a></td></tr>
+<tr class="separator:a97858ddeb1c4b0100f3edc1a46d3a8b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab2eae4b4732466698a7fdd89d77ba53b"><td class="memItemLeft" align="right" valign="top">class XBDLLEXPORT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a></td></tr>
+<tr class="separator:ab2eae4b4732466698a7fdd89d77ba53b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a31fbe9110c9e55495ce71e642d785c"><td class="memItemLeft" align="right" valign="top">class XBDLLEXPORT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c">xbLog</a></td></tr>
+<tr class="separator:a4a31fbe9110c9e55495ce71e642d785c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a id="ab1a750481dd487f0d384aa1d200dff0f" name="ab1a750481dd487f0d384aa1d200dff0f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab1a750481dd487f0d384aa1d200dff0f">&#9670;&nbsp;</a></span>xbBool</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef short int <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a25f47b226ce924a5c78f97989b0744a2" name="a25f47b226ce924a5c78f97989b0744a2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a25f47b226ce924a5c78f97989b0744a2">&#9670;&nbsp;</a></span>xbDouble</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef double <a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb::xbDouble</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a83aa6a550398db55973aa9fb4257e66e" name="a83aa6a550398db55973aa9fb4257e66e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a83aa6a550398db55973aa9fb4257e66e">&#9670;&nbsp;</a></span>xbFloat</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef float <a class="el" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xb::xbFloat</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac963d9fde6debb416303cfbed35fb793" name="ac963d9fde6debb416303cfbed35fb793"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac963d9fde6debb416303cfbed35fb793">&#9670;&nbsp;</a></span>xbOffT</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef xbUInt64 <a class="el" href="namespacexb.html#ac963d9fde6debb416303cfbed35fb793">xb::xbOffT</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ad27f348219e895c44f74addba8e1889a" name="ad27f348219e895c44f74addba8e1889a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad27f348219e895c44f74addba8e1889a">&#9670;&nbsp;</a></span>operator&lt;&lt;()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::ostream &amp; xb::operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">std::ostream &amp;&#160;</td>
+ <td class="paramname"><em>os</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>s</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Stream insertion operator &lt;&lt;. </p>
+<p >std::cout &lt;&lt; MyString &lt;&lt; std::endl;</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">os</td><td>Output stream </td></tr>
+ <tr><td class="paramname">s</td><td>String to send to output stream </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="ab2eae4b4732466698a7fdd89d77ba53b" name="ab2eae4b4732466698a7fdd89d77ba53b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab2eae4b4732466698a7fdd89d77ba53b">&#9670;&nbsp;</a></span>xbDbf</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">class XBDLLEXPORT <a class="el" href="classxb_1_1xbDbf.html">xb::xbDbf</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a04be228a037d220dd5564f5ef618adcc" name="a04be228a037d220dd5564f5ef618adcc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a04be228a037d220dd5564f5ef618adcc">&#9670;&nbsp;</a></span>xbErrorMessages</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const xbErrorMessage xb::xbErrorMessages[]</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4a31fbe9110c9e55495ce71e642d785c" name="a4a31fbe9110c9e55495ce71e642d785c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a31fbe9110c9e55495ce71e642d785c">&#9670;&nbsp;</a></span>xbLog</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">class XBDLLEXPORT xb::xbLog</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a97858ddeb1c4b0100f3edc1a46d3a8b0" name="a97858ddeb1c4b0100f3edc1a46d3a8b0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97858ddeb1c4b0100f3edc1a46d3a8b0">&#9670;&nbsp;</a></span>xbXBase</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">class XBDLLEXPORT <a class="el" href="classxb_1_1xbXBase.html">xb::xbXBase</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/nav_f.png b/docs/doxygen/html/nav_f.png
new file mode 100644
index 0000000..72a58a5
--- /dev/null
+++ b/docs/doxygen/html/nav_f.png
Binary files differ
diff --git a/docs/doxygen/html/nav_g.png b/docs/doxygen/html/nav_g.png
new file mode 100644
index 0000000..2093a23
--- /dev/null
+++ b/docs/doxygen/html/nav_g.png
Binary files differ
diff --git a/docs/doxygen/html/nav_h.png b/docs/doxygen/html/nav_h.png
new file mode 100644
index 0000000..33389b1
--- /dev/null
+++ b/docs/doxygen/html/nav_h.png
Binary files differ
diff --git a/docs/doxygen/html/open.png b/docs/doxygen/html/open.png
new file mode 100644
index 0000000..30f75c7
--- /dev/null
+++ b/docs/doxygen/html/open.png
Binary files differ
diff --git a/docs/doxygen/html/reindex_8cpp.html b/docs/doxygen/html/reindex_8cpp.html
new file mode 100644
index 0000000..8560b2a
--- /dev/null
+++ b/docs/doxygen/html/reindex_8cpp.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.0.2/src/utils/reindex.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">reindex.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;xbase64/xbase64.h&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a0c99d968a34e803d378692bde2e3f18f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reindex_8cpp.html#a0c99d968a34e803d378692bde2e3f18f">main</a> (int ac, char **av)</td></tr>
+<tr class="separator:a0c99d968a34e803d378692bde2e3f18f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0c99d968a34e803d378692bde2e3f18f" name="a0c99d968a34e803d378692bde2e3f18f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c99d968a34e803d378692bde2e3f18f">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>ac</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_0.html b/docs/doxygen/html/search/all_0.html
new file mode 100644
index 0000000..c36c9af
--- /dev/null
+++ b/docs/doxygen/html/search/all_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_0.js b/docs/doxygen/html/search/all_0.js
new file mode 100644
index 0000000..0f4d535
--- /dev/null
+++ b/docs/doxygen/html/search/all_0.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['abort_0',['Abort',['../classxb_1_1xbDbf.html#a4edcf31390fbdc8c3558004770fd9f2f',1,'xb::xbDbf']]],
+ ['addbackslash_1',['AddBackSlash',['../classxb_1_1xbString.html#a6c4fdb689d27a9d19a0b5b4236e1ca62',1,'xb::xbString']]],
+ ['addtbltotbllist_2',['AddTblToTblList',['../classxb_1_1xbTblMgr.html#af16832ff2bfaee09265652e0fc03709a',1,'xb::xbTblMgr::AddTblToTblList(xbDbf *d, const xbString &amp;sFqTblName)'],['../classxb_1_1xbTblMgr.html#a2033188e9b08778188a034a6fc90ca85',1,'xb::xbTblMgr::AddTblToTblList(xbDbf *d, const xbString &amp;sFqTblName, const xbString &amp;sTblAlias)']]],
+ ['append_3',['Append',['../classxb_1_1xbString.html#a8f202e4798491f2ae9ce51ff58dd5815',1,'xb::xbString::Append(const xbString &amp;s)'],['../classxb_1_1xbString.html#a1922319303feb6da1f40b5994c5e8240',1,'xb::xbString::Append(const char *s)'],['../classxb_1_1xbString.html#a097453cb71fbf0b5511cf1259ddce4fb',1,'xb::xbString::Append(const char *s, xbUInt32 iByteCount)'],['../classxb_1_1xbString.html#a093c6ab5df375a2589755bb8f48fa5c7',1,'xb::xbString::Append(char c)']]],
+ ['appendrecord_4',['AppendRecord',['../classxb_1_1xbDbf.html#a5b412dd796241673eb1aa2c93513d69b',1,'xb::xbDbf']]],
+ ['assign_5',['Assign',['../classxb_1_1xbString.html#a85bef82dfa22122a1ab8dfe58a107d96',1,'xb::xbString::Assign(const char *srcStr, xbUInt32 lStartPos, xbUInt32 lCopyLen)'],['../classxb_1_1xbString.html#a08eb7ca6740423acab4e8bd7a6c8043d',1,'xb::xbString::Assign(const char *srcStr, xbUInt32 lStartPos)'],['../classxb_1_1xbString.html#a430119df844bd80d67c23c48b045af30',1,'xb::xbString::Assign(const xbString &amp;s, xbUInt32 ulStartPos, xbUInt32 lCopyLen)'],['../classxb_1_1xbString.html#a97df314be5b3b2611be11ff50a19533d',1,'xb::xbString::Assign(const xbString &amp;s, xbUInt32 ulStartPos)']]]
+];
diff --git a/docs/doxygen/html/search/all_1.html b/docs/doxygen/html/search/all_1.html
new file mode 100644
index 0000000..91cfe8a
--- /dev/null
+++ b/docs/doxygen/html/search/all_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_1.js b/docs/doxygen/html/search/all_1.js
new file mode 100644
index 0000000..a3b8ce1
--- /dev/null
+++ b/docs/doxygen/html/search/all_1.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['bitdump_0',['BitDump',['../classxb_1_1xbSsv.html#a8551b15a3ce4fa2a40d698db01f4a9ae',1,'xb::xbSsv::BitDump(unsigned char c) const'],['../classxb_1_1xbSsv.html#aba1395b8e4c7f28c3614061de6e49190',1,'xb::xbSsv::BitDump(char c) const']]],
+ ['bitset_1',['BitSet',['../classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72',1,'xb::xbSsv']]],
+ ['blankrecord_2',['BlankRecord',['../classxb_1_1xbDbf.html#a78da5a3d2011a3f2e7618cbdd3ba02d6',1,'xb::xbDbf']]]
+];
diff --git a/docs/doxygen/html/search/all_10.html b/docs/doxygen/html/search/all_10.html
new file mode 100644
index 0000000..765f584
--- /dev/null
+++ b/docs/doxygen/html/search/all_10.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_10.js b/docs/doxygen/html/search/all_10.js
new file mode 100644
index 0000000..34303fe
--- /dev/null
+++ b/docs/doxygen/html/search/all_10.js
@@ -0,0 +1,30 @@
+var searchData=
+[
+ ['salias_0',['sAlias',['../classxb_1_1xbDbf.html#a73f9c792d0a769e2e604c1855245a276',1,'xb::xbDbf']]],
+ ['schemaptr_1',['SchemaPtr',['../classxb_1_1xbDbf.html#ad8c8b5eb12063bb898da1b2cc02cfce7',1,'xb::xbDbf']]],
+ ['set_2',['Set',['../classxb_1_1xbDate.html#a4b0cde152b5de0f7d26608d1445110b6',1,'xb::xbDate::Set()'],['../classxb_1_1xbString.html#ab85753d2c39882e946a8468cbb587700',1,'xb::xbString::Set(const char *s)'],['../classxb_1_1xbString.html#ac0d08bd688fd0e3707e32886d0dfeb09',1,'xb::xbString::Set(const xbString &amp;s)'],['../classxb_1_1xbString.html#a6eba6ccd0c805a22516de2c18a30f8a3',1,'xb::xbString::Set(const char *s, xbUInt32 ulSize)']]],
+ ['setautocommit_3',['SetAutoCommit',['../classxb_1_1xbDbf.html#a4cf7f0d423164f3cf074ae41f96f4e90',1,'xb::xbDbf']]],
+ ['setblocksize_4',['SetBlockSize',['../classxb_1_1xbFile.html#a991c5676a6f38fa752435390989f413e',1,'xb::xbFile']]],
+ ['setdatadirectory_5',['SetDataDirectory',['../classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c',1,'xb::xbSsv']]],
+ ['setdefaultautocommit_6',['SetDefaultAutoCommit',['../classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd',1,'xb::xbSsv']]],
+ ['setdefaultdateformat_7',['SetDefaultDateFormat',['../classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c',1,'xb::xbSsv']]],
+ ['setdirectory_8',['SetDirectory',['../classxb_1_1xbFile.html#ae78a85255488bc78964c16946dbaead3',1,'xb::xbFile']]],
+ ['setendiantype_9',['SetEndianType',['../classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108',1,'xb::xbSsv']]],
+ ['setfilename_10',['SetFileName',['../classxb_1_1xbFile.html#a5419eb27e56822f828b2b88a9502a636',1,'xb::xbFile']]],
+ ['setfqfilename_11',['SetFqFileName',['../classxb_1_1xbFile.html#aee832fa11db2077a532f49e1329bd05a',1,'xb::xbFile']]],
+ ['sethomefolders_12',['SetHomeFolders',['../classxb_1_1xbFile.html#a060acbfaa8d528f86cb59301814b414a',1,'xb::xbFile']]],
+ ['setlogdirectory_13',['SetLogDirectory',['../classxb_1_1xbSsv.html#a7b992ed97281bf25b5b66f5df686225e',1,'xb::xbSsv']]],
+ ['setlogfilename_14',['SetLogFileName',['../classxb_1_1xbSsv.html#a7f05738e7dfd759e89990242ef503544',1,'xb::xbSsv']]],
+ ['setlogsize_15',['SetLogSize',['../classxb_1_1xbXBase.html#a666a0cb5b76ec7a9a3677d339e0c6b42',1,'xb::xbXBase']]],
+ ['setmultiuser_16',['SetMultiUser',['../classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c',1,'xb::xbSsv']]],
+ ['setnum_17',['SetNum',['../classxb_1_1xbString.html#a3af5b1f111f94b0667551fcbd1d97abd',1,'xb::xbString']]],
+ ['settempdirectory_18',['SetTempDirectory',['../classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2',1,'xb::xbSsv']]],
+ ['setversion_19',['SetVersion',['../classxb_1_1xbDbf.html#a7e63e852418f337eb7c44de5dcd50323',1,'xb::xbDbf']]],
+ ['sfldmap_20',['sFldMap',['../structsFldMap.html',1,'']]],
+ ['snullstring_21',['sNullString',['../classxb_1_1xbSsv.html#a9dec3164c3b264882df634915ecf21da',1,'xb::xbSsv']]],
+ ['sprintf_22',['Sprintf',['../classxb_1_1xbString.html#a9e9bfa29d86377b915f1628aeb0e9195',1,'xb::xbString']]],
+ ['str_23',['Str',['../classxb_1_1xbDate.html#ab43a5d8d929767c0ffdd722972bb8cc0',1,'xb::xbDate::Str()'],['../classxb_1_1xbString.html#a6715f4c0010f3ab487c9d787838a29b3',1,'xb::xbString::Str() const']]],
+ ['strncpy_24',['strncpy',['../classxb_1_1xbString.html#a3bc9e856c34f0c240a6e36e5b6e3ea7b',1,'xb::xbString']]],
+ ['swapchars_25',['SwapChars',['../classxb_1_1xbString.html#a054683872e1f05d11c2cf8683a63a6fe',1,'xb::xbString']]],
+ ['sysdate_26',['Sysdate',['../classxb_1_1xbDate.html#a40ba54a58d64cf56266f020f91584192',1,'xb::xbDate']]]
+];
diff --git a/docs/doxygen/html/search/all_11.html b/docs/doxygen/html/search/all_11.html
new file mode 100644
index 0000000..e2183ee
--- /dev/null
+++ b/docs/doxygen/html/search/all_11.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_11.js b/docs/doxygen/html/search/all_11.js
new file mode 100644
index 0000000..06b6b3d
--- /dev/null
+++ b/docs/doxygen/html/search/all_11.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+ ['testmethod_0',['TestMethod',['../xb__test__expression_8cpp.html#aa385c5f9fa8b4cfd63763b4a28852b64',1,'TestMethod(xbXBase *xb, xbDbf *d, xbInt16 PrintOption, const char *title, const xbString &amp;sExpression, xbBool bExpectedResult):&#160;xb_test_expression.cpp'],['../tstfuncs_8cpp.html#a265547b80a3aef5836952bede5288e2c',1,'TestMethod(xbInt16 PrintOption, const char *title, const xbString &amp;result, const char *expectedResult, size_t expectedLen):&#160;tstfuncs.cpp'],['../tstfuncs_8cpp.html#a9c27703ef863c9d29680844fc5124953',1,'TestMethod(xbInt16 PrintOption, const char *title, char result, char expectedResult):&#160;tstfuncs.cpp'],['../tstfuncs_8cpp.html#ae6536e920580382389126d5f66655f90',1,'TestMethod(xbInt16 PrintOption, const char *title, xbInt32 result, xbInt32 expectedResult):&#160;tstfuncs.cpp'],['../tstfuncs_8cpp.html#a000fca67bc0fffea3d3da7a5317a06e4',1,'TestMethod(xbInt16 PrintOption, const char *title, xbUInt64 result, xbUInt64 expectedResult):&#160;tstfuncs.cpp'],['../tstfuncs_8cpp.html#a663f3dd7bd8574a35c1b1b9a22081c6d',1,'TestMethod(xbInt16 PrintOption, const char *title, xbFloat result, xbFloat expectedResult):&#160;tstfuncs.cpp'],['../tstfuncs_8cpp.html#af1c78fb72bcd39eb86f11aa2887fe62c',1,'TestMethod(xbInt16 PrintOption, const char *title, xbDouble result, xbDouble expectedResult):&#160;tstfuncs.cpp'],['../tstfuncs_8cpp.html#ac64a0bed74ba10b638456709f128f893',1,'TestMethod(xbInt16 PrintOption, const char *title, xbDouble result, xbDouble expectedResult, xbDouble dEpsilon):&#160;tstfuncs.cpp'],['../xb__test__expression_8cpp.html#ad52c27685018dda7c5c4b26fb445860e',1,'TestMethod(xbXBase *xb, xbDbf *d, xbInt16 PrintOption, const char *title, const xbString &amp;sExpression, const char *sExpectedResult, xbInt16 iExpectedResultLen):&#160;xb_test_expression.cpp'],['../xb__test__expression_8cpp.html#a7030149316fe8d8195ffbb18132e0cf9',1,'TestMethod(xbXBase *xb, xbDbf *d, xbInt16 PrintOption, const char *title, const xbString &amp;sExpression, xbDouble dExpectedResult):&#160;xb_test_expression.cpp'],['../xb__test__expression_8cpp.html#a10e637a203841bd2b6a92e6217509e23',1,'TestMethod(xbXBase *xb, xbDbf *d, xbInt16 PrintOption, const char *title, const xbString &amp;sExpression, xbDate dtExpectedResult):&#160;xb_test_expression.cpp']]],
+ ['testtokenmethod_1',['TestTokenMethod',['../xb__test__expression_8cpp.html#a440d64b55abaa9e14e73ecc132d1084d',1,'xb_test_expression.cpp']]],
+ ['testweight_2',['TestWeight',['../xb__test__expression_8cpp.html#af56b6dbc38e0d23caaf6531526315379',1,'xb_test_expression.cpp']]],
+ ['timer_3',['timer',['../tstfuncs_8cpp.html#ae2281da6157495d69406c35f69a61f9f',1,'tstfuncs.cpp']]],
+ ['tolowercase_4',['ToLowerCase',['../classxb_1_1xbString.html#a602cac1a6ef3f6b52f587ac4c0ef4fb2',1,'xb::xbString']]],
+ ['touppercase_5',['ToUpperCase',['../classxb_1_1xbString.html#a68001d0a44e6b4fe61e29a4e41ded9d4',1,'xb::xbString']]],
+ ['trim_6',['Trim',['../classxb_1_1xbString.html#abc9bd33687d4e03ca52d77885721d626',1,'xb::xbString']]],
+ ['tstfuncs_2ecpp_7',['tstfuncs.cpp',['../tstfuncs_8cpp.html',1,'']]]
+];
diff --git a/docs/doxygen/html/search/all_12.html b/docs/doxygen/html/search/all_12.html
new file mode 100644
index 0000000..9b9621c
--- /dev/null
+++ b/docs/doxygen/html/search/all_12.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_12.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_12.js b/docs/doxygen/html/search/all_12.js
new file mode 100644
index 0000000..56d429c
--- /dev/null
+++ b/docs/doxygen/html/search/all_12.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['uiheaderlen_0',['uiHeaderLen',['../classxb_1_1xbDbf.html#a62f5fa9149ae0f6dc75642823de66918',1,'xb::xbDbf']]],
+ ['uirecordlen_1',['uiRecordLen',['../classxb_1_1xbDbf.html#a1760e222567e2c849f9c799b9d896e91',1,'xb::xbDbf']]],
+ ['ulcurrec_2',['ulCurRec',['../classxb_1_1xbDbf.html#afcd99924606be0a9e1e25180bcd1abf8',1,'xb::xbDbf']]],
+ ['ulnoofrecs_3',['ulNoOfRecs',['../classxb_1_1xbDbf.html#acb594ab61dd35b17bdf28394083f8e87',1,'xb::xbDbf']]],
+ ['undeleteallrecords_4',['UndeleteAllRecords',['../classxb_1_1xbDbf.html#ae94cb1bf9f75184f39d9e1a80ab49d4a',1,'xb::xbDbf']]],
+ ['undeleterecord_5',['UndeleteRecord',['../classxb_1_1xbDbf.html#a255681976a04fc722538bb630507b3a0',1,'xb::xbDbf']]]
+];
diff --git a/docs/doxygen/html/search/all_13.html b/docs/doxygen/html/search/all_13.html
new file mode 100644
index 0000000..4acb7f9
--- /dev/null
+++ b/docs/doxygen/html/search/all_13.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_13.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_13.js b/docs/doxygen/html/search/all_13.js
new file mode 100644
index 0000000..4ebd614
--- /dev/null
+++ b/docs/doxygen/html/search/all_13.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['validateschema_0',['ValidateSchema',['../classxb_1_1xbDbf.html#aba5dcac3b4092261bc1669740cdd669d',1,'xb::xbDbf']]],
+ ['validlogicalvalue_1',['ValidLogicalValue',['../classxb_1_1xbString.html#a72b16c15fd8822efaa5f158c34df7b1e',1,'xb::xbString']]],
+ ['validnumericvalue_2',['ValidNumericValue',['../classxb_1_1xbString.html#aeed920d2a25111f776ddde2d530eb81b',1,'xb::xbString']]],
+ ['verbose_3',['VERBOSE',['../xb__test__string_8cpp.html#a42f8c497a1968074f38bf5055c650dca',1,'xb_test_string.cpp']]]
+];
diff --git a/docs/doxygen/html/search/all_14.html b/docs/doxygen/html/search/all_14.html
new file mode 100644
index 0000000..abb790c
--- /dev/null
+++ b/docs/doxygen/html/search/all_14.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_14.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_14.js b/docs/doxygen/html/search/all_14.js
new file mode 100644
index 0000000..c9794d0
--- /dev/null
+++ b/docs/doxygen/html/search/all_14.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['writeblock_0',['WriteBlock',['../classxb_1_1xbFile.html#a5d871dcfecc2b4338f7a13722aab766c',1,'xb::xbFile']]],
+ ['writeheader_1',['WriteHeader',['../classxb_1_1xbDbf.html#a44e1410109ef7b3d11a6af4b704b62b2',1,'xb::xbDbf']]],
+ ['writelogbytes_2',['WriteLogBytes',['../classxb_1_1xbXBase.html#a0dff00b9ee3c288841e137ca01168116',1,'xb::xbXBase']]],
+ ['writelogmessage_3',['WriteLogMessage',['../classxb_1_1xbXBase.html#a9ca5be73abffd0fdd18bdc799877272a',1,'xb::xbXBase']]]
+];
diff --git a/docs/doxygen/html/search/all_15.html b/docs/doxygen/html/search/all_15.html
new file mode 100644
index 0000000..33e250b
--- /dev/null
+++ b/docs/doxygen/html/search/all_15.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_15.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_15.js b/docs/doxygen/html/search/all_15.js
new file mode 100644
index 0000000..57abaef
--- /dev/null
+++ b/docs/doxygen/html/search/all_15.js
@@ -0,0 +1,236 @@
+var searchData=
+[
+ ['xb_0',['xb',['../namespacexb.html',1,'']]],
+ ['xb_5factive_5frecs_1',['XB_ACTIVE_RECS',['../xbdbf_8h.html#a1c44bb25bf2e23a3a9d3d2312df0b592',1,'xbdbf.h']]],
+ ['xb_5fall_5frecs_2',['XB_ALL_RECS',['../xbdbf_8h.html#a8bd17730da3ba5c55a6a07bc482dd0e4',1,'xbdbf.h']]],
+ ['xb_5falready_5fopen_3',['XB_ALREADY_OPEN',['../xbretcod_8h.html#aa2ff8301503f446c6a5f6510090e520f',1,'xbretcod.h']]],
+ ['xb_5fblockread_5fnot_5fenabled_4',['XB_BLOCKREAD_NOT_ENABLED',['../xbretcod_8h.html#aae9241d91cfb37f5d236128b3bce0a4a',1,'xbretcod.h']]],
+ ['xb_5fbof_5',['XB_BOF',['../xbretcod_8h.html#ade5f3a7cf1467d12761e4e21b5e4200f',1,'xbretcod.h']]],
+ ['xb_5fcfg_5fcheck_2ecpp_6',['xb_cfg_check.cpp',['../xb__cfg__check_8cpp.html',1,'']]],
+ ['xb_5fchar_5ffld_7',['XB_CHAR_FLD',['../xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa',1,'xbdbf.h']]],
+ ['xb_5fchareof_8',['XB_CHAREOF',['../xbdbf_8h.html#ada1115f596131888c04df61546b198c4',1,'xbdbf.h']]],
+ ['xb_5fcharhdr_9',['XB_CHARHDR',['../xbdbf_8h.html#a35d56cac7959c1e5c761684ced3f1e17',1,'xbdbf.h']]],
+ ['xb_5fclose_5ferror_10',['XB_CLOSE_ERROR',['../xbretcod_8h.html#a030684d5541cf6127a76d81b0684b235',1,'xbretcod.h']]],
+ ['xb_5fclosed_11',['XB_CLOSED',['../xbdbf_8h.html#a843ca4569326dbd1d0647899b0eb512f',1,'xbdbf.h']]],
+ ['xb_5fcopydbf_2ecpp_12',['xb_copydbf.cpp',['../xb__copydbf_8cpp.html',1,'']]],
+ ['xb_5fdate_5ffld_13',['XB_DATE_FLD',['../xbdbf_8h.html#a7f685e6f5fe804b2174725a27ce73adc',1,'xbdbf.h']]],
+ ['xb_5fdbf_5ffile_5fnot_5fopen_14',['XB_DBF_FILE_NOT_OPEN',['../xbretcod_8h.html#a8104510b347c87998eadd0b27201e3c2',1,'xbretcod.h']]],
+ ['xb_5fdbfutil_2ecpp_15',['xb_dbfutil.cpp',['../xb__dbfutil_8cpp.html',1,'']]],
+ ['xb_5fdeletall_2ecpp_16',['xb_deletall.cpp',['../xb__deletall_8cpp.html',1,'']]],
+ ['xb_5fdelete_5ffailed_17',['XB_DELETE_FAILED',['../xbretcod_8h.html#ada15513935d5ede9216f07c0438f34d2',1,'xbretcod.h']]],
+ ['xb_5fdeleted_5frecs_18',['XB_DELETED_RECS',['../xbdbf_8h.html#acc0a441854ed92b9d65d1181a97cad43',1,'xbdbf.h']]],
+ ['xb_5fdirectory_5ferror_19',['XB_DIRECTORY_ERROR',['../xbretcod_8h.html#af532df74147ce2d872f61abfee49c53e',1,'xbretcod.h']]],
+ ['xb_5fdontoverlay_20',['XB_DONTOVERLAY',['../xbdbf_8h.html#a7b797840abdb3291373d15978103a778',1,'xbdbf.h']]],
+ ['xb_5fdumpdbt_2ecpp_21',['xb_dumpdbt.cpp',['../xb__dumpdbt_8cpp.html',1,'']]],
+ ['xb_5fdumprecs_2ecpp_22',['xb_dumprecs.cpp',['../xb__dumprecs_8cpp.html',1,'']]],
+ ['xb_5fdup_5ftable_5for_5falias_23',['XB_DUP_TABLE_OR_ALIAS',['../xbretcod_8h.html#ac18036408d10e5eee1bf76cf92352b95',1,'xbretcod.h']]],
+ ['xb_5fempty_24',['XB_EMPTY',['../xbretcod_8h.html#a18068d0cbe0c7a1b4dd3176220180c29',1,'xbretcod.h']]],
+ ['xb_5feof_25',['XB_EOF',['../xbretcod_8h.html#a8b47031e90c3f86306c7058e4490d3b7',1,'xbretcod.h']]],
+ ['xb_5fex_5fdate_2ecpp_26',['xb_ex_date.cpp',['../xb__ex__date_8cpp.html',1,'']]],
+ ['xb_5fex_5fexpression_2ecpp_27',['xb_ex_expression.cpp',['../xb__ex__expression_8cpp.html',1,'']]],
+ ['xb_5fex_5flog_2ecpp_28',['xb_ex_log.cpp',['../xb__ex__log_8cpp.html',1,'']]],
+ ['xb_5fex_5fsql_2ecpp_29',['xb_ex_sql.cpp',['../xb__ex__sql_8cpp.html',1,'']]],
+ ['xb_5fex_5fssv_2ecpp_30',['xb_ex_ssv.cpp',['../xb__ex__ssv_8cpp.html',1,'']]],
+ ['xb_5fex_5fstring_2ecpp_31',['xb_ex_string.cpp',['../xb__ex__string_8cpp.html',1,'']]],
+ ['xb_5fex_5fv3_5fcreate_5fdbf_2ecpp_32',['xb_ex_v3_create_dbf.cpp',['../xb__ex__v3__create__dbf_8cpp.html',1,'']]],
+ ['xb_5fex_5fv3_5fupd_5fdbf_2ecpp_33',['xb_ex_v3_upd_dbf.cpp',['../xb__ex__v3__upd__dbf_8cpp.html',1,'']]],
+ ['xb_5fex_5fv4_5fcreate_5fdbf_2ecpp_34',['xb_ex_v4_create_dbf.cpp',['../xb__ex__v4__create__dbf_8cpp.html',1,'']]],
+ ['xb_5fex_5fv4_5fupd_5fdbf_2ecpp_35',['xb_ex_v4_upd_dbf.cpp',['../xb__ex__v4__upd__dbf_8cpp.html',1,'']]],
+ ['xb_5fexecsql_2ecpp_36',['xb_execsql.cpp',['../xb__execsql_8cpp.html',1,'']]],
+ ['xb_5ffile_5fexists_37',['XB_FILE_EXISTS',['../xbretcod_8h.html#a54303a9677dbd5342233f33dd08c64d0',1,'xbretcod.h']]],
+ ['xb_5ffile_5fnot_5ffound_38',['XB_FILE_NOT_FOUND',['../xbretcod_8h.html#ad090af330c93111d12f6de35dbb065bc',1,'xbretcod.h']]],
+ ['xb_5ffile_5ftype_5fnot_5fsupported_39',['XB_FILE_TYPE_NOT_SUPPORTED',['../xbretcod_8h.html#ab7b9130a5f1df9975cfeaf6241933596',1,'xbretcod.h']]],
+ ['xb_5ffloat_5ffld_40',['XB_FLOAT_FLD',['../xbdbf_8h.html#a96ab4218d70ab603b4866354ce8c18cd',1,'xbdbf.h']]],
+ ['xb_5ffmt_5fmonth_41',['XB_FMT_MONTH',['../xbdate_8h.html#aeacf2f7cc897ab5bd64781c0fb52b75d',1,'xbdate.h']]],
+ ['xb_5ffmt_5fweek_42',['XB_FMT_WEEK',['../xbdate_8h.html#a8f22704d3fd93fa85dd93b6c699e8178',1,'xbdate.h']]],
+ ['xb_5ffmt_5fyear_43',['XB_FMT_YEAR',['../xbdate_8h.html#aa29d78982a9e007874af1c4f4e4d1aa4',1,'xbdate.h']]],
+ ['xb_5fimport_2ecpp_44',['xb_import.cpp',['../xb__import_8cpp.html',1,'']]],
+ ['xb_5fincompatible_5foperands_45',['XB_INCOMPATIBLE_OPERANDS',['../xbretcod_8h.html#af141ec58b7ca7360e0be6c61d015ea74',1,'xbretcod.h']]],
+ ['xb_5finconsistent_5fparm_5flens_46',['XB_INCONSISTENT_PARM_LENS',['../xbretcod_8h.html#adc4b24bfffa202f8df25409894e547b9',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fblock_5fno_47',['XB_INVALID_BLOCK_NO',['../xbretcod_8h.html#a4e13b529b486c43ca600ce7d8ddbf3c2',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fblock_5fsize_48',['XB_INVALID_BLOCK_SIZE',['../xbretcod_8h.html#a1bd22921612389c37f6b2eac438c62c5',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fdata_49',['XB_INVALID_DATA',['../xbretcod_8h.html#afb40bbed323ecb369dd430a2e1242f9a',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fdate_50',['XB_INVALID_DATE',['../xbretcod_8h.html#a702475500357a27b8a34463be3e11925',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fexpression_51',['XB_INVALID_EXPRESSION',['../xbretcod_8h.html#a54db562c3cae97581812b4fccd52b71a',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ffield_52',['XB_INVALID_FIELD',['../xbretcod_8h.html#a34180b2e2bd350ba2ebcdd1335e15d7e',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ffield_5flen_53',['XB_INVALID_FIELD_LEN',['../xbretcod_8h.html#a7bd322c0efbba17f68ccccd6cf624411',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ffield_5fname_54',['XB_INVALID_FIELD_NAME',['../xbretcod_8h.html#a59403978784130834cf39434cb73f96e',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ffield_5fno_55',['XB_INVALID_FIELD_NO',['../xbretcod_8h.html#a09d6c08a44316f551108a74003efd381',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ffield_5ftype_56',['XB_INVALID_FIELD_TYPE',['../xbretcod_8h.html#a79e2588f067d6e236c0e5a2c0728ba9f',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ffunction_57',['XB_INVALID_FUNCTION',['../xbretcod_8h.html#a2b7e5e440dbcf5e6dc885b24dbe28742',1,'xbretcod.h']]],
+ ['xb_5finvalid_5findex_58',['XB_INVALID_INDEX',['../xbretcod_8h.html#acd175ef0541e2cad424791bd87619dd4',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fkeyno_59',['XB_INVALID_KEYNO',['../xbretcod_8h.html#aec2c0ac2bd62e0329ef130e4fbda39f8',1,'xbretcod.h']]],
+ ['xb_5finvalid_5flock_5foption_60',['XB_INVALID_LOCK_OPTION',['../xbretcod_8h.html#ab45735e63c208eb7e6d6df31fd527aec',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fmemo_5ffield_61',['XB_INVALID_MEMO_FIELD',['../xbretcod_8h.html#a187c50745f51bfe4aa6f70a92f16c59f',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fnodelink_62',['XB_INVALID_NODELINK',['../xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fobject_63',['XB_INVALID_OBJECT',['../xbretcod_8h.html#a418c047353bc683d0fd6ecbbdd5b7885',1,'xbretcod.h']]],
+ ['xb_5finvalid_5foption_64',['XB_INVALID_OPTION',['../xbretcod_8h.html#af1cd0baf346cad686fa4dd11f700012a',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fpage_65',['XB_INVALID_PAGE',['../xbretcod_8h.html#ad0aba12b5ae2137f8d6abd28b47f95f0',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fparameter_66',['XB_INVALID_PARAMETER',['../xbretcod_8h.html#a1b78533ada854b4185c51ad8a5ce9f02',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fparm_67',['XB_INVALID_PARM',['../xbretcod_8h.html#a4cedf96581c9cbc9c14d07494143702d',1,'xbretcod.h']]],
+ ['xb_5finvalid_5frecord_68',['XB_INVALID_RECORD',['../xbretcod_8h.html#a0fd212f912b2e62700a66bae95bd73a1',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ftable_5fname_69',['XB_INVALID_TABLE_NAME',['../xbretcod_8h.html#a53891c95a78483704d2a8e14c4499f92',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ftag_70',['XB_INVALID_TAG',['../xbretcod_8h.html#a176d917912d3433f065483f905a4c50a',1,'xbretcod.h']]],
+ ['xb_5fkey_5fnot_5funique_71',['XB_KEY_NOT_UNIQUE',['../xbretcod_8h.html#ad60dbb1862c0c1c2dc0464cfbfd93a34',1,'xbretcod.h']]],
+ ['xb_5flimit_5freached_72',['XB_LIMIT_REACHED',['../xbretcod_8h.html#a59f1a8a6aca19595c2d1804349a24850',1,'xbretcod.h']]],
+ ['xb_5flock_73',['XB_LOCK',['../xbdbf_8h.html#a395a2e101a793bacabf6bc079d178e29',1,'xbdbf.h']]],
+ ['xb_5flock_5ffailed_74',['XB_LOCK_FAILED',['../xbretcod_8h.html#a001e24b39e0f155fb1e892f5b1b9cff1',1,'xbretcod.h']]],
+ ['xb_5flogical_5ffld_75',['XB_LOGICAL_FLD',['../xbdbf_8h.html#a2f6d5073af761bc1a806a2c7b1c1d886',1,'xbdbf.h']]],
+ ['xb_5fmax_5ferror_5fno_76',['XB_MAX_ERROR_NO',['../xbretcod_8h.html#a299419a9c80e000b74bf97a2d24d6a3d',1,'xbretcod.h']]],
+ ['xb_5fmemcpy_5ferror_77',['XB_MEMCPY_ERROR',['../xbretcod_8h.html#aa2925f035e3b186d7efa14648ea0e86d',1,'xbretcod.h']]],
+ ['xb_5fmemo_5ffld_78',['XB_MEMO_FLD',['../xbdbf_8h.html#a23fa19b19cb43bd6dcc59a5a3f6c30ad',1,'xbdbf.h']]],
+ ['xb_5fmulti_5fuser_79',['XB_MULTI_USER',['../xbfile_8h.html#a05c0fc99ba71cf953d046d12f3f874bc',1,'xbfile.h']]],
+ ['xb_5fno_5ferror_80',['XB_NO_ERROR',['../xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23',1,'xbretcod.h']]],
+ ['xb_5fno_5fmemory_81',['XB_NO_MEMORY',['../xbretcod_8h.html#ae687fc7d872ba0475a8477e4447f9b54',1,'xbretcod.h']]],
+ ['xb_5fnot_5ffound_82',['XB_NOT_FOUND',['../xbretcod_8h.html#ac2606659a54111334f5b02861e533700',1,'xbretcod.h']]],
+ ['xb_5fnot_5fopen_83',['XB_NOT_OPEN',['../xbretcod_8h.html#a9474b400f647bdefbbb07e5177e8d7a1',1,'xbretcod.h']]],
+ ['xb_5fnull_5fdate_84',['XB_NULL_DATE',['../xbexp_8h.html#a6e9d2ccba2b3ac6e44ab411ffda488c2',1,'xbexp.h']]],
+ ['xb_5fnumeric_5ffld_85',['XB_NUMERIC_FLD',['../xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6',1,'xbdbf.h']]],
+ ['xb_5fopen_86',['XB_OPEN',['../xbdbf_8h.html#a9a6dafbb07cac744eb14094efa739409',1,'xbdbf.h']]],
+ ['xb_5fopen_5ferror_87',['XB_OPEN_ERROR',['../xbretcod_8h.html#aaab55236993a1d3acb29206252a904c8',1,'xbretcod.h']]],
+ ['xb_5foverlay_88',['XB_OVERLAY',['../xbdbf_8h.html#a6fe10b307878b4612b04c2c876a4a592',1,'xbdbf.h']]],
+ ['xb_5fpack_2ecpp_89',['xb_pack.cpp',['../xb__pack_8cpp.html',1,'']]],
+ ['xb_5fparse_5ferror_90',['XB_PARSE_ERROR',['../xbretcod_8h.html#aec713cac2b03a0d536a2d16336ae7c0b',1,'xbretcod.h']]],
+ ['xb_5fread_91',['XB_READ',['../xbfile_8h.html#ae58c73e0ba237fcf67ee20feea6c2743',1,'xbfile.h']]],
+ ['xb_5fread_5ferror_92',['XB_READ_ERROR',['../xbretcod_8h.html#adbd40585db8bb748d191f94a33bac710',1,'xbretcod.h']]],
+ ['xb_5fread_5fwrite_93',['XB_READ_WRITE',['../xbfile_8h.html#af991a288c327f6857e90156ea734a633',1,'xbfile.h']]],
+ ['xb_5frename_5ferror_94',['XB_RENAME_ERROR',['../xbretcod_8h.html#a373f30b2efcbbab9f6d060fb3fe8cba3',1,'xbretcod.h']]],
+ ['xb_5fseek_5ferror_95',['XB_SEEK_ERROR',['../xbretcod_8h.html#a0455ad8719e153b08ec68b10c81e9f41',1,'xbretcod.h']]],
+ ['xb_5fsingle_5fuser_96',['XB_SINGLE_USER',['../xbfile_8h.html#a9ec4d60a008c667d9861e3b3814f0232',1,'xbfile.h']]],
+ ['xb_5fsyntax_5ferror_97',['XB_SYNTAX_ERROR',['../xbretcod_8h.html#a5db3a90f215534143bdde81253729c7f',1,'xbretcod.h']]],
+ ['xb_5ftable_5fnot_5flocked_98',['XB_TABLE_NOT_LOCKED',['../xbretcod_8h.html#af6aaf779fddecca521d785666f6dc56b',1,'xbretcod.h']]],
+ ['xb_5ftblinfo_2ecpp_99',['xb_tblinfo.cpp',['../xb__tblinfo_8cpp.html',1,'']]],
+ ['xb_5ftest_5fbcd_2ecpp_100',['xb_test_bcd.cpp',['../xb__test__bcd_8cpp.html',1,'']]],
+ ['xb_5ftest_5fblockread_2ecpp_101',['xb_test_blockread.cpp',['../xb__test__blockread_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdate_2ecpp_102',['xb_test_date.cpp',['../xb__test__date_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdbf_5fv3_5fmemos_2ecpp_103',['xb_test_dbf_v3_memos.cpp',['../xb__test__dbf__v3__memos_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdbf_5fv3_5fnomemos_2ecpp_104',['xb_test_dbf_v3_nomemos.cpp',['../xb__test__dbf__v3__nomemos_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdbf_5fv4_5fmemos_2ecpp_105',['xb_test_dbf_v4_memos.cpp',['../xb__test__dbf__v4__memos_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdbf_5fv4_5fnomemos_2ecpp_106',['xb_test_dbf_v4_nomemos.cpp',['../xb__test__dbf__v4__nomemos_8cpp.html',1,'']]],
+ ['xb_5ftest_5fexpnode_2ecpp_107',['xb_test_expnode.cpp',['../xb__test__expnode_8cpp.html',1,'']]],
+ ['xb_5ftest_5fexpression_2ecpp_108',['xb_test_expression.cpp',['../xb__test__expression_8cpp.html',1,'']]],
+ ['xb_5ftest_5ffile_2ecpp_109',['xb_test_file.cpp',['../xb__test__file_8cpp.html',1,'']]],
+ ['xb_5ftest_5ffilter_2ecpp_110',['xb_test_filter.cpp',['../xb__test__filter_8cpp.html',1,'']]],
+ ['xb_5ftest_5ffuncs_2ecpp_111',['xb_test_funcs.cpp',['../xb__test__funcs_8cpp.html',1,'']]],
+ ['xb_5ftest_5flinklist_2ecpp_112',['xb_test_linklist.cpp',['../xb__test__linklist_8cpp.html',1,'']]],
+ ['xb_5ftest_5flock_2ecpp_113',['xb_test_lock.cpp',['../xb__test__lock_8cpp.html',1,'']]],
+ ['xb_5ftest_5flock2_2ecpp_114',['xb_test_lock2.cpp',['../xb__test__lock2_8cpp.html',1,'']]],
+ ['xb_5ftest_5flog_2ecpp_115',['xb_test_log.cpp',['../xb__test__log_8cpp.html',1,'']]],
+ ['xb_5ftest_5fmdx_2ecpp_116',['xb_test_mdx.cpp',['../xb__test__mdx_8cpp.html',1,'']]],
+ ['xb_5ftest_5fndx_2ecpp_117',['xb_test_ndx.cpp',['../xb__test__ndx_8cpp.html',1,'']]],
+ ['xb_5ftest_5fsql_2ecpp_118',['xb_test_sql.cpp',['../xb__test__sql_8cpp.html',1,'']]],
+ ['xb_5ftest_5fstring_2ecpp_119',['xb_test_string.cpp',['../xb__test__string_8cpp.html',1,'']]],
+ ['xb_5ftest_5ftblmgr_2ecpp_120',['xb_test_tblmgr.cpp',['../xb__test__tblmgr_8cpp.html',1,'']]],
+ ['xb_5ftest_5ftdx_2ecpp_121',['xb_test_tdx.cpp',['../xb__test__tdx_8cpp.html',1,'']]],
+ ['xb_5ftest_5fuda_2ecpp_122',['xb_test_uda.cpp',['../xb__test__uda_8cpp.html',1,'']]],
+ ['xb_5ftest_5fxbase_2ecpp_123',['xb_test_xbase.cpp',['../xb__test__xbase_8cpp.html',1,'']]],
+ ['xb_5funbalanced_5fparens_124',['XB_UNBALANCED_PARENS',['../xbretcod_8h.html#aff5646a6b0884ff81004de6961473ea6',1,'xbretcod.h']]],
+ ['xb_5funbalanced_5fquotes_125',['XB_UNBALANCED_QUOTES',['../xbretcod_8h.html#aedfa20a6c4eb9ba3063ba56be8280eac',1,'xbretcod.h']]],
+ ['xb_5fundelall_2ecpp_126',['xb_undelall.cpp',['../xb__undelall_8cpp.html',1,'']]],
+ ['xb_5funlock_127',['XB_UNLOCK',['../xbdbf_8h.html#a21389b73e7b4e7e185fa635b9e354c2e',1,'xbdbf.h']]],
+ ['xb_5fupdated_128',['XB_UPDATED',['../xbdbf_8h.html#a26e7eeda69f32bc88b08a208ca9e7991',1,'xbdbf.h']]],
+ ['xb_5fwrite_129',['XB_WRITE',['../xbfile_8h.html#abbf99e259c2f31572c886da6d85b1359',1,'xbfile.h']]],
+ ['xb_5fwrite_5ferror_130',['XB_WRITE_ERROR',['../xbretcod_8h.html#aef34ebe6726057f805d6063130280549',1,'xbretcod.h']]],
+ ['xbalttbl_2ecpp_131',['xbalttbl.cpp',['../xbalttbl_8cpp.html',1,'']]],
+ ['xbase_132',['xbase',['../classxb_1_1xbFile.html#ae39a67ea391b46055d4ca299cb222004',1,'xb::xbFile']]],
+ ['xbase_2eh_133',['xbase.h',['../xbase_8h.html',1,'']]],
+ ['xbbcd_134',['xbBcd',['../classxb_1_1xbXBase.html#a86a53ce3efbf910996df0f853f1c0add',1,'xb::xbXBase']]],
+ ['xbbcd_2ecpp_135',['xbbcd.cpp',['../xbbcd_8cpp.html',1,'']]],
+ ['xbbcd_2eh_136',['xbbcd.h',['../xbbcd_8h.html',1,'']]],
+ ['xbblkread_2eh_137',['xbblkread.h',['../xbblkread_8h.html',1,'']]],
+ ['xbblockread_2ecpp_138',['xbblockread.cpp',['../xbblockread_8cpp.html',1,'']]],
+ ['xbbool_139',['xbBool',['../namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f',1,'xb']]],
+ ['xbcrix_2ecpp_140',['xbcrix.cpp',['../sql_2xbcrix_8cpp.html',1,'(Global Namespace)'],['../include_2xbcrix_8cpp.html',1,'(Global Namespace)']]],
+ ['xbcrtbl_2ecpp_141',['xbcrtbl.cpp',['../xbcrtbl_8cpp.html',1,'']]],
+ ['xbdate_142',['xbDate',['../classxb_1_1xbDate.html',1,'xb::xbDate'],['../classxb_1_1xbDate.html#a8dfc827b466be3c5e3def599277dfa43',1,'xb::xbDate::xbDate(xbUInt16 iInit)'],['../classxb_1_1xbDate.html#a7ab727a7ec184a086ad36ef83b948170',1,'xb::xbDate::xbDate(xbInt32 lJulDate)'],['../classxb_1_1xbDate.html#acf4546f5681735ede18210f60bab68d4',1,'xb::xbDate::xbDate(const xbString &amp;Date8)'],['../classxb_1_1xbDate.html#ac8a4d9330221a3daee21b3c28c1d9719',1,'xb::xbDate::xbDate(const char *Date8)'],['../classxb_1_1xbDate.html#ab3150e7db0ab5db10a07d748b55465eb',1,'xb::xbDate::xbDate()']]],
+ ['xbdate_2ecpp_143',['xbdate.cpp',['../xbdate_8cpp.html',1,'']]],
+ ['xbdate_2eh_144',['xbdate.h',['../xbdate_8h.html',1,'']]],
+ ['xbdbf_145',['xbDbf',['../classxb_1_1xbDbf.html',1,'xb::xbDbf'],['../classxb_1_1xbDbf.html#a84a75f80bc0e9b8a22b728767949c204',1,'xb::xbDbf::xbDbf()'],['../namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b',1,'xb::xbDbf()']]],
+ ['xbdbf_2ecpp_146',['xbdbf.cpp',['../xbdbf_8cpp.html',1,'']]],
+ ['xbdbf_2eh_147',['xbdbf.h',['../xbdbf_8h.html',1,'']]],
+ ['xbdbf3_2ecpp_148',['xbdbf3.cpp',['../xbdbf3_8cpp.html',1,'']]],
+ ['xbdbf4_2ecpp_149',['xbdbf4.cpp',['../xbdbf4_8cpp.html',1,'']]],
+ ['xbdelete_2ecpp_150',['xbdelete.cpp',['../xbdelete_8cpp.html',1,'']]],
+ ['xbdouble_151',['xbDouble',['../namespacexb.html#a25f47b226ce924a5c78f97989b0744a2',1,'xb']]],
+ ['xbdrpix_2ecpp_152',['xbdrpix.cpp',['../xbdrpix_8cpp.html',1,'']]],
+ ['xbdrptbl_2ecpp_153',['xbdrptbl.cpp',['../xbdrptbl_8cpp.html',1,'']]],
+ ['xberrormessages_154',['xbErrorMessages',['../namespacexb.html#a04be228a037d220dd5564f5ef618adcc',1,'xb']]],
+ ['xbexp_155',['xbExp',['../classxb_1_1xbXBase.html#a3c3e5617be811d732472fe2cc8fb18cc',1,'xb::xbXBase']]],
+ ['xbexp_2ecpp_156',['xbexp.cpp',['../xbexp_8cpp.html',1,'']]],
+ ['xbexp_2eh_157',['xbexp.h',['../xbexp_8h.html',1,'']]],
+ ['xbexpnode_2ecpp_158',['xbexpnode.cpp',['../xbexpnode_8cpp.html',1,'']]],
+ ['xbexpnode_2eh_159',['xbexpnode.h',['../xbexpnode_8h.html',1,'']]],
+ ['xbfalse_160',['xbFalse',['../xbtypes_8h.html#adc4b6ca5ad299f63675136d9e03938cc',1,'xbtypes.h']]],
+ ['xbfclose_161',['xbFclose',['../classxb_1_1xbFile.html#a18830b5755d74818f60d9c7ce38ddf2d',1,'xb::xbFile']]],
+ ['xbfeof_162',['xbFeof',['../classxb_1_1xbFile.html#af5b6356832d2a67212070a1aa605f170',1,'xb::xbFile']]],
+ ['xbfflush_163',['xbFflush',['../classxb_1_1xbFile.html#ad205184d43409f04216540ae22f15009',1,'xb::xbFile']]],
+ ['xbfgetc_164',['xbFgetc',['../classxb_1_1xbFile.html#afb1c584d2895ffb7834df80aea7eb1e4',1,'xb::xbFile::xbFgetc(xbInt32 &amp;c)'],['../classxb_1_1xbFile.html#a5ee229bda4d7d6695e122200e581e7a6',1,'xb::xbFile::xbFgetc(char &amp;c)']]],
+ ['xbfgets_165',['xbFgets',['../classxb_1_1xbFile.html#ad245955ace26e5dde85fd4373b30d026',1,'xb::xbFile']]],
+ ['xbfields_2ecpp_166',['xbfields.cpp',['../xbfields_8cpp.html',1,'']]],
+ ['xbfile_167',['xbFile',['../classxb_1_1xbFile.html',1,'xb::xbFile'],['../classxb_1_1xbFile.html#a869eedd74c6eddc308852eb546c87176',1,'xb::xbFile::xbFile()']]],
+ ['xbfile_2ecpp_168',['xbfile.cpp',['../xbfile_8cpp.html',1,'']]],
+ ['xbfile_2eh_169',['xbfile.h',['../xbfile_8h.html',1,'']]],
+ ['xbfileno_170',['xbFileNo',['../xbtypes_8h.html#a2c65f692ac861990861575e18f72f6eb',1,'xbtypes.h']]],
+ ['xbfilter_2ecpp_171',['xbfilter.cpp',['../xbfilter_8cpp.html',1,'']]],
+ ['xbfilter_2eh_172',['xbfilter.h',['../xbfilter_8h.html',1,'']]],
+ ['xbfloat_173',['xbFloat',['../namespacexb.html#a83aa6a550398db55973aa9fb4257e66e',1,'xb']]],
+ ['xbfopen_174',['xbFopen',['../classxb_1_1xbFile.html#a0548cedf0f26b7d8ac221f75b0cd048c',1,'xb::xbFile::xbFopen(const xbString &amp;sOpenMode, xbInt16 iShareMode)'],['../classxb_1_1xbFile.html#a7cdfef5ede9ac98d44a28a6b7a70972c',1,'xb::xbFile::xbFopen(xbInt16 iOpenMode)'],['../classxb_1_1xbFile.html#aabd113333b49c36cad23244b392baab4',1,'xb::xbFile::xbFopen(xbInt16 iOpenMode, xbInt16 iShareMode)'],['../classxb_1_1xbFile.html#ab0fa19686ca8953ff4b556fb5b249135',1,'xb::xbFile::xbFopen(const xbString &amp;sMode, const xbString &amp;sFileName, xbInt16 iShareMode)']]],
+ ['xbfputc_175',['xbFputc',['../classxb_1_1xbFile.html#a863f74cf17df8186d88586b4d2a6441a',1,'xb::xbFile::xbFputc(xbInt32 c, xbInt32 iNoTimes)'],['../classxb_1_1xbFile.html#af2e940c78956e5cb6824f9a1bc404896',1,'xb::xbFile::xbFputc(xbInt32 c)']]],
+ ['xbfputs_176',['xbFputs',['../classxb_1_1xbFile.html#a698f3b40216778562e639e6ca1a47573',1,'xb::xbFile']]],
+ ['xbfread_177',['xbFread',['../classxb_1_1xbFile.html#ab4f6afaa1f77539f27a4f05c26e54e2f',1,'xb::xbFile']]],
+ ['xbfseek_178',['xbFseek',['../classxb_1_1xbFile.html#a5337ab8918df240910c0d19b4f298e3d',1,'xb::xbFile']]],
+ ['xbftell_179',['xbFtell',['../classxb_1_1xbFile.html#a0e1c06aedfa7fbcb92e117f891edd13b',1,'xb::xbFile']]],
+ ['xbfturnofffilebuffering_180',['xbFTurnOffFileBuffering',['../classxb_1_1xbFile.html#a9891b792f585a696f38a5cf959e30918',1,'xb::xbFile']]],
+ ['xbfuncs_2ecpp_181',['xbfuncs.cpp',['../xbfuncs_8cpp.html',1,'']]],
+ ['xbfwrite_182',['xbFwrite',['../classxb_1_1xbFile.html#a6aadd871d1782944703fed773d44b85f',1,'xb::xbFile']]],
+ ['xbindex_2eh_183',['xbindex.h',['../xbindex_8h.html',1,'']]],
+ ['xbinsert_2ecpp_184',['xbinsert.cpp',['../xbinsert_8cpp.html',1,'']]],
+ ['xbixbase_2ecpp_185',['xbixbase.cpp',['../xbixbase_8cpp.html',1,'']]],
+ ['xbixmdx_2ecpp_186',['xbixmdx.cpp',['../xbixmdx_8cpp.html',1,'']]],
+ ['xbixndx_2ecpp_187',['xbixndx.cpp',['../xbixndx_8cpp.html',1,'']]],
+ ['xbixtdx_2ecpp_188',['xbixtdx.cpp',['../xbixtdx_8cpp.html',1,'']]],
+ ['xblnklst_2eh_189',['xblnklst.h',['../xblnklst_8h.html',1,'']]],
+ ['xblnklstord_2eh_190',['xblnklstord.h',['../xblnklstord_8h.html',1,'']]],
+ ['xblnknod_2eh_191',['xblnknod.h',['../xblnknod_8h.html',1,'']]],
+ ['xblog_192',['xbLog',['../namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c',1,'xb']]],
+ ['xblog_2ecpp_193',['xblog.cpp',['../xblog_8cpp.html',1,'']]],
+ ['xblog_2eh_194',['xblog.h',['../xblog_8h.html',1,'']]],
+ ['xbmemcmp_195',['xbMemcmp',['../classxb_1_1xbXBase.html#a1b239c021358476382942522911b5c66',1,'xb::xbXBase']]],
+ ['xbmemo_2ecpp_196',['xbmemo.cpp',['../xbmemo_8cpp.html',1,'']]],
+ ['xbmemo_2eh_197',['xbmemo.h',['../xbmemo_8h.html',1,'']]],
+ ['xbmemo3_2ecpp_198',['xbmemo3.cpp',['../xbmemo3_8cpp.html',1,'']]],
+ ['xbmemo4_2ecpp_199',['xbmemo4.cpp',['../xbmemo4_8cpp.html',1,'']]],
+ ['xbofft_200',['xbOffT',['../namespacexb.html#ac963d9fde6debb416303cfbed35fb793',1,'xb']]],
+ ['xbreaduntil_201',['xbReadUntil',['../classxb_1_1xbFile.html#a08463f506f425c2385acbe1a561506e9',1,'xb::xbFile']]],
+ ['xbremove_202',['xbRemove',['../classxb_1_1xbFile.html#a6d919366c2ec95e529906bf8842cbf07',1,'xb::xbFile::xbRemove(const xbString &amp;sFileName, xbInt16 iOption)'],['../classxb_1_1xbFile.html#ab3c668a8570433188382d31d7c60bd48',1,'xb::xbFile::xbRemove()'],['../classxb_1_1xbFile.html#a58f6a6751fdf7e9549c273bb75d93eb5',1,'xb::xbFile::xbRemove(const xbString &amp;sFileName)']]],
+ ['xbrename_203',['xbRename',['../classxb_1_1xbFile.html#afc8ce113aa72611a278233f9bb170012',1,'xb::xbFile']]],
+ ['xbretcod_2eh_204',['xbretcod.h',['../xbretcod_8h.html',1,'']]],
+ ['xbrewind_205',['xbRewind',['../classxb_1_1xbFile.html#a7996b6e084665c37c3892faea64b3505',1,'xb::xbFile']]],
+ ['xbschema_206',['xbSchema',['../structxb_1_1xbSchema.html',1,'xb']]],
+ ['xbselect_2ecpp_207',['xbselect.cpp',['../xbselect_8cpp.html',1,'']]],
+ ['xbset_2ecpp_208',['xbset.cpp',['../xbset_8cpp.html',1,'']]],
+ ['xbsleep_209',['xbSleep',['../classxb_1_1xbXBase.html#a0915aff7be4b2dd3e881f3c5d0da4baf',1,'xb::xbXBase']]],
+ ['xbsql_2ecpp_210',['xbsql.cpp',['../xbsql_8cpp.html',1,'']]],
+ ['xbsql_2eh_211',['xbsql.h',['../xbsql_8h.html',1,'']]],
+ ['xbssv_212',['xbSsv',['../classxb_1_1xbSsv.html',1,'xb::xbSsv'],['../classxb_1_1xbSsv.html#a58f85692c3167af20b1a7c17c621523b',1,'xb::xbSsv::xbSsv()']]],
+ ['xbssv_2ecpp_213',['xbssv.cpp',['../xbssv_8cpp.html',1,'']]],
+ ['xbssv_2eh_214',['xbssv.h',['../xbssv_8h.html',1,'']]],
+ ['xbstmt_2ecpp_215',['xbstmt.cpp',['../xbstmt_8cpp.html',1,'']]],
+ ['xbstring_216',['xbString',['../classxb_1_1xbString.html',1,'xb::xbString'],['../classxb_1_1xbString.html#a63f9313217e0ff3c9789ec59316216a1',1,'xb::xbString::xbString(xbUInt32 size)'],['../classxb_1_1xbString.html#a14bbaa293c8d40dd6c64332f2668a92e',1,'xb::xbString::xbString(char c)'],['../classxb_1_1xbString.html#a18f3598dcdf2ec5692274fc8ee769ad7',1,'xb::xbString::xbString(const char *s, xbUInt32 lMaxLen)'],['../classxb_1_1xbString.html#a0d81016b93fc36ebbbafacf35c677f07',1,'xb::xbString::xbString(const xbString &amp;s)'],['../classxb_1_1xbString.html#a25856311106c5fb15d39017b63f0ddc7',1,'xb::xbString::xbString(const char *=&quot;&quot;)'],['../classxb_1_1xbString.html#ad865b55e3b08dffd527afee8e7e8e3fe',1,'xb::xbString::xbString(xbDouble d)']]],
+ ['xbstring_2ecpp_217',['xbstring.cpp',['../xbstring_8cpp.html',1,'']]],
+ ['xbstring_2eh_218',['xbstring.h',['../xbstring_8h.html',1,'']]],
+ ['xbtag_2ecpp_219',['xbtag.cpp',['../xbtag_8cpp.html',1,'']]],
+ ['xbtag_2eh_220',['xbtag.h',['../xbtag_8h.html',1,'']]],
+ ['xbtbllist_221',['xbTblList',['../structxb_1_1xbTblList.html',1,'xb']]],
+ ['xbtblmgr_222',['xbTblMgr',['../classxb_1_1xbTblMgr.html',1,'xb::xbTblMgr'],['../classxb_1_1xbTblMgr.html#aad83f5ecc184ca6cbdfc6f356b598d6c',1,'xb::xbTblMgr::xbTblMgr()']]],
+ ['xbtblmgr_2ecpp_223',['xbtblmgr.cpp',['../xbtblmgr_8cpp.html',1,'']]],
+ ['xbtblmgr_2eh_224',['xbtblmgr.h',['../xbtblmgr_8h.html',1,'']]],
+ ['xbtrue_225',['xbTrue',['../xbtypes_8h.html#ab0ae00665298fe7f5292691cb98ec2d9',1,'xbtypes.h']]],
+ ['xbtruncate_226',['xbTruncate',['../classxb_1_1xbFile.html#a518bfcbfa3699d883cf89affee383296',1,'xb::xbFile']]],
+ ['xbtypes_2eh_227',['xbtypes.h',['../xbtypes_8h.html',1,'']]],
+ ['xbuda_2ecpp_228',['xbuda.cpp',['../xbuda_8cpp.html',1,'']]],
+ ['xbuda_2eh_229',['xbuda.h',['../xbuda_8h.html',1,'']]],
+ ['xbxbase_230',['xbXBase',['../classxb_1_1xbXBase.html',1,'xb::xbXBase'],['../classxb_1_1xbXBase.html#a6c68588e33946fb5416af3f86fe83224',1,'xb::xbXBase::xbXBase()'],['../namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0',1,'xb::xbXBase()']]],
+ ['xbxbase_2ecpp_231',['xbxbase.cpp',['../xbxbase_8cpp.html',1,'']]],
+ ['xbxbase_2eh_232',['xbxbase.h',['../xbxbase_8h.html',1,'']]]
+];
diff --git a/docs/doxygen/html/search/all_16.html b/docs/doxygen/html/search/all_16.html
new file mode 100644
index 0000000..de305d9
--- /dev/null
+++ b/docs/doxygen/html/search/all_16.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_16.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_16.js b/docs/doxygen/html/search/all_16.js
new file mode 100644
index 0000000..5979b24
--- /dev/null
+++ b/docs/doxygen/html/search/all_16.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['yearof_0',['YearOf',['../classxb_1_1xbDate.html#a31057dfaa36389a16e40e3db82c46262',1,'xb::xbDate']]]
+];
diff --git a/docs/doxygen/html/search/all_17.html b/docs/doxygen/html/search/all_17.html
new file mode 100644
index 0000000..48229a0
--- /dev/null
+++ b/docs/doxygen/html/search/all_17.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_17.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_17.js b/docs/doxygen/html/search/all_17.js
new file mode 100644
index 0000000..7108002
--- /dev/null
+++ b/docs/doxygen/html/search/all_17.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['zap_0',['Zap',['../classxb_1_1xbDbf.html#a8ed0693b10b95aaa4e46037758d160ed',1,'xb::xbDbf']]],
+ ['zapchar_1',['ZapChar',['../classxb_1_1xbString.html#a2fd30956a26a260d1ef6fdbe73dd93f9',1,'xb::xbString']]],
+ ['zapleadingchar_2',['ZapLeadingChar',['../classxb_1_1xbString.html#addc3a470f6cd85d4c21bf9da38cf5ac9',1,'xb::xbString']]],
+ ['zaptrailingchar_3',['ZapTrailingChar',['../classxb_1_1xbString.html#afe3415bfa2e1089b792aeda0462fb99e',1,'xb::xbString']]]
+];
diff --git a/docs/doxygen/html/search/all_18.html b/docs/doxygen/html/search/all_18.html
new file mode 100644
index 0000000..c153550
--- /dev/null
+++ b/docs/doxygen/html/search/all_18.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_18.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_18.js b/docs/doxygen/html/search/all_18.js
new file mode 100644
index 0000000..d44ee63
--- /dev/null
+++ b/docs/doxygen/html/search/all_18.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['_7exbdate_0',['~xbDate',['../classxb_1_1xbDate.html#a05c9680c6eb9fe07ecf13a189b596c37',1,'xb::xbDate']]],
+ ['_7exbdbf_1',['~xbDbf',['../classxb_1_1xbDbf.html#a7eb87521fba8a939c613056d9918d880',1,'xb::xbDbf']]],
+ ['_7exbfile_2',['~xbFile',['../classxb_1_1xbFile.html#a491f6c48076e89da2e791a42b2727a90',1,'xb::xbFile']]],
+ ['_7exbstring_3',['~xbString',['../classxb_1_1xbString.html#a10a6549efab02bc76ab33b15916b1eb1',1,'xb::xbString']]],
+ ['_7exbtblmgr_4',['~xbTblMgr',['../classxb_1_1xbTblMgr.html#aad6be32d7b3378c71d47fa27ebfe6cbf',1,'xb::xbTblMgr']]],
+ ['_7exbxbase_5',['~xbXBase',['../classxb_1_1xbXBase.html#a204f8634894ac2066d3209117803306d',1,'xb::xbXBase']]]
+];
diff --git a/docs/doxygen/html/search/all_2.html b/docs/doxygen/html/search/all_2.html
new file mode 100644
index 0000000..259dde4
--- /dev/null
+++ b/docs/doxygen/html/search/all_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_2.js b/docs/doxygen/html/search/all_2.js
new file mode 100644
index 0000000..fc2ebc9
--- /dev/null
+++ b/docs/doxygen/html/search/all_2.js
@@ -0,0 +1,33 @@
+var searchData=
+[
+ ['calcrollingcenturyforyear_0',['CalcRollingCenturyForYear',['../classxb_1_1xbDate.html#a9df58caa54105c489c314785c457e8cb',1,'xb::xbDate']]],
+ ['cencryptionflag_1',['cEncryptionFlag',['../classxb_1_1xbDbf.html#a8734e799707582f022fc341d515650f4',1,'xb::xbDbf']]],
+ ['centuryof_2',['CenturyOf',['../classxb_1_1xbDate.html#a38b2c5285c69ed65e94ece6c22dafde0',1,'xb::xbDate']]],
+ ['cfieldname_3',['cFieldName',['../structxb_1_1xbSchema.html#a514183856094123fd37df67885b4681e',1,'xb::xbSchema']]],
+ ['cfldtype_4',['cFldType',['../structsFldMap.html#af89b26b2d4bc6e26c597f8c48b97b1a3',1,'sFldMap']]],
+ ['chardayof_5',['CharDayOf',['../classxb_1_1xbDate.html#a9fc29730b66cddfbb58c69992a99cc7c',1,'xb::xbDate']]],
+ ['charmonthof_6',['CharMonthOf',['../classxb_1_1xbDate.html#afffc84f02bd421335ff8ebe9fb3db0ac',1,'xb::xbDate']]],
+ ['chrontime_7',['ChronTime',['../tstfuncs_8cpp.html#af990eed1e43605771a5810196b4043f7',1,'tstfuncs.cpp']]],
+ ['cindexflag_8',['cIndexFlag',['../classxb_1_1xbDbf.html#ad59074633641e03647e54d2b66c9102b',1,'xb::xbDbf']]],
+ ['clangdriver_9',['cLangDriver',['../classxb_1_1xbDbf.html#aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1',1,'xb::xbDbf']]],
+ ['close_10',['Close',['../classxb_1_1xbDbf.html#ad68d73113e54e1b5f326e90f45e9989d',1,'xb::xbDbf']]],
+ ['closealltables_11',['CloseAllTables',['../classxb_1_1xbXBase.html#afccb552ca0daff779c0500ff20d22c2b',1,'xb::xbXBase']]],
+ ['commit_12',['Commit',['../classxb_1_1xbDbf.html#abd69532c885ab72bcf3fb5066b318f4f',1,'xb::xbDbf']]],
+ ['copy_13',['Copy',['../classxb_1_1xbString.html#ac7a8466b03c04df838bd182ef244f792',1,'xb::xbString']]],
+ ['copydbfstructure_14',['CopyDbfStructure',['../classxb_1_1xbDbf.html#a829c615a130a1fdf609d93438d8a6264',1,'xb::xbDbf']]],
+ ['countchar_15',['CountChar',['../classxb_1_1xbString.html#adc0204bcfd1c052b9aea9229b10acf72',1,'xb::xbString::CountChar(char c, xbInt16 iOpt) const'],['../classxb_1_1xbString.html#a26bc14d92dc7ce1f2bf31cd74af0db0f',1,'xb::xbString::CountChar(char c) const']]],
+ ['createfqn_16',['CreateFqn',['../classxb_1_1xbXBase.html#aa41240d920b604dcbd91dce7eecb78e1',1,'xb::xbXBase']]],
+ ['createtable_17',['CreateTable',['../classxb_1_1xbDbf.html#a73e41bfe679dd06ab16c436652df93f1',1,'xb::xbDbf']]],
+ ['createuniquefilename_18',['CreateUniqueFileName',['../classxb_1_1xbFile.html#ad39797624a752b9d62533d00fad9feff',1,'xb::xbFile']]],
+ ['ctod_19',['CTOD',['../classxb_1_1xbDate.html#abb1eb4b0394e4a67aadab15779b1b8c5',1,'xb::xbDate']]],
+ ['ctransactionflag_20',['cTransactionFlag',['../classxb_1_1xbDbf.html#ac3c89fc3bc6a6abf385478a8adbed970',1,'xb::xbDbf']]],
+ ['ctype_21',['cType',['../structxb_1_1xbSchema.html#a1d612b2ed5dc0b0289c9e91b3cda3a25',1,'xb::xbSchema']]],
+ ['cupdatedd_22',['cUpdateDD',['../classxb_1_1xbDbf.html#a6021789d314cd41488991e708fcd0df2',1,'xb::xbDbf']]],
+ ['cupdatemm_23',['cUpdateMM',['../classxb_1_1xbDbf.html#a9340a5e8ee53eb0f3b6601eec2d71e1b',1,'xb::xbDbf']]],
+ ['cupdateyy_24',['cUpdateYY',['../classxb_1_1xbDbf.html#a4fcd6a86ddd32d4a9d76a4074573440a',1,'xb::xbDbf']]],
+ ['cversion_25',['cVersion',['../classxb_1_1xbDbf.html#a3a262abf658e5fa968b57ef457a69470',1,'xb::xbDbf']]],
+ ['cvthexchar_26',['CvtHexChar',['../classxb_1_1xbString.html#a0a737bd408a94903f214eb2879eb56de',1,'xb::xbString']]],
+ ['cvthexstring_27',['CvtHexString',['../classxb_1_1xbString.html#ab5eb6918a0ae9ab6c0e961318f3d1eb0',1,'xb::xbString']]],
+ ['cvtlonglong_28',['CvtLongLong',['../classxb_1_1xbString.html#ae3ab18365e132323f8ae4c99eb72181c',1,'xb::xbString']]],
+ ['cvtulonglong_29',['CvtULongLong',['../classxb_1_1xbString.html#a1528b30b84a41c3564ef31d1f4496b15',1,'xb::xbString']]]
+];
diff --git a/docs/doxygen/html/search/all_3.html b/docs/doxygen/html/search/all_3.html
new file mode 100644
index 0000000..1e60c94
--- /dev/null
+++ b/docs/doxygen/html/search/all_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_3.js b/docs/doxygen/html/search/all_3.js
new file mode 100644
index 0000000..9a4d44a
--- /dev/null
+++ b/docs/doxygen/html/search/all_3.js
@@ -0,0 +1,20 @@
+var searchData=
+[
+ ['dateisvalid_0',['DateIsValid',['../classxb_1_1xbDate.html#a367f66ef0c03c1747c12a18784554ccb',1,'xb::xbDate']]],
+ ['dayof_1',['DayOf',['../classxb_1_1xbDate.html#ad6417a900ce64a46f8909c0c7a2ddea2',1,'xb::xbDate']]],
+ ['dblequals_2',['dblEquals',['../tstfuncs_8cpp.html#a8b8e417213c57f2ea0bcb61a7fb28860',1,'tstfuncs.cpp']]],
+ ['dblmax_3',['dblMax',['../tstfuncs_8cpp.html#a69a6e718e066af7f8392e5f1fea40d1b',1,'tstfuncs.cpp']]],
+ ['dblmin_4',['dblMin',['../tstfuncs_8cpp.html#a4d7b8f3f1ce52c6c0a281f25419f4c93',1,'tstfuncs.cpp']]],
+ ['deleteall_5',['DeleteAll',['../classxb_1_1xbDbf.html#a01c26b67e312be1e674b3da710e031b9',1,'xb::xbDbf']]],
+ ['deleteallrecords_6',['DeleteAllRecords',['../classxb_1_1xbDbf.html#a3067fdfa3a7a5c15651f6e89d1102176',1,'xb::xbDbf']]],
+ ['deleterecord_7',['DeleteRecord',['../classxb_1_1xbDbf.html#acd8c10579229f3a2e2c5fdb7fcef90db',1,'xb::xbDbf']]],
+ ['deletetable_8',['DeleteTable',['../classxb_1_1xbDbf.html#a4085ed4f049d976124d8edc3d3c56397',1,'xb::xbDbf']]],
+ ['determinexbasememoversion_9',['DetermineXbaseMemoVersion',['../classxb_1_1xbFile.html#a5a740033664c9ad2611c90e2a6d0c2d3',1,'xb::xbFile']]],
+ ['determinexbasetableversion_10',['DetermineXbaseTableVersion',['../classxb_1_1xbFile.html#ae2b6ac26018dc28f77afbb3f008c3f66',1,'xb::xbFile']]],
+ ['devtester_11',['DevTester',['../xb__test__expression_8cpp.html#aee57237c5f5b9b4d80e84bf530eb42bc',1,'xb_test_expression.cpp']]],
+ ['disablemsglogging_12',['DisableMsgLogging',['../classxb_1_1xbXBase.html#ae357fac4fdebdf49e46563cf611caf65',1,'xb::xbXBase']]],
+ ['displayerror_13',['DisplayError',['../classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d',1,'xb::xbSsv']]],
+ ['displaytablelist_14',['DisplayTableList',['../classxb_1_1xbTblMgr.html#a5eebffb9e8cc64141e35c2622045cb50',1,'xb::xbTblMgr']]],
+ ['dumpheader_15',['DumpHeader',['../classxb_1_1xbDbf.html#a47643728f74cf3b6e0ffc55259895bdb',1,'xb::xbDbf']]],
+ ['dumprecord_16',['DumpRecord',['../classxb_1_1xbDbf.html#aba30399f15885a07f87f904c0d0656fa',1,'xb::xbDbf']]]
+];
diff --git a/docs/doxygen/html/search/all_4.html b/docs/doxygen/html/search/all_4.html
new file mode 100644
index 0000000..08f1aed
--- /dev/null
+++ b/docs/doxygen/html/search/all_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_4.js b/docs/doxygen/html/search/all_4.js
new file mode 100644
index 0000000..686c08e
--- /dev/null
+++ b/docs/doxygen/html/search/all_4.js
@@ -0,0 +1,16 @@
+var searchData=
+[
+ ['egetdouble_0',['eGetDouble',['../classxb_1_1xbFile.html#ab14e4a11427f5efb81cba1dd32bd1aa1',1,'xb::xbFile']]],
+ ['egetint16_1',['eGetInt16',['../classxb_1_1xbFile.html#ac40c991110ddc6fb30a72d90f4652762',1,'xb::xbFile']]],
+ ['egetint32_2',['eGetInt32',['../classxb_1_1xbFile.html#a60b24a5afc984c586bf384c7e915ba0d',1,'xb::xbFile']]],
+ ['egetuint16_3',['eGetUInt16',['../classxb_1_1xbFile.html#a936ade458e6d5e6d29f9b5031888d189',1,'xb::xbFile']]],
+ ['egetuint32_4',['eGetUInt32',['../classxb_1_1xbFile.html#a78f052529d39a18deaface5a0d47d0b0',1,'xb::xbFile']]],
+ ['enablemsglogging_5',['EnableMsgLogging',['../classxb_1_1xbXBase.html#a470e6eb0ed0be60338f9b40976d3ad48',1,'xb::xbXBase']]],
+ ['eputdouble_6',['ePutDouble',['../classxb_1_1xbFile.html#a98b6ff533ae93f90c977a2ba23eeb105',1,'xb::xbFile']]],
+ ['eputint16_7',['ePutInt16',['../classxb_1_1xbFile.html#a29130f12739ac8fa837f4eaedf1338b2',1,'xb::xbFile']]],
+ ['eputint32_8',['ePutInt32',['../classxb_1_1xbFile.html#a19c37f76a2ccbb45019cb0fc373d3f46',1,'xb::xbFile']]],
+ ['eputuint16_9',['ePutUInt16',['../classxb_1_1xbFile.html#a65e9839f92b96eac7b0d071fac3bbe40',1,'xb::xbFile']]],
+ ['eputuint32_10',['ePutUInt32',['../classxb_1_1xbFile.html#aa3f6ceae4b96f24875d86848bf13a173',1,'xb::xbFile']]],
+ ['errorcodetext_11',['ErrorCodeText',['../classxb_1_1xbSsv.html#a6219f1b5e24ea12fe158cd5aea56988e',1,'xb::xbSsv']]],
+ ['extractelement_12',['ExtractElement',['../classxb_1_1xbString.html#a6b33a8df49cdcb76033cbce5d8dc59d7',1,'xb::xbString::ExtractElement(xbString &amp;s, char delim, xbUInt32 iCnt, xbInt16 iOpt=0)'],['../classxb_1_1xbString.html#a77195fc4957952625cb33bb503517a3e',1,'xb::xbString::ExtractElement(const char *src, char delim, xbUInt32 iCnt, xbInt16 iOpt=0)']]]
+];
diff --git a/docs/doxygen/html/search/all_5.html b/docs/doxygen/html/search/all_5.html
new file mode 100644
index 0000000..0d85fcc
--- /dev/null
+++ b/docs/doxygen/html/search/all_5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_5.js b/docs/doxygen/html/search/all_5.js
new file mode 100644
index 0000000..d143ad3
--- /dev/null
+++ b/docs/doxygen/html/search/all_5.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['fileexists_0',['FileExists',['../classxb_1_1xbFile.html#a78bd8a11dce102647095baf3aff2b006',1,'xb::xbFile::FileExists() const'],['../classxb_1_1xbFile.html#a174d8a6aabc9cfcd32fedbd1e5b13ddd',1,'xb::xbFile::FileExists(xbInt16 iOption) const'],['../classxb_1_1xbFile.html#a61130b4fbf4cf9d5972dcb4993de2f94',1,'xb::xbFile::FileExists(const xbString &amp;sFileName) const'],['../classxb_1_1xbFile.html#a0592168f39a10f2a401a88ef781f6148',1,'xb::xbFile::FileExists(const xbString &amp;sFileName, xbInt16 iOption) const']]],
+ ['fileisopen_1',['FileIsOpen',['../classxb_1_1xbFile.html#a7fa837938a32dc9ca3fbc81cbaf50f59',1,'xb::xbFile']]],
+ ['flushlog_2',['FlushLog',['../classxb_1_1xbXBase.html#a5a5ecaed9777978344902446c9ae3b8e',1,'xb::xbXBase']]],
+ ['formatdate_3',['FormatDate',['../classxb_1_1xbDate.html#a01de44dc869f7db99f33046fc91f2c6a',1,'xb::xbDate']]]
+];
diff --git a/docs/doxygen/html/search/all_6.html b/docs/doxygen/html/search/all_6.html
new file mode 100644
index 0000000..7e088b8
--- /dev/null
+++ b/docs/doxygen/html/search/all_6.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_6.js b/docs/doxygen/html/search/all_6.js
new file mode 100644
index 0000000..cee5729
--- /dev/null
+++ b/docs/doxygen/html/search/all_6.js
@@ -0,0 +1,71 @@
+var searchData=
+[
+ ['getautocommit_0',['GetAutoCommit',['../classxb_1_1xbDbf.html#ae0c00226fd2ea7a67f101e795467ed68',1,'xb::xbDbf::GetAutoCommit(xbInt16 iOption) const'],['../classxb_1_1xbDbf.html#abb9e20c5efacd4fea80f1515abbc6b55',1,'xb::xbDbf::GetAutoCommit() const']]],
+ ['getblocksize_1',['GetBlockSize',['../classxb_1_1xbFile.html#a638e14262410a1627819f016a16cdce2',1,'xb::xbFile']]],
+ ['getbof_2',['GetBof',['../classxb_1_1xbDbf.html#ad0827a43c025c1184ffebab74cc9e779',1,'xb::xbDbf']]],
+ ['getcharacter_3',['GetCharacter',['../classxb_1_1xbString.html#a685187a5f8401b322fc61f3fbe56330d',1,'xb::xbString']]],
+ ['getcmdlineopt_4',['GetCmdLineOpt',['../classxb_1_1xbXBase.html#aadecb3ac460d8e94b88b2e809e22f48e',1,'xb::xbXBase::GetCmdLineOpt(xbInt32 lArgc, char **argv, const char *sOptRqst, xbString &amp;sParmOut)'],['../classxb_1_1xbXBase.html#a8612e0c5334349fbceb9394b47817fd5',1,'xb::xbXBase::GetCmdLineOpt(xbInt32 lArgc, char **argv, xbString &amp;sOptRqst, xbString &amp;sParmOut)']]],
+ ['getcurrecno_5',['GetCurRecNo',['../classxb_1_1xbDbf.html#a643a80a3792a52760c8e09ba18719503',1,'xb::xbDbf']]],
+ ['getdatadirectory_6',['GetDataDirectory',['../classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9',1,'xb::xbSsv']]],
+ ['getdatefield_7',['GetDateField',['../classxb_1_1xbDbf.html#af78ef1fba949463ff7f829d3cffc4555',1,'xb::xbDbf::GetDateField(xbInt16 iFieldNo, xbDate &amp;dt) const'],['../classxb_1_1xbDbf.html#ac624e06a97666bfd64b4f252b4548b36',1,'xb::xbDbf::GetDateField(const xbString &amp;sFieldName, xbDate &amp;dt) const']]],
+ ['getdbfptr_8',['GetDbfPtr',['../classxb_1_1xbTblMgr.html#ad8a5d28a2ee6720a9aa74bcb45662cf5',1,'xb::xbTblMgr::GetDbfPtr(const xbString &amp;sTblAlias) const'],['../classxb_1_1xbTblMgr.html#a801dfecf7fc216954b4197b2c31b25d6',1,'xb::xbTblMgr::GetDbfPtr(xbInt16 sItemNo) const']]],
+ ['getdbfstatus_9',['GetDbfStatus',['../classxb_1_1xbDbf.html#ac1110d867ba297a52c8b0e83e88f05e6',1,'xb::xbDbf']]],
+ ['getdefaultautocommit_10',['GetDefaultAutoCommit',['../classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5',1,'xb::xbSsv']]],
+ ['getdefaultdateformat_11',['GetDefaultDateFormat',['../classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2',1,'xb::xbSsv']]],
+ ['getdirectory_12',['GetDirectory',['../classxb_1_1xbFile.html#acd0fb2166b2bff7e8a1cf65a7bc8be1e',1,'xb::xbFile']]],
+ ['getdoublefield_13',['GetDoubleField',['../classxb_1_1xbDbf.html#a4556041a7ff2f6b6f986729901c11f08',1,'xb::xbDbf::GetDoubleField(xbInt16 FieldNo, xbDouble &amp;dFieldValue) const'],['../classxb_1_1xbDbf.html#a2370b5e736931441a5968649291b9ef4',1,'xb::xbDbf::GetDoubleField(xbInt16 FieldNo, xbDouble &amp;dFieldValue, xbInt16 iRecBufSw) const'],['../classxb_1_1xbDbf.html#a6e6774df0f2d7733f4b25a9989596d95',1,'xb::xbDbf::GetDoubleField(const xbString &amp;sFieldName, xbDouble &amp;dFieldValue) const']]],
+ ['getendiantype_14',['GetEndianType',['../classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243',1,'xb::xbSsv']]],
+ ['geteof_15',['GetEof',['../classxb_1_1xbDbf.html#a256dc1f98626fa77da24e91a38ab5b4d',1,'xb::xbDbf']]],
+ ['geterrormessage_16',['GetErrorMessage',['../classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4',1,'xb::xbSsv']]],
+ ['getfield_17',['GetField',['../classxb_1_1xbDbf.html#ad245a26eb8b79610c9ae7bab19e05513',1,'xb::xbDbf::GetField(xbInt16 iFieldNo, xbString &amp;sFieldValue, xbInt16 iRecBufSw) const'],['../classxb_1_1xbDbf.html#ac81f078f3c932f0da60ad1fbdd848d3e',1,'xb::xbDbf::GetField(xbInt16 iFieldNo, xbString &amp;sFieldValue) const'],['../classxb_1_1xbDbf.html#a9a0fcf7e2040ab483e3807927833cb26',1,'xb::xbDbf::GetField(const xbString &amp;sFieldName, xbString &amp;sFieldValue) const']]],
+ ['getfieldcnt_18',['GetFieldCnt',['../classxb_1_1xbDbf.html#add27d8ef555a13b336b8c804165dc15e',1,'xb::xbDbf']]],
+ ['getfielddecimal_19',['GetFieldDecimal',['../classxb_1_1xbDbf.html#a607f774fcd6dc0b9913d7a7801b60db2',1,'xb::xbDbf::GetFieldDecimal(const xbString &amp;sFieldName, xbInt16 &amp;iFieldDecimal) const'],['../classxb_1_1xbDbf.html#abcb4defad2e1b6e67f63cc60737ad840',1,'xb::xbDbf::GetFieldDecimal(xbInt16 iFieldNo, xbInt16 &amp;iFieldDecimal) const']]],
+ ['getfieldlen_20',['GetFieldLen',['../classxb_1_1xbDbf.html#adda4302b58cc6109b048f19d9b68bbd4',1,'xb::xbDbf::GetFieldLen(xbInt16 iFieldNo, xbInt16 &amp;iFieldLen) const'],['../classxb_1_1xbDbf.html#acf06dbccdba1a4bcd90fa0bea6cca59b',1,'xb::xbDbf::GetFieldLen(const xbString &amp;sFieldName, xbInt16 &amp;iFieldLen) const']]],
+ ['getfieldname_21',['GetFieldName',['../classxb_1_1xbDbf.html#a5e3e4368bfba1724c016b8859023e34c',1,'xb::xbDbf']]],
+ ['getfieldno_22',['GetFieldNo',['../classxb_1_1xbDbf.html#aed9113b5095c6df1b9c854cbd0d8047b',1,'xb::xbDbf::GetFieldNo(const xbString &amp;sFieldName, xbInt16 &amp;iFieldNo) const'],['../classxb_1_1xbDbf.html#aad9029e63909aeb77d8473256d88bea8',1,'xb::xbDbf::GetFieldNo(const xbString &amp;sFieldName) const']]],
+ ['getfieldtype_23',['GetFieldType',['../classxb_1_1xbDbf.html#a5143973e4f165651152aa13c8fd45f84',1,'xb::xbDbf::GetFieldType(xbInt16 iFieldNo, char &amp;cFieldType) const'],['../classxb_1_1xbDbf.html#a181db879f1a75f93a34c03513a0b2fea',1,'xb::xbDbf::GetFieldType(const xbString &amp;sFieldName, char &amp;cFieldType) const']]],
+ ['getfiledirpart_24',['GetFileDirPart',['../classxb_1_1xbFile.html#a60c53998e3d1b694134b20a87bc9bf5a',1,'xb::xbFile::GetFileDirPart(xbString &amp;sFileDirPartOut) const'],['../classxb_1_1xbFile.html#af5127c92892816e9bbc5c19653c4147a',1,'xb::xbFile::GetFileDirPart(const xbString &amp;sCompleteFileNameIn, xbString &amp;sFileDirPartOut) const']]],
+ ['getfileextpart_25',['GetFileExtPart',['../classxb_1_1xbFile.html#ab289b6ffe955321160c1f90220c22e25',1,'xb::xbFile::GetFileExtPart(const xbString &amp;sCompleteFileNameIn, xbString &amp;sFileExtPartOut) const'],['../classxb_1_1xbFile.html#a57a9222e5cbb51019d4eeb2c3ac89fa2',1,'xb::xbFile::GetFileExtPart(xbString &amp;sFileExtPartOut) const']]],
+ ['getfilemtime_26',['GetFileMtime',['../classxb_1_1xbFile.html#a02df78f4c90313243f508fc56b95aba8',1,'xb::xbFile']]],
+ ['getfilename_27',['GetFileName',['../classxb_1_1xbFile.html#ac95cb882ccbcdedc9a233c6ad9fed07a',1,'xb::xbFile']]],
+ ['getfilenamepart_28',['GetFileNamePart',['../classxb_1_1xbFile.html#a81422b3dd52763d2cc6c77237ec9af0a',1,'xb::xbFile::GetFileNamePart(xbString &amp;sFileNamePartOut) const'],['../classxb_1_1xbFile.html#a6110763c5ae996b72c7a62c15bdecc73',1,'xb::xbFile::GetFileNamePart(const xbString &amp;sCompleteFileNameIn, xbString &amp;sFileNamePartOut) const']]],
+ ['getfilesize_29',['GetFileSize',['../classxb_1_1xbFile.html#a50b63c39e49d44e52078038027b24cc5',1,'xb::xbFile']]],
+ ['getfiletype_30',['GetFileType',['../classxb_1_1xbFile.html#a5548236d38d43b89ae29b9a015b1f678',1,'xb::xbFile']]],
+ ['getfirstrecord_31',['GetFirstRecord',['../classxb_1_1xbDbf.html#a6fc5b8a3e2f177d5ceaf9d975cbb5226',1,'xb::xbDbf::GetFirstRecord()'],['../classxb_1_1xbDbf.html#acb78991e8435edd36318c653cb977c1a',1,'xb::xbDbf::GetFirstRecord(xbInt16 iOption)']]],
+ ['getfloatfield_32',['GetFloatField',['../classxb_1_1xbDbf.html#a3443f646038ced14425f067a59c0f2da',1,'xb::xbDbf::GetFloatField(xbInt16 iFieldNo, xbFloat &amp;fFieldValue) const'],['../classxb_1_1xbDbf.html#a81ef2f36f921d7ece066a592eb6393eb',1,'xb::xbDbf::GetFloatField(const xbString &amp;sFieldName, xbFloat &amp;fFieldValue) const']]],
+ ['getfqfilename_33',['GetFqFileName',['../classxb_1_1xbFile.html#a31b4e641f93206ba23e2a5a27491dcd4',1,'xb::xbFile']]],
+ ['getfunctioninfo_34',['GetFunctionInfo',['../classxb_1_1xbXBase.html#ae52e53340593b4253936c1372ec15ee1',1,'xb::xbXBase']]],
+ ['getheaderlen_35',['GetHeaderLen',['../classxb_1_1xbDbf.html#ad56be2756b7a9f8318d9ba5cf215dafb',1,'xb::xbDbf']]],
+ ['gethomedir_36',['GetHomeDir',['../classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9',1,'xb::xbSsv']]],
+ ['getlastpos_37',['GetLastPos',['../classxb_1_1xbString.html#ac7698665f44413a5e99a5b5bc573c6df',1,'xb::xbString::GetLastPos(char c) const'],['../classxb_1_1xbString.html#a1c55587904fe7e534290559d0ecb8646',1,'xb::xbString::GetLastPos(const char *s) const']]],
+ ['getlastrecord_38',['GetLastRecord',['../classxb_1_1xbDbf.html#a49e667f9c8ee55c36444702663fc5964',1,'xb::xbDbf::GetLastRecord()'],['../classxb_1_1xbDbf.html#a8ccfa2291417412b6894940d1b92f9a6',1,'xb::xbDbf::GetLastRecord(xbInt16 iOption)']]],
+ ['getlogdirectory_39',['GetLogDirectory',['../classxb_1_1xbSsv.html#a4822315bded3969b59aeeb683c373051',1,'xb::xbSsv']]],
+ ['getlogfilename_40',['GetLogFileName',['../classxb_1_1xbSsv.html#afaef09435be73b3111f5edbd7091d861',1,'xb::xbSsv']]],
+ ['getlogfqfilename_41',['GetLogFqFileName',['../classxb_1_1xbXBase.html#ab5d63cd7d9137eba8a1d4d9c3df522b7',1,'xb::xbXBase']]],
+ ['getlogicalfield_42',['GetLogicalField',['../classxb_1_1xbDbf.html#ab28feef20c988b0a6f1c1911a45377b0',1,'xb::xbDbf::GetLogicalField(xbInt16 iFieldNo, xbBool &amp;bFieldData, xbInt16 iRecBufSw) const'],['../classxb_1_1xbDbf.html#a943cea7fde1b06c1a05184193eff8d2d',1,'xb::xbDbf::GetLogicalField(const xbString &amp;sFieldName, xbBool &amp;bFieldData) const'],['../classxb_1_1xbDbf.html#aaf615ddcf08f8cd14efc713c2a8d7ae1',1,'xb::xbDbf::GetLogicalField(xbInt16 iFieldNo, xbBool &amp;bFieldData) const'],['../classxb_1_1xbDbf.html#a9cd6819bfd932ff8507e54d9cb9a624e',1,'xb::xbDbf::GetLogicalField(const xbString &amp;sFieldName, xbString &amp;sFieldData) const'],['../classxb_1_1xbDbf.html#a3254f091fc4a1404abed3dd2bcdd6ce6',1,'xb::xbDbf::GetLogicalField(xbInt16 iFieldNo, xbString &amp;sFieldData) const']]],
+ ['getlogsize_43',['GetLogSize',['../classxb_1_1xbXBase.html#aedb4c2aa2c90e4529915198a2305b355',1,'xb::xbXBase']]],
+ ['getlogstatus_44',['GetLogStatus',['../classxb_1_1xbXBase.html#ade34cd72c2a7e70fb55429a8a6f6c028',1,'xb::xbXBase']]],
+ ['getlongfield_45',['GetLongField',['../classxb_1_1xbDbf.html#abe525c0820640e0a9e169d0b7913cfa1',1,'xb::xbDbf::GetLongField(xbInt16 iFieldNo, xbInt32 &amp;lFieldValue) const'],['../classxb_1_1xbDbf.html#a7b8ef75b17941beac17e50e969b2d3db',1,'xb::xbDbf::GetLongField(const xbString &amp;sFieldName, xbInt32 &amp;lFieldValue) const']]],
+ ['getmultiuser_46',['GetMultiUser',['../classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5',1,'xb::xbSsv']]],
+ ['getnextrecord_47',['GetNextRecord',['../classxb_1_1xbDbf.html#ab896fe3b734f556de578d30f92b18fe2',1,'xb::xbDbf::GetNextRecord()'],['../classxb_1_1xbDbf.html#a3191428a7a92d9107d8d42448884f2ac',1,'xb::xbDbf::GetNextRecord(xbInt16 iOption)'],['../classxb_1_1xbDbf.html#a18fdcb4ab15b36cd47fa6f6f7a540d1a',1,'xb::xbDbf::GetNextRecord(xbInt16 iOption, xbUInt32 ulStartRec)']]],
+ ['getnextsqlcmd_48',['GetNextSqlCmd',['../xb__execsql_8cpp.html#adb176b752e38521fdb334b4976965945',1,'xb_execsql.cpp']]],
+ ['getnullsts_49',['GetNullSts',['../classxb_1_1xbDbf.html#a7930fe8b930c6d646b7b0d3df576fe9e',1,'xb::xbDbf::GetNullSts(xbInt16 iFieldNo, xbBool &amp;bIsNull, xbInt16 iRecBufSw) const'],['../classxb_1_1xbDbf.html#ae9a3f726ce5229ed021bfce0515050fc',1,'xb::xbDbf::GetNullSts(xbInt16 iFieldNo, xbBool &amp;bIsNull) const'],['../classxb_1_1xbDbf.html#a909788123ce0694b65dfcf036380d918',1,'xb::xbDbf::GetNullSts(const xbString &amp;sFieldName, xbBool &amp;bIsNull) const']]],
+ ['getopenmode_50',['GetOpenMode',['../classxb_1_1xbFile.html#a3c500dc9dac22c49496e4b29386b2dd3',1,'xb::xbFile']]],
+ ['getopentablecount_51',['GetOpenTableCount',['../classxb_1_1xbTblMgr.html#ad0d2d4adabc0dc0e761cfdee63c84069',1,'xb::xbTblMgr']]],
+ ['getpathseparator_52',['GetPathSeparator',['../classxb_1_1xbString.html#af8b8b808cf43cd352321b43f500142db',1,'xb::xbString::GetPathSeparator()'],['../classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35',1,'xb::xbSsv::GetPathSeparator()']]],
+ ['getprevrecord_53',['GetPrevRecord',['../classxb_1_1xbDbf.html#ab3d248e5221b4f0809897cd43af17a1e',1,'xb::xbDbf::GetPrevRecord()'],['../classxb_1_1xbDbf.html#a7eadc7b08d73003802b90584f7b33387',1,'xb::xbDbf::GetPrevRecord(xbInt16 iOption)']]],
+ ['getrawfield_54',['GetRawField',['../classxb_1_1xbDbf.html#aabd146c0e1054ab905ec96aedd84b02e',1,'xb::xbDbf']]],
+ ['getrecord_55',['GetRecord',['../classxb_1_1xbDbf.html#a26fba086b07caeab95066bf1c8d25161',1,'xb::xbDbf']]],
+ ['getrecordbuf_56',['GetRecordBuf',['../classxb_1_1xbDbf.html#aa3e38c4057d726a28a27d07a1610d124',1,'xb::xbDbf']]],
+ ['getrecordcnt_57',['GetRecordCnt',['../classxb_1_1xbDbf.html#ac196ad55335e1f4789d698748434dc89',1,'xb::xbDbf']]],
+ ['getrecordlen_58',['GetRecordLen',['../classxb_1_1xbDbf.html#ab50d76c6e29e81e347a6feb04c2f62bb',1,'xb::xbDbf']]],
+ ['getsharemode_59',['GetShareMode',['../classxb_1_1xbFile.html#a9b63e05b77f477ff6109ff7b9432c1b6',1,'xb::xbFile']]],
+ ['getsize_60',['GetSize',['../classxb_1_1xbString.html#a6c33e73659f8e98819289d2661c7271c',1,'xb::xbString']]],
+ ['gettblalias_61',['GetTblAlias',['../classxb_1_1xbDbf.html#a27758a325c097f204247908b65ba7fbd',1,'xb::xbDbf']]],
+ ['gettbllistentry_62',['GetTblListEntry',['../classxb_1_1xbTblMgr.html#acbf148ddba4297021cfb980a161ebef9',1,'xb::xbTblMgr']]],
+ ['gettempdirectory_63',['GetTempDirectory',['../classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61',1,'xb::xbSsv']]],
+ ['getulongfield_64',['GetULongField',['../classxb_1_1xbDbf.html#a67e3a050f9090edf69eee75aef7f5d83',1,'xb::xbDbf::GetULongField(xbInt16 iFieldNo, xbUInt32 &amp;lFieldValue) const'],['../classxb_1_1xbDbf.html#a039eb02418ec4ca862adbc0f95b9cbec',1,'xb::xbDbf::GetULongField(const xbString &amp;sFieldName, xbUInt32 &amp;lFieldValue) const']]],
+ ['getversion_65',['GetVersion',['../classxb_1_1xbDbf.html#a49212a9eb17f7fa9f303e08d5fc50fc6',1,'xb::xbDbf']]],
+ ['getxbasefiletypebyte_66',['GetXbaseFileTypeByte',['../classxb_1_1xbFile.html#aaf2e697751a0beff41432a66bb83fb5e',1,'xb::xbFile::GetXbaseFileTypeByte(const xbString &amp;sFileName, xbInt16 &amp;iVersion)'],['../classxb_1_1xbFile.html#a7af337808919680b90710ad5e8a99232',1,'xb::xbFile::GetXbaseFileTypeByte(const xbString &amp;sFileName, unsigned char &amp;cFileTypeByte)'],['../classxb_1_1xbFile.html#a78aebdd21d3de46a450d5f835e3027f6',1,'xb::xbFile::GetXbaseFileTypeByte(const xbString &amp;sFileName, unsigned char &amp;cFileTypeByte, xbInt16 &amp;iVersion)']]],
+ ['getxbaseptr_67',['GetXbasePtr',['../classxb_1_1xbDbf.html#ab21ec23c076b0c9affdc0f6672bd133f',1,'xb::xbDbf']]]
+];
diff --git a/docs/doxygen/html/search/all_7.html b/docs/doxygen/html/search/all_7.html
new file mode 100644
index 0000000..d2b1825
--- /dev/null
+++ b/docs/doxygen/html/search/all_7.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_7.js b/docs/doxygen/html/search/all_7.js
new file mode 100644
index 0000000..6a2cc28
--- /dev/null
+++ b/docs/doxygen/html/search/all_7.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['hasalphachars_0',['HasAlphaChars',['../classxb_1_1xbString.html#aa13f6b72e5a529eab04545892bbc98b4',1,'xb::xbString']]]
+];
diff --git a/docs/doxygen/html/search/all_8.html b/docs/doxygen/html/search/all_8.html
new file mode 100644
index 0000000..f4e3a2a
--- /dev/null
+++ b/docs/doxygen/html/search/all_8.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_8.js b/docs/doxygen/html/search/all_8.js
new file mode 100644
index 0000000..d288171
--- /dev/null
+++ b/docs/doxygen/html/search/all_8.js
@@ -0,0 +1,17 @@
+var searchData=
+[
+ ['iautocommit_0',['iAutoCommit',['../classxb_1_1xbDbf.html#ab506450954bc86e7bf1d7c4efe681f43',1,'xb::xbDbf']]],
+ ['idbfstatus_1',['iDbfStatus',['../classxb_1_1xbDbf.html#a6d8e193da3ca414eef1e8866ec5ca81b',1,'xb::xbDbf']]],
+ ['iendiantype_2',['iEndianType',['../classxb_1_1xbSsv.html#a5849e813f5e8e1cd180f0366637adbf3',1,'xb::xbSsv']]],
+ ['ifieldlen_3',['iFieldLen',['../structxb_1_1xbSchema.html#a2da554af25ef628acf59bb52996056ac',1,'xb::xbSchema']]],
+ ['ifileversion_4',['iFileVersion',['../classxb_1_1xbDbf.html#a15f495446f0d75bcf2fa89e3b699d388',1,'xb::xbDbf']]],
+ ['ifldno_5',['iFldNo',['../structsFldMap.html#a42eb801a85d8b60f06c4fe1be13ca723',1,'sFldMap']]],
+ ['inittime_6',['InitTime',['../tstfuncs_8cpp.html#ab1f17da15e67a8b2460d5a88b7a3db6e',1,'tstfuncs.cpp']]],
+ ['initvars_7',['InitVars',['../classxb_1_1xbDbf.html#ad06fe0f7975fb81125d27d82504e6829',1,'xb::xbDbf']]],
+ ['inoofdecs_8',['iNoOfDecs',['../structxb_1_1xbSchema.html#a55bab3bb69dee3508d168c93e182d4b9',1,'xb::xbSchema']]],
+ ['inooffields_9',['iNoOfFields',['../classxb_1_1xbDbf.html#a5056757614c39f725cc775332494966a',1,'xb::xbDbf']]],
+ ['irecpos_10',['iRecPos',['../structsFldMap.html#a02facce45c24ebecc13975c17fd52b8f',1,'sFldMap']]],
+ ['isempty_11',['IsEmpty',['../classxb_1_1xbString.html#a4a255a30d683acd62ea09c1617b53cb3',1,'xb::xbString']]],
+ ['isleapyear_12',['IsLeapYear',['../classxb_1_1xbDate.html#af2bd33a72448e2c5ee00d8b711dc5d95',1,'xb::xbDate::IsLeapYear(xbInt16 iYear) const'],['../classxb_1_1xbDate.html#a5f8051c31b29244265e8f26ac3547b9b',1,'xb::xbDate::IsLeapYear() const']]],
+ ['isnull_13',['IsNull',['../classxb_1_1xbDate.html#a611a64b14ff89ad3c20b34081ea1e658',1,'xb::xbDate::IsNull()'],['../classxb_1_1xbString.html#a3fa34fa31bcb7244ecb054ab628ad500',1,'xb::xbString::IsNull()']]]
+];
diff --git a/docs/doxygen/html/search/all_9.html b/docs/doxygen/html/search/all_9.html
new file mode 100644
index 0000000..89177a8
--- /dev/null
+++ b/docs/doxygen/html/search/all_9.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_9.js b/docs/doxygen/html/search/all_9.js
new file mode 100644
index 0000000..9143c4b
--- /dev/null
+++ b/docs/doxygen/html/search/all_9.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['jul_5foffset_0',['JUL_OFFSET',['../xbdate_8h.html#a119f32fda399e2ebc2d734012a130e8f',1,'xbdate.h']]],
+ ['juliandays_1',['JulianDays',['../classxb_1_1xbDate.html#a1ee3377d4ead9d31099eee539d9b13a7',1,'xb::xbDate']]],
+ ['jultodate8_2',['JulToDate8',['../classxb_1_1xbDate.html#a9d28b2a46d8aaa284b92f44eeb96b2ff',1,'xb::xbDate']]]
+];
diff --git a/docs/doxygen/html/search/all_a.html b/docs/doxygen/html/search/all_a.html
new file mode 100644
index 0000000..1f90b7a
--- /dev/null
+++ b/docs/doxygen/html/search/all_a.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_a.js b/docs/doxygen/html/search/all_a.js
new file mode 100644
index 0000000..ad825ae
--- /dev/null
+++ b/docs/doxygen/html/search/all_a.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['lastdayofmonth_0',['LastDayOfMonth',['../classxb_1_1xbDate.html#a15847866bb7642aa42bc254e0cf2038a',1,'xb::xbDate']]],
+ ['left_1',['Left',['../classxb_1_1xbString.html#acdc3a6d6955b99f0a6b1d181fb3098b9',1,'xb::xbString']]],
+ ['len_2',['Len',['../classxb_1_1xbString.html#a998b240eedac311aea5843047f55649b',1,'xb::xbString']]],
+ ['lk_5fclipper_3',['LK_CLIPPER',['../xbdbf_8h.html#a01d6d7910b0da2170eb904a97d864a41',1,'xbdbf.h']]],
+ ['lk_5fdbase_4',['LK_DBASE',['../xbdbf_8h.html#a4c08d01bd69e295b001bd00a228d8106',1,'xbdbf.h']]],
+ ['lk_5ffox_5',['LK_FOX',['../xbdbf_8h.html#a65e29186276222f460a7171803e07adf',1,'xbdbf.h']]],
+ ['lk_5fxbase64_6',['LK_XBASE64',['../xbdbf_8h.html#a42aea0ccd94f7422c8e0d7422dce85a4',1,'xbdbf.h']]],
+ ['ltrim_7',['Ltrim',['../classxb_1_1xbString.html#a90e0d0be4fd0d82dd2ebbe689adf18ee',1,'xb::xbString']]],
+ ['ltrunc_8',['Ltrunc',['../classxb_1_1xbString.html#a656f5854f74064b7257ff96d96dfb68b',1,'xb::xbString']]]
+];
diff --git a/docs/doxygen/html/search/all_b.html b/docs/doxygen/html/search/all_b.html
new file mode 100644
index 0000000..b7ad6e6
--- /dev/null
+++ b/docs/doxygen/html/search/all_b.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_b.js b/docs/doxygen/html/search/all_b.js
new file mode 100644
index 0000000..9c2aae0
--- /dev/null
+++ b/docs/doxygen/html/search/all_b.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['main_0',['main',['../xb__test__uda_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_uda.cpp'],['../xb__test__funcs_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_funcs.cpp'],['../xb__test__linklist_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_linklist.cpp'],['../xb__test__lock_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_lock.cpp'],['../xb__test__lock2_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_lock2.cpp'],['../xb__test__log_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_log.cpp'],['../xb__test__mdx_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_mdx.cpp'],['../xb__test__ndx_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_ndx.cpp'],['../xb__test__sql_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_sql.cpp'],['../xb__test__string_8cpp.html#aabf71bc9adb6daf457b2ea8879ae537f',1,'main(int argCnt, char **av=NULL):&#160;xb_test_string.cpp'],['../xb__test__tblmgr_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_tblmgr.cpp'],['../xb__test__tdx_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_tdx.cpp'],['../xb__test__filter_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_filter.cpp'],['../xb__test__xbase_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_xbase.cpp'],['../xb__cfg__check_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_cfg_check.cpp'],['../xb__copydbf_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_copydbf.cpp'],['../xb__dbfutil_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_dbfutil.cpp'],['../xb__deletall_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_deletall.cpp'],['../xb__dumpdbt_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_dumpdbt.cpp'],['../xb__dumprecs_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_dumprecs.cpp'],['../xb__execsql_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_execsql.cpp'],['../xb__import_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_import.cpp'],['../xb__pack_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_pack.cpp'],['../xb__tblinfo_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_tblinfo.cpp'],['../xb__test__file_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_file.cpp'],['../xb__undelall_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_undelall.cpp'],['../xb__ex__date_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_date.cpp'],['../xb__ex__expression_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_expression.cpp'],['../xb__ex__log_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_ex_log.cpp'],['../xb__ex__sql_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_ex_sql.cpp'],['../xb__ex__ssv_8cpp.html#a6438fb6826a353355708e08b4395d689',1,'main(int, char **av):&#160;xb_ex_ssv.cpp'],['../xb__ex__string_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_string.cpp'],['../xb__ex__v3__create__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_v3_create_dbf.cpp'],['../xb__ex__v3__upd__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_v3_upd_dbf.cpp'],['../xb__ex__v4__create__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_v4_create_dbf.cpp'],['../xb__ex__v4__upd__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_v4_upd_dbf.cpp'],['../xb__test__bcd_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_bcd.cpp'],['../xb__test__blockread_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_blockread.cpp'],['../xb__test__date_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_date.cpp'],['../xb__test__dbf__v3__memos_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_dbf_v3_memos.cpp'],['../xb__test__dbf__v3__nomemos_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_dbf_v3_nomemos.cpp'],['../xb__test__dbf__v4__memos_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_dbf_v4_memos.cpp'],['../xb__test__dbf__v4__nomemos_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_dbf_v4_nomemos.cpp'],['../xb__test__expnode_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_expnode.cpp'],['../xb__test__expression_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_expression.cpp']]],
+ ['memofieldsexist_1',['MemoFieldsExist',['../classxb_1_1xbDbf.html#a013dc8c51fc1aa988de39cf3da6da950',1,'xb::xbDbf']]],
+ ['mid_2',['Mid',['../classxb_1_1xbString.html#a0f9eefc836b24c4ee7c5a316c5d812b7',1,'xb::xbString']]],
+ ['monthof_3',['MonthOf',['../classxb_1_1xbDate.html#a08bd84c67e1119d8c5c1748cd89d092e',1,'xb::xbDate']]],
+ ['mydbfrec_4',['MyDbfRec',['../xb__test__blockread_8cpp.html#af68c3291a63fdf20ffa0e477460d148e',1,'xb_test_blockread.cpp']]],
+ ['myv4record_5',['MyV4Record',['../xb__ex__expression_8cpp.html#a2122b9562802e2fd799b20454000dc99',1,'xb_ex_expression.cpp']]]
+];
diff --git a/docs/doxygen/html/search/all_c.html b/docs/doxygen/html/search/all_c.html
new file mode 100644
index 0000000..829c917
--- /dev/null
+++ b/docs/doxygen/html/search/all_c.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_c.js b/docs/doxygen/html/search/all_c.js
new file mode 100644
index 0000000..4a79f03
--- /dev/null
+++ b/docs/doxygen/html/search/all_c.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['namesuffixmissing_0',['NameSuffixMissing',['../classxb_1_1xbFile.html#a361e3cc318bbf1c4d10f069e0800a24e',1,'xb::xbFile']]],
+ ['next_1',['next',['../structsFldMap.html#a16eaff8fc09adc3faf453bfaa0d3baaa',1,'sFldMap']]]
+];
diff --git a/docs/doxygen/html/search/all_d.html b/docs/doxygen/html/search/all_d.html
new file mode 100644
index 0000000..d32b28e
--- /dev/null
+++ b/docs/doxygen/html/search/all_d.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_d.js b/docs/doxygen/html/search/all_d.js
new file mode 100644
index 0000000..bdfe8c7
--- /dev/null
+++ b/docs/doxygen/html/search/all_d.js
@@ -0,0 +1,21 @@
+var searchData=
+[
+ ['open_0',['Open',['../classxb_1_1xbDbf.html#ae388c5e02adc86e6e9988e697e061610',1,'xb::xbDbf::Open(const xbString &amp;sTableName, const xbString &amp;sAlias)'],['../classxb_1_1xbDbf.html#a69824d7bafc3f5a15bf7d09f2f511768',1,'xb::xbDbf::Open(const xbString &amp;sTableName)'],['../classxb_1_1xbXBase.html#ab35cec5ac8f0fa95f10653ca7ac817f6',1,'xb::xbXBase::Open()'],['../classxb_1_1xbDbf.html#a4d018cbf44d8d8b2145c9acab02c8adf',1,'xb::xbDbf::Open()'],['../classxb_1_1xbXBase.html#aafb1abd6b6124cddf635adaf9f615a4a',1,'xb::xbXBase::Open(const xbString &amp;sTableName, xbInt16 &amp;iRc)']]],
+ ['openhighestversion_1',['OpenHighestVersion',['../classxb_1_1xbXBase.html#aa957eb502ecd076e5df89e7415cb094b',1,'xb::xbXBase::OpenHighestVersion(const xbString &amp;sTableName, const xbString &amp;sAlias, xbDbf &amp;dbf, int dummy)'],['../classxb_1_1xbXBase.html#afa7bbac08a4601f49cd53b457196ee0e',1,'xb::xbXBase::OpenHighestVersion(const xbString &amp;sTableName, const xbString &amp;sAlias, xbDbf **dbf)']]],
+ ['operator_20const_20char_20_2a_2',['operator const char *',['../classxb_1_1xbString.html#a545df0ae9590f0ea5844a165e38a6388',1,'xb::xbString']]],
+ ['operator_21_3d_3',['operator!=',['../classxb_1_1xbDate.html#ac3aaf8997fc0c36676085e7741f33a8a',1,'xb::xbDate::operator!=()'],['../classxb_1_1xbString.html#acf89691607050b0505dc6af28d059c38',1,'xb::xbString::operator!=(const xbString &amp;) const'],['../classxb_1_1xbString.html#a822448f2a0ce653473d4c1de5763a3a6',1,'xb::xbString::operator!=(const char *) const']]],
+ ['operator_2b_4',['operator+',['../classxb_1_1xbString.html#a1f289d577ba90c500bc1be3ec7bb0206',1,'xb::xbString::operator+(const xbString &amp;s)'],['../classxb_1_1xbString.html#af559654baba81c3c0c19823c0b7a69d3',1,'xb::xbString::operator+(const char c)'],['../classxb_1_1xbString.html#aab556e8c3cb478dd95643327d72a48bd',1,'xb::xbString::operator+(const char *s)'],['../classxb_1_1xbDate.html#ad09609bf78cf038886a4f9cd19423f9c',1,'xb::xbDate::operator+(xbInt32 i)']]],
+ ['operator_2b_2b_5',['operator++',['../classxb_1_1xbDate.html#a1c7d9e3718c43df18b21646072c8605e',1,'xb::xbDate']]],
+ ['operator_2b_3d_6',['operator+=',['../classxb_1_1xbDate.html#a947ba156d04fe063aaa4c9964ae5d163',1,'xb::xbDate::operator+=()'],['../classxb_1_1xbString.html#a76a47af239797a266ada6141c150001c',1,'xb::xbString::operator+=(const xbString &amp;s)'],['../classxb_1_1xbString.html#ab319120dbad9107e1e7090139c956100',1,'xb::xbString::operator+=(const char *s)'],['../classxb_1_1xbString.html#ae12f45b8be84e438e032c0b860f985c6',1,'xb::xbString::operator+=(char c)']]],
+ ['operator_2d_7',['operator-',['../classxb_1_1xbDate.html#a3f3a8802c96098c85aa8d0e19717a979',1,'xb::xbDate::operator-(const xbDate &amp;) const'],['../classxb_1_1xbDate.html#a73ff5c037046ac0a0bb7d73f74e25cbb',1,'xb::xbDate::operator-(xbInt32 i)'],['../classxb_1_1xbString.html#a06abec236b95f6933ba17bf67089f7cf',1,'xb::xbString::operator-()']]],
+ ['operator_2d_2d_8',['operator--',['../classxb_1_1xbDate.html#ae2b33dfee60d324916d833b2098b5a6b',1,'xb::xbDate']]],
+ ['operator_2d_3d_9',['operator-=',['../classxb_1_1xbString.html#aa7f4db1b4eae9dfad46346db6e17ea15',1,'xb::xbString::operator-=(const xbString &amp;s)'],['../classxb_1_1xbString.html#aaae97e6eda3d18c9f463993ade985bf4',1,'xb::xbString::operator-=(const char *s)'],['../classxb_1_1xbString.html#adcafd019df23bb5724c46e34f3f31194',1,'xb::xbString::operator-=(char c)'],['../classxb_1_1xbDate.html#a4a8f207d759540114373f5e9d6d375f7',1,'xb::xbDate::operator-=(xbInt32 i)']]],
+ ['operator_3c_10',['operator&lt;',['../classxb_1_1xbDate.html#a11f09d97ed527e7ef00ba6f17b9fb02c',1,'xb::xbDate::operator&lt;()'],['../classxb_1_1xbString.html#a71c7aafa0d523c72cbe58c474be2270a',1,'xb::xbString::operator&lt;()']]],
+ ['operator_3c_3c_11',['operator&lt;&lt;',['../namespacexb.html#ad27f348219e895c44f74addba8e1889a',1,'xb::operator&lt;&lt;()'],['../classxb_1_1xbString.html#a3fa915061156521e9dd772a8d7e5f8fb',1,'xb::xbString::operator&lt;&lt;()']]],
+ ['operator_3c_3d_12',['operator&lt;=',['../classxb_1_1xbDate.html#a6d8fa4df4664f3fd8d4cc15e77f6d046',1,'xb::xbDate::operator&lt;=()'],['../classxb_1_1xbString.html#a461f245e60cddfdf5f78a972a46e5880',1,'xb::xbString::operator&lt;=()']]],
+ ['operator_3d_13',['operator=',['../classxb_1_1xbDate.html#a2e33ad9415c32e820e08fd8084198690',1,'xb::xbDate::operator=()'],['../classxb_1_1xbString.html#a4f69d11cbd43edf71725a606d0ca8f40',1,'xb::xbString::operator=(const xbString &amp;s)'],['../classxb_1_1xbString.html#a84ae7d16c5d73c5aa2270aa9895a7f7c',1,'xb::xbString::operator=(const char *s)']]],
+ ['operator_3d_3d_14',['operator==',['../classxb_1_1xbDate.html#aaaf98c1a672066021895f0953b6e94d0',1,'xb::xbDate::operator==()'],['../classxb_1_1xbString.html#a2df3ed2fc9456214f5fd2fcf77b69bc1',1,'xb::xbString::operator==(const xbString &amp;) const'],['../classxb_1_1xbString.html#a94031269af3c433393d4cf0ff9b4be38',1,'xb::xbString::operator==(const char *) const']]],
+ ['operator_3e_15',['operator&gt;',['../classxb_1_1xbDate.html#a744031c4031d6ec4595d34acbd1c5860',1,'xb::xbDate::operator&gt;()'],['../classxb_1_1xbString.html#ae46f6a45da5686b607a4edf2786a2fff',1,'xb::xbString::operator&gt;()']]],
+ ['operator_3e_3d_16',['operator&gt;=',['../classxb_1_1xbDate.html#a1d81959ea55440588068ea7f82617c99',1,'xb::xbDate::operator&gt;=()'],['../classxb_1_1xbString.html#a8f16643cb7ba3ee9cf685422c9ea0e67',1,'xb::xbString::operator&gt;=(const xbString &amp;) const']]],
+ ['operator_5b_5d_17',['operator[]',['../classxb_1_1xbString.html#abe45e463226ac8e18550ced18c5a9df3',1,'xb::xbString::operator[](xbUInt32 n) const'],['../classxb_1_1xbString.html#a4deaa68d9571753349c29baacb5613e8',1,'xb::xbString::operator[](xbInt32 n) const']]]
+];
diff --git a/docs/doxygen/html/search/all_e.html b/docs/doxygen/html/search/all_e.html
new file mode 100644
index 0000000..ce450a2
--- /dev/null
+++ b/docs/doxygen/html/search/all_e.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_e.js b/docs/doxygen/html/search/all_e.js
new file mode 100644
index 0000000..ad8f3ae
--- /dev/null
+++ b/docs/doxygen/html/search/all_e.js
@@ -0,0 +1,24 @@
+var searchData=
+[
+ ['pack_0',['Pack',['../classxb_1_1xbDbf.html#a93bb14ad0451355bfa3379128120988a',1,'xb::xbDbf::Pack(xbUInt32 &amp;ulDeletedRecCnt)'],['../classxb_1_1xbDbf.html#a8a52bf3ef2123c0d17e6b1f67bf0dc55',1,'xb::xbDbf::Pack()']]],
+ ['padleft_1',['PadLeft',['../classxb_1_1xbString.html#a6a09cfed22066b0c72432f26960f9e7b',1,'xb::xbString']]],
+ ['padright_2',['PadRight',['../classxb_1_1xbString.html#aba13f0c77eb6c4a22996039569fad284',1,'xb::xbString']]],
+ ['pdbf_3',['pDbf',['../structxb_1_1xbTblList.html#a387d3f6bbf291a1fb96d276ed9bb96b6',1,'xb::xbTblList']]],
+ ['pnext_4',['pNext',['../structxb_1_1xbTblList.html#a3fd169fcf0fd4df927544e5342db583c',1,'xb::xbTblList']]],
+ ['pos_5',['Pos',['../classxb_1_1xbString.html#a1b586890138da8bf0e23090bd8b34581',1,'xb::xbString::Pos(char c, xbUInt32 ulStartPos) const'],['../classxb_1_1xbString.html#a3baf59d15099589ff631995f129e582b',1,'xb::xbString::Pos(char c) const'],['../classxb_1_1xbString.html#a8705d7277b72f5aa98021e84438914da',1,'xb::xbString::Pos(const char *s) const']]],
+ ['printhelp_6',['PrintHelp',['../xb__undelall_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_undelall.cpp'],['../xb__tblinfo_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_tblinfo.cpp'],['../xb__pack_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_pack.cpp'],['../xb__import_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_import.cpp'],['../xb__execsql_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_execsql.cpp'],['../xb__dumprecs_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_dumprecs.cpp'],['../xb__dumpdbt_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_dumpdbt.cpp'],['../xb__deletall_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_deletall.cpp'],['../xb__dbfutil_8cpp.html#a9c55a055e1cd4249c7f47e19dc7ac564',1,'PrintHelp():&#160;xb_dbfutil.cpp'],['../xb__copydbf_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_copydbf.cpp']]],
+ ['printresult_7',['PrintResult',['../xb__ex__expression_8cpp.html#a3234afc912211aec54c10d363d28cbda',1,'xb_ex_expression.cpp']]],
+ ['printversion_8',['PrintVersion',['../xb__copydbf_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_copydbf.cpp'],['../xb__dbfutil_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_dbfutil.cpp'],['../xb__deletall_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_deletall.cpp'],['../xb__dumpdbt_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_dumpdbt.cpp'],['../xb__dumprecs_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_dumprecs.cpp'],['../xb__execsql_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_execsql.cpp'],['../xb__import_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_import.cpp'],['../xb__pack_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_pack.cpp'],['../xb__tblinfo_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_tblinfo.cpp'],['../xb__undelall_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_undelall.cpp']]],
+ ['psfqtblname_9',['psFqTblName',['../structxb_1_1xbTblList.html#aceec65f6f6b585788cf98e8dabd2737d',1,'xb::xbTblList']]],
+ ['pstblalias_10',['psTblAlias',['../structxb_1_1xbTblList.html#ac87742c8a6b1cf2e7e35218e96966a05',1,'xb::xbTblList']]],
+ ['pstblname_11',['psTblName',['../structxb_1_1xbTblList.html#a02c3b0c47fd104ef9758b375ecdcfd0f',1,'xb::xbTblList']]],
+ ['putat_12',['PutAt',['../classxb_1_1xbString.html#a1bae6fa8f608261f6e889616482f6e39',1,'xb::xbString']]],
+ ['putdatefield_13',['PutDateField',['../classxb_1_1xbDbf.html#a873f04af528a9d81e6a367a59d998ec5',1,'xb::xbDbf::PutDateField(xbInt16 iFieldNo, const xbDate &amp;dt)'],['../classxb_1_1xbDbf.html#a571b36b3a940b1a16d5e834f329b33b9',1,'xb::xbDbf::PutDateField(const xbString &amp;sFieldName, const xbDate &amp;dt)']]],
+ ['putdoublefield_14',['PutDoubleField',['../classxb_1_1xbDbf.html#a4f34842d7e8ff1f16992c2ece2fc38a5',1,'xb::xbDbf::PutDoubleField(xbInt16 FieldNo, xbDouble dFieldValue)'],['../classxb_1_1xbDbf.html#ae695bbc71c19abc71c0c5f2ff2e1f971',1,'xb::xbDbf::PutDoubleField(const xbString &amp;FieldName, xbDouble dFieldValue)']]],
+ ['putfield_15',['PutField',['../classxb_1_1xbDbf.html#a7862215dd2f83a1c488e539cd1f9aec0',1,'xb::xbDbf::PutField(const xbString &amp;sFieldName, const xbString &amp;sFieldData)'],['../classxb_1_1xbDbf.html#a142b0c0dc904917f3c68c5572c1237b5',1,'xb::xbDbf::PutField(xbInt16 iFieldNo, const xbString &amp;sFieldData)']]],
+ ['putfloatfield_16',['PutFloatField',['../classxb_1_1xbDbf.html#a64161eb50d72e424b11bf3732657ebd8',1,'xb::xbDbf::PutFloatField(xbInt16 iFieldNo, xbFloat fFieldValue)'],['../classxb_1_1xbDbf.html#a4ea3241bc710d57e5f755efda62288ad',1,'xb::xbDbf::PutFloatField(const xbString &amp;sFieldName, xbFloat fFieldValue)']]],
+ ['putlogicalfield_17',['PutLogicalField',['../classxb_1_1xbDbf.html#ab39ac4269ac63bc7ea4f638733bb17f0',1,'xb::xbDbf::PutLogicalField(xbInt16 iFieldNo, const xbString &amp;sFieldData)'],['../classxb_1_1xbDbf.html#a507e400ca6526a9e0391cf06dd6a014e',1,'xb::xbDbf::PutLogicalField(const xbString &amp;sFieldName, const xbString &amp;sFieldData)'],['../classxb_1_1xbDbf.html#a423a0cb7bd252cedf956ace4954f275d',1,'xb::xbDbf::PutLogicalField(xbInt16 iFieldNo, xbBool bFieldData)'],['../classxb_1_1xbDbf.html#a623ca3ef5520c42308c1a16b518e7ff3',1,'xb::xbDbf::PutLogicalField(const xbString &amp;sFieldName, xbBool bFieldData)']]],
+ ['putlongfield_18',['PutLongField',['../classxb_1_1xbDbf.html#a56c8f924284bf88aabf90b7930b4eb47',1,'xb::xbDbf::PutLongField(xbInt16 iFieldNo, xbInt32 lFieldValue)'],['../classxb_1_1xbDbf.html#a0692d1776a725c2f61d4c14677e9307c',1,'xb::xbDbf::PutLongField(const xbString &amp;sFieldName, xbInt32 lFieldValue)']]],
+ ['putrecord_19',['PutRecord',['../classxb_1_1xbDbf.html#a3c36a5ffbc7067a1abbcb526dd3b981d',1,'xb::xbDbf::PutRecord()'],['../classxb_1_1xbDbf.html#aacbc7bac3ea0c502ee75b838f4f0fcbf',1,'xb::xbDbf::PutRecord(xbUInt32 ulRecNo)']]],
+ ['putulongfield_20',['PutULongField',['../classxb_1_1xbDbf.html#ac62cb97c4e678c83f41788b1ae4d0381',1,'xb::xbDbf::PutULongField(const xbString &amp;sFieldNo, xbUInt32 lFieldValue)'],['../classxb_1_1xbDbf.html#af5dec5c9ff903efffdb0490a44d296d2',1,'xb::xbDbf::PutULongField(xbInt16 iFieldNo, xbUInt32 lFieldValue)']]]
+];
diff --git a/docs/doxygen/html/search/all_f.html b/docs/doxygen/html/search/all_f.html
new file mode 100644
index 0000000..59cfe49
--- /dev/null
+++ b/docs/doxygen/html/search/all_f.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/all_f.js b/docs/doxygen/html/search/all_f.js
new file mode 100644
index 0000000..9b07813
--- /dev/null
+++ b/docs/doxygen/html/search/all_f.js
@@ -0,0 +1,14 @@
+var searchData=
+[
+ ['readblock_0',['ReadBlock',['../classxb_1_1xbFile.html#aa1bb80340abc7a5c22f87f878e9dc825',1,'xb::xbFile::ReadBlock(xbUInt32 ulBlockNo, size_t readSize, void *buf)'],['../classxb_1_1xbFile.html#aef696b1c4c0ef5338e818599f695d485',1,'xb::xbFile::ReadBlock(xbUInt32 ulBlockNo, xbUInt32 ulBlockSize, size_t readSize, void *buf)']]],
+ ['readheader_1',['ReadHeader',['../classxb_1_1xbDbf.html#a060541addb5bb1f0fe12959ed6f66fb9',1,'xb::xbDbf']]],
+ ['recbuf_2',['RecBuf',['../classxb_1_1xbDbf.html#a8a9b3bce0b741e73473d3ebbd6e6f1cd',1,'xb::xbDbf']]],
+ ['recbuf2_3',['RecBuf2',['../classxb_1_1xbDbf.html#a353ebfc8a2960ef827f429ec74025606',1,'xb::xbDbf']]],
+ ['recorddeleted_4',['RecordDeleted',['../classxb_1_1xbDbf.html#a94d7d626ba691fd4b740c034673e6fc6',1,'xb::xbDbf']]],
+ ['remove_5',['Remove',['../classxb_1_1xbString.html#afaac65eaa6d9ef1596d6a0e7b91ed0f2',1,'xb::xbString']]],
+ ['removetblfromtbllist_6',['RemoveTblFromTblList',['../classxb_1_1xbTblMgr.html#ac8eaef41acf08911b90f900aac8e70af',1,'xb::xbTblMgr::RemoveTblFromTblList(const xbString &amp;sTblAlias)'],['../classxb_1_1xbTblMgr.html#a3d82b6e73d5c0bc8cac22b9a260389c1',1,'xb::xbTblMgr::RemoveTblFromTblList(xbDbf *d)']]],
+ ['rename_7',['Rename',['../classxb_1_1xbDbf.html#aeeeb2eb5fabcd0f91d457df07b0e0708',1,'xb::xbDbf']]],
+ ['replace_8',['Replace',['../classxb_1_1xbString.html#ac721d643c60b5c5acf60c2bce99596fa',1,'xb::xbString']]],
+ ['resize_9',['Resize',['../classxb_1_1xbString.html#aa6d346ab04e5bb8852f0bb996163a35e',1,'xb::xbString']]],
+ ['rtrim_10',['Rtrim',['../classxb_1_1xbString.html#aaf330188d67c347ecae0d16f65b22077',1,'xb::xbString']]]
+];
diff --git a/docs/doxygen/html/search/classes_0.html b/docs/doxygen/html/search/classes_0.html
new file mode 100644
index 0000000..8361bcd
--- /dev/null
+++ b/docs/doxygen/html/search/classes_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/classes_0.js b/docs/doxygen/html/search/classes_0.js
new file mode 100644
index 0000000..cbb027a
--- /dev/null
+++ b/docs/doxygen/html/search/classes_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['sfldmap_0',['sFldMap',['../structsFldMap.html',1,'']]]
+];
diff --git a/docs/doxygen/html/search/classes_1.html b/docs/doxygen/html/search/classes_1.html
new file mode 100644
index 0000000..3c668de
--- /dev/null
+++ b/docs/doxygen/html/search/classes_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/classes_1.js b/docs/doxygen/html/search/classes_1.js
new file mode 100644
index 0000000..b0f0a44
--- /dev/null
+++ b/docs/doxygen/html/search/classes_1.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['xbdate_0',['xbDate',['../classxb_1_1xbDate.html',1,'xb']]],
+ ['xbdbf_1',['xbDbf',['../classxb_1_1xbDbf.html',1,'xb']]],
+ ['xbfile_2',['xbFile',['../classxb_1_1xbFile.html',1,'xb']]],
+ ['xbschema_3',['xbSchema',['../structxb_1_1xbSchema.html',1,'xb']]],
+ ['xbssv_4',['xbSsv',['../classxb_1_1xbSsv.html',1,'xb']]],
+ ['xbstring_5',['xbString',['../classxb_1_1xbString.html',1,'xb']]],
+ ['xbtbllist_6',['xbTblList',['../structxb_1_1xbTblList.html',1,'xb']]],
+ ['xbtblmgr_7',['xbTblMgr',['../classxb_1_1xbTblMgr.html',1,'xb']]],
+ ['xbxbase_8',['xbXBase',['../classxb_1_1xbXBase.html',1,'xb']]]
+];
diff --git a/docs/doxygen/html/search/close.svg b/docs/doxygen/html/search/close.svg
new file mode 100644
index 0000000..a933eea
--- /dev/null
+++ b/docs/doxygen/html/search/close.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ viewBox="0 0 11 11"
+ height="11"
+ width="11"
+ id="svg2"
+ version="1.1">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6" />
+ <path
+ id="path12"
+ d="M 5.5 0.5 A 5 5 0 0 0 0.5 5.5 A 5 5 0 0 0 5.5 10.5 A 5 5 0 0 0 10.5 5.5 A 5 5 0 0 0 5.5 0.5 z M 3.5820312 3 A 0.58291923 0.58291923 0 0 1 4 3.1757812 L 5.5 4.6757812 L 7 3.1757812 A 0.58291923 0.58291923 0 0 1 7.4003906 3 A 0.58291923 0.58291923 0 0 1 7.8242188 4 L 6.3242188 5.5 L 7.8242188 7 A 0.58291923 0.58291923 0 1 1 7 7.8242188 L 5.5 6.3242188 L 4 7.8242188 A 0.58291923 0.58291923 0 1 1 3.1757812 7 L 4.6757812 5.5 L 3.1757812 4 A 0.58291923 0.58291923 0 0 1 3.5820312 3 z "
+ style="stroke-width:1.09870648;fill:#bababa;fill-opacity:1" />
+</svg>
diff --git a/docs/doxygen/html/search/defines_0.html b/docs/doxygen/html/search/defines_0.html
new file mode 100644
index 0000000..fd147db
--- /dev/null
+++ b/docs/doxygen/html/search/defines_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="defines_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/defines_0.js b/docs/doxygen/html/search/defines_0.js
new file mode 100644
index 0000000..7e77a63
--- /dev/null
+++ b/docs/doxygen/html/search/defines_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['jul_5foffset_0',['JUL_OFFSET',['../xbdate_8h.html#a119f32fda399e2ebc2d734012a130e8f',1,'xbdate.h']]]
+];
diff --git a/docs/doxygen/html/search/defines_1.html b/docs/doxygen/html/search/defines_1.html
new file mode 100644
index 0000000..517e9fc
--- /dev/null
+++ b/docs/doxygen/html/search/defines_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="defines_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/defines_1.js b/docs/doxygen/html/search/defines_1.js
new file mode 100644
index 0000000..7d95fad
--- /dev/null
+++ b/docs/doxygen/html/search/defines_1.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['lk_5fclipper_0',['LK_CLIPPER',['../xbdbf_8h.html#a01d6d7910b0da2170eb904a97d864a41',1,'xbdbf.h']]],
+ ['lk_5fdbase_1',['LK_DBASE',['../xbdbf_8h.html#a4c08d01bd69e295b001bd00a228d8106',1,'xbdbf.h']]],
+ ['lk_5ffox_2',['LK_FOX',['../xbdbf_8h.html#a65e29186276222f460a7171803e07adf',1,'xbdbf.h']]],
+ ['lk_5fxbase64_3',['LK_XBASE64',['../xbdbf_8h.html#a42aea0ccd94f7422c8e0d7422dce85a4',1,'xbdbf.h']]]
+];
diff --git a/docs/doxygen/html/search/defines_2.html b/docs/doxygen/html/search/defines_2.html
new file mode 100644
index 0000000..a4cbbba
--- /dev/null
+++ b/docs/doxygen/html/search/defines_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="defines_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/defines_2.js b/docs/doxygen/html/search/defines_2.js
new file mode 100644
index 0000000..cbf9570
--- /dev/null
+++ b/docs/doxygen/html/search/defines_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['verbose_0',['VERBOSE',['../xb__test__string_8cpp.html#a42f8c497a1968074f38bf5055c650dca',1,'xb_test_string.cpp']]]
+];
diff --git a/docs/doxygen/html/search/defines_3.html b/docs/doxygen/html/search/defines_3.html
new file mode 100644
index 0000000..df9e6c2
--- /dev/null
+++ b/docs/doxygen/html/search/defines_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="defines_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/defines_3.js b/docs/doxygen/html/search/defines_3.js
new file mode 100644
index 0000000..fe97605
--- /dev/null
+++ b/docs/doxygen/html/search/defines_3.js
@@ -0,0 +1,91 @@
+var searchData=
+[
+ ['xb_5factive_5frecs_0',['XB_ACTIVE_RECS',['../xbdbf_8h.html#a1c44bb25bf2e23a3a9d3d2312df0b592',1,'xbdbf.h']]],
+ ['xb_5fall_5frecs_1',['XB_ALL_RECS',['../xbdbf_8h.html#a8bd17730da3ba5c55a6a07bc482dd0e4',1,'xbdbf.h']]],
+ ['xb_5falready_5fopen_2',['XB_ALREADY_OPEN',['../xbretcod_8h.html#aa2ff8301503f446c6a5f6510090e520f',1,'xbretcod.h']]],
+ ['xb_5fblockread_5fnot_5fenabled_3',['XB_BLOCKREAD_NOT_ENABLED',['../xbretcod_8h.html#aae9241d91cfb37f5d236128b3bce0a4a',1,'xbretcod.h']]],
+ ['xb_5fbof_4',['XB_BOF',['../xbretcod_8h.html#ade5f3a7cf1467d12761e4e21b5e4200f',1,'xbretcod.h']]],
+ ['xb_5fchar_5ffld_5',['XB_CHAR_FLD',['../xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa',1,'xbdbf.h']]],
+ ['xb_5fchareof_6',['XB_CHAREOF',['../xbdbf_8h.html#ada1115f596131888c04df61546b198c4',1,'xbdbf.h']]],
+ ['xb_5fcharhdr_7',['XB_CHARHDR',['../xbdbf_8h.html#a35d56cac7959c1e5c761684ced3f1e17',1,'xbdbf.h']]],
+ ['xb_5fclose_5ferror_8',['XB_CLOSE_ERROR',['../xbretcod_8h.html#a030684d5541cf6127a76d81b0684b235',1,'xbretcod.h']]],
+ ['xb_5fclosed_9',['XB_CLOSED',['../xbdbf_8h.html#a843ca4569326dbd1d0647899b0eb512f',1,'xbdbf.h']]],
+ ['xb_5fdate_5ffld_10',['XB_DATE_FLD',['../xbdbf_8h.html#a7f685e6f5fe804b2174725a27ce73adc',1,'xbdbf.h']]],
+ ['xb_5fdbf_5ffile_5fnot_5fopen_11',['XB_DBF_FILE_NOT_OPEN',['../xbretcod_8h.html#a8104510b347c87998eadd0b27201e3c2',1,'xbretcod.h']]],
+ ['xb_5fdelete_5ffailed_12',['XB_DELETE_FAILED',['../xbretcod_8h.html#ada15513935d5ede9216f07c0438f34d2',1,'xbretcod.h']]],
+ ['xb_5fdeleted_5frecs_13',['XB_DELETED_RECS',['../xbdbf_8h.html#acc0a441854ed92b9d65d1181a97cad43',1,'xbdbf.h']]],
+ ['xb_5fdirectory_5ferror_14',['XB_DIRECTORY_ERROR',['../xbretcod_8h.html#af532df74147ce2d872f61abfee49c53e',1,'xbretcod.h']]],
+ ['xb_5fdontoverlay_15',['XB_DONTOVERLAY',['../xbdbf_8h.html#a7b797840abdb3291373d15978103a778',1,'xbdbf.h']]],
+ ['xb_5fdup_5ftable_5for_5falias_16',['XB_DUP_TABLE_OR_ALIAS',['../xbretcod_8h.html#ac18036408d10e5eee1bf76cf92352b95',1,'xbretcod.h']]],
+ ['xb_5fempty_17',['XB_EMPTY',['../xbretcod_8h.html#a18068d0cbe0c7a1b4dd3176220180c29',1,'xbretcod.h']]],
+ ['xb_5feof_18',['XB_EOF',['../xbretcod_8h.html#a8b47031e90c3f86306c7058e4490d3b7',1,'xbretcod.h']]],
+ ['xb_5ffile_5fexists_19',['XB_FILE_EXISTS',['../xbretcod_8h.html#a54303a9677dbd5342233f33dd08c64d0',1,'xbretcod.h']]],
+ ['xb_5ffile_5fnot_5ffound_20',['XB_FILE_NOT_FOUND',['../xbretcod_8h.html#ad090af330c93111d12f6de35dbb065bc',1,'xbretcod.h']]],
+ ['xb_5ffile_5ftype_5fnot_5fsupported_21',['XB_FILE_TYPE_NOT_SUPPORTED',['../xbretcod_8h.html#ab7b9130a5f1df9975cfeaf6241933596',1,'xbretcod.h']]],
+ ['xb_5ffloat_5ffld_22',['XB_FLOAT_FLD',['../xbdbf_8h.html#a96ab4218d70ab603b4866354ce8c18cd',1,'xbdbf.h']]],
+ ['xb_5ffmt_5fmonth_23',['XB_FMT_MONTH',['../xbdate_8h.html#aeacf2f7cc897ab5bd64781c0fb52b75d',1,'xbdate.h']]],
+ ['xb_5ffmt_5fweek_24',['XB_FMT_WEEK',['../xbdate_8h.html#a8f22704d3fd93fa85dd93b6c699e8178',1,'xbdate.h']]],
+ ['xb_5ffmt_5fyear_25',['XB_FMT_YEAR',['../xbdate_8h.html#aa29d78982a9e007874af1c4f4e4d1aa4',1,'xbdate.h']]],
+ ['xb_5fincompatible_5foperands_26',['XB_INCOMPATIBLE_OPERANDS',['../xbretcod_8h.html#af141ec58b7ca7360e0be6c61d015ea74',1,'xbretcod.h']]],
+ ['xb_5finconsistent_5fparm_5flens_27',['XB_INCONSISTENT_PARM_LENS',['../xbretcod_8h.html#adc4b24bfffa202f8df25409894e547b9',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fblock_5fno_28',['XB_INVALID_BLOCK_NO',['../xbretcod_8h.html#a4e13b529b486c43ca600ce7d8ddbf3c2',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fblock_5fsize_29',['XB_INVALID_BLOCK_SIZE',['../xbretcod_8h.html#a1bd22921612389c37f6b2eac438c62c5',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fdata_30',['XB_INVALID_DATA',['../xbretcod_8h.html#afb40bbed323ecb369dd430a2e1242f9a',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fdate_31',['XB_INVALID_DATE',['../xbretcod_8h.html#a702475500357a27b8a34463be3e11925',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fexpression_32',['XB_INVALID_EXPRESSION',['../xbretcod_8h.html#a54db562c3cae97581812b4fccd52b71a',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ffield_33',['XB_INVALID_FIELD',['../xbretcod_8h.html#a34180b2e2bd350ba2ebcdd1335e15d7e',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ffield_5flen_34',['XB_INVALID_FIELD_LEN',['../xbretcod_8h.html#a7bd322c0efbba17f68ccccd6cf624411',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ffield_5fname_35',['XB_INVALID_FIELD_NAME',['../xbretcod_8h.html#a59403978784130834cf39434cb73f96e',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ffield_5fno_36',['XB_INVALID_FIELD_NO',['../xbretcod_8h.html#a09d6c08a44316f551108a74003efd381',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ffield_5ftype_37',['XB_INVALID_FIELD_TYPE',['../xbretcod_8h.html#a79e2588f067d6e236c0e5a2c0728ba9f',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ffunction_38',['XB_INVALID_FUNCTION',['../xbretcod_8h.html#a2b7e5e440dbcf5e6dc885b24dbe28742',1,'xbretcod.h']]],
+ ['xb_5finvalid_5findex_39',['XB_INVALID_INDEX',['../xbretcod_8h.html#acd175ef0541e2cad424791bd87619dd4',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fkeyno_40',['XB_INVALID_KEYNO',['../xbretcod_8h.html#aec2c0ac2bd62e0329ef130e4fbda39f8',1,'xbretcod.h']]],
+ ['xb_5finvalid_5flock_5foption_41',['XB_INVALID_LOCK_OPTION',['../xbretcod_8h.html#ab45735e63c208eb7e6d6df31fd527aec',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fmemo_5ffield_42',['XB_INVALID_MEMO_FIELD',['../xbretcod_8h.html#a187c50745f51bfe4aa6f70a92f16c59f',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fnodelink_43',['XB_INVALID_NODELINK',['../xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fobject_44',['XB_INVALID_OBJECT',['../xbretcod_8h.html#a418c047353bc683d0fd6ecbbdd5b7885',1,'xbretcod.h']]],
+ ['xb_5finvalid_5foption_45',['XB_INVALID_OPTION',['../xbretcod_8h.html#af1cd0baf346cad686fa4dd11f700012a',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fpage_46',['XB_INVALID_PAGE',['../xbretcod_8h.html#ad0aba12b5ae2137f8d6abd28b47f95f0',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fparameter_47',['XB_INVALID_PARAMETER',['../xbretcod_8h.html#a1b78533ada854b4185c51ad8a5ce9f02',1,'xbretcod.h']]],
+ ['xb_5finvalid_5fparm_48',['XB_INVALID_PARM',['../xbretcod_8h.html#a4cedf96581c9cbc9c14d07494143702d',1,'xbretcod.h']]],
+ ['xb_5finvalid_5frecord_49',['XB_INVALID_RECORD',['../xbretcod_8h.html#a0fd212f912b2e62700a66bae95bd73a1',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ftable_5fname_50',['XB_INVALID_TABLE_NAME',['../xbretcod_8h.html#a53891c95a78483704d2a8e14c4499f92',1,'xbretcod.h']]],
+ ['xb_5finvalid_5ftag_51',['XB_INVALID_TAG',['../xbretcod_8h.html#a176d917912d3433f065483f905a4c50a',1,'xbretcod.h']]],
+ ['xb_5fkey_5fnot_5funique_52',['XB_KEY_NOT_UNIQUE',['../xbretcod_8h.html#ad60dbb1862c0c1c2dc0464cfbfd93a34',1,'xbretcod.h']]],
+ ['xb_5flimit_5freached_53',['XB_LIMIT_REACHED',['../xbretcod_8h.html#a59f1a8a6aca19595c2d1804349a24850',1,'xbretcod.h']]],
+ ['xb_5flock_54',['XB_LOCK',['../xbdbf_8h.html#a395a2e101a793bacabf6bc079d178e29',1,'xbdbf.h']]],
+ ['xb_5flock_5ffailed_55',['XB_LOCK_FAILED',['../xbretcod_8h.html#a001e24b39e0f155fb1e892f5b1b9cff1',1,'xbretcod.h']]],
+ ['xb_5flogical_5ffld_56',['XB_LOGICAL_FLD',['../xbdbf_8h.html#a2f6d5073af761bc1a806a2c7b1c1d886',1,'xbdbf.h']]],
+ ['xb_5fmax_5ferror_5fno_57',['XB_MAX_ERROR_NO',['../xbretcod_8h.html#a299419a9c80e000b74bf97a2d24d6a3d',1,'xbretcod.h']]],
+ ['xb_5fmemcpy_5ferror_58',['XB_MEMCPY_ERROR',['../xbretcod_8h.html#aa2925f035e3b186d7efa14648ea0e86d',1,'xbretcod.h']]],
+ ['xb_5fmemo_5ffld_59',['XB_MEMO_FLD',['../xbdbf_8h.html#a23fa19b19cb43bd6dcc59a5a3f6c30ad',1,'xbdbf.h']]],
+ ['xb_5fmulti_5fuser_60',['XB_MULTI_USER',['../xbfile_8h.html#a05c0fc99ba71cf953d046d12f3f874bc',1,'xbfile.h']]],
+ ['xb_5fno_5ferror_61',['XB_NO_ERROR',['../xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23',1,'xbretcod.h']]],
+ ['xb_5fno_5fmemory_62',['XB_NO_MEMORY',['../xbretcod_8h.html#ae687fc7d872ba0475a8477e4447f9b54',1,'xbretcod.h']]],
+ ['xb_5fnot_5ffound_63',['XB_NOT_FOUND',['../xbretcod_8h.html#ac2606659a54111334f5b02861e533700',1,'xbretcod.h']]],
+ ['xb_5fnot_5fopen_64',['XB_NOT_OPEN',['../xbretcod_8h.html#a9474b400f647bdefbbb07e5177e8d7a1',1,'xbretcod.h']]],
+ ['xb_5fnull_5fdate_65',['XB_NULL_DATE',['../xbexp_8h.html#a6e9d2ccba2b3ac6e44ab411ffda488c2',1,'xbexp.h']]],
+ ['xb_5fnumeric_5ffld_66',['XB_NUMERIC_FLD',['../xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6',1,'xbdbf.h']]],
+ ['xb_5fopen_67',['XB_OPEN',['../xbdbf_8h.html#a9a6dafbb07cac744eb14094efa739409',1,'xbdbf.h']]],
+ ['xb_5fopen_5ferror_68',['XB_OPEN_ERROR',['../xbretcod_8h.html#aaab55236993a1d3acb29206252a904c8',1,'xbretcod.h']]],
+ ['xb_5foverlay_69',['XB_OVERLAY',['../xbdbf_8h.html#a6fe10b307878b4612b04c2c876a4a592',1,'xbdbf.h']]],
+ ['xb_5fparse_5ferror_70',['XB_PARSE_ERROR',['../xbretcod_8h.html#aec713cac2b03a0d536a2d16336ae7c0b',1,'xbretcod.h']]],
+ ['xb_5fread_71',['XB_READ',['../xbfile_8h.html#ae58c73e0ba237fcf67ee20feea6c2743',1,'xbfile.h']]],
+ ['xb_5fread_5ferror_72',['XB_READ_ERROR',['../xbretcod_8h.html#adbd40585db8bb748d191f94a33bac710',1,'xbretcod.h']]],
+ ['xb_5fread_5fwrite_73',['XB_READ_WRITE',['../xbfile_8h.html#af991a288c327f6857e90156ea734a633',1,'xbfile.h']]],
+ ['xb_5frename_5ferror_74',['XB_RENAME_ERROR',['../xbretcod_8h.html#a373f30b2efcbbab9f6d060fb3fe8cba3',1,'xbretcod.h']]],
+ ['xb_5fseek_5ferror_75',['XB_SEEK_ERROR',['../xbretcod_8h.html#a0455ad8719e153b08ec68b10c81e9f41',1,'xbretcod.h']]],
+ ['xb_5fsingle_5fuser_76',['XB_SINGLE_USER',['../xbfile_8h.html#a9ec4d60a008c667d9861e3b3814f0232',1,'xbfile.h']]],
+ ['xb_5fsyntax_5ferror_77',['XB_SYNTAX_ERROR',['../xbretcod_8h.html#a5db3a90f215534143bdde81253729c7f',1,'xbretcod.h']]],
+ ['xb_5ftable_5fnot_5flocked_78',['XB_TABLE_NOT_LOCKED',['../xbretcod_8h.html#af6aaf779fddecca521d785666f6dc56b',1,'xbretcod.h']]],
+ ['xb_5funbalanced_5fparens_79',['XB_UNBALANCED_PARENS',['../xbretcod_8h.html#aff5646a6b0884ff81004de6961473ea6',1,'xbretcod.h']]],
+ ['xb_5funbalanced_5fquotes_80',['XB_UNBALANCED_QUOTES',['../xbretcod_8h.html#aedfa20a6c4eb9ba3063ba56be8280eac',1,'xbretcod.h']]],
+ ['xb_5funlock_81',['XB_UNLOCK',['../xbdbf_8h.html#a21389b73e7b4e7e185fa635b9e354c2e',1,'xbdbf.h']]],
+ ['xb_5fupdated_82',['XB_UPDATED',['../xbdbf_8h.html#a26e7eeda69f32bc88b08a208ca9e7991',1,'xbdbf.h']]],
+ ['xb_5fwrite_83',['XB_WRITE',['../xbfile_8h.html#abbf99e259c2f31572c886da6d85b1359',1,'xbfile.h']]],
+ ['xb_5fwrite_5ferror_84',['XB_WRITE_ERROR',['../xbretcod_8h.html#aef34ebe6726057f805d6063130280549',1,'xbretcod.h']]],
+ ['xbfalse_85',['xbFalse',['../xbtypes_8h.html#adc4b6ca5ad299f63675136d9e03938cc',1,'xbtypes.h']]],
+ ['xbfileno_86',['xbFileNo',['../xbtypes_8h.html#a2c65f692ac861990861575e18f72f6eb',1,'xbtypes.h']]],
+ ['xbtrue_87',['xbTrue',['../xbtypes_8h.html#ab0ae00665298fe7f5292691cb98ec2d9',1,'xbtypes.h']]]
+];
diff --git a/docs/doxygen/html/search/files_0.html b/docs/doxygen/html/search/files_0.html
new file mode 100644
index 0000000..da83704
--- /dev/null
+++ b/docs/doxygen/html/search/files_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/files_0.js b/docs/doxygen/html/search/files_0.js
new file mode 100644
index 0000000..f577bf3
--- /dev/null
+++ b/docs/doxygen/html/search/files_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['tstfuncs_2ecpp_0',['tstfuncs.cpp',['../tstfuncs_8cpp.html',1,'']]]
+];
diff --git a/docs/doxygen/html/search/files_1.html b/docs/doxygen/html/search/files_1.html
new file mode 100644
index 0000000..f7e1582
--- /dev/null
+++ b/docs/doxygen/html/search/files_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/files_1.js b/docs/doxygen/html/search/files_1.js
new file mode 100644
index 0000000..bca7084
--- /dev/null
+++ b/docs/doxygen/html/search/files_1.js
@@ -0,0 +1,109 @@
+var searchData=
+[
+ ['xb_5fcfg_5fcheck_2ecpp_0',['xb_cfg_check.cpp',['../xb__cfg__check_8cpp.html',1,'']]],
+ ['xb_5fcopydbf_2ecpp_1',['xb_copydbf.cpp',['../xb__copydbf_8cpp.html',1,'']]],
+ ['xb_5fdbfutil_2ecpp_2',['xb_dbfutil.cpp',['../xb__dbfutil_8cpp.html',1,'']]],
+ ['xb_5fdeletall_2ecpp_3',['xb_deletall.cpp',['../xb__deletall_8cpp.html',1,'']]],
+ ['xb_5fdumpdbt_2ecpp_4',['xb_dumpdbt.cpp',['../xb__dumpdbt_8cpp.html',1,'']]],
+ ['xb_5fdumprecs_2ecpp_5',['xb_dumprecs.cpp',['../xb__dumprecs_8cpp.html',1,'']]],
+ ['xb_5fex_5fdate_2ecpp_6',['xb_ex_date.cpp',['../xb__ex__date_8cpp.html',1,'']]],
+ ['xb_5fex_5fexpression_2ecpp_7',['xb_ex_expression.cpp',['../xb__ex__expression_8cpp.html',1,'']]],
+ ['xb_5fex_5flog_2ecpp_8',['xb_ex_log.cpp',['../xb__ex__log_8cpp.html',1,'']]],
+ ['xb_5fex_5fsql_2ecpp_9',['xb_ex_sql.cpp',['../xb__ex__sql_8cpp.html',1,'']]],
+ ['xb_5fex_5fssv_2ecpp_10',['xb_ex_ssv.cpp',['../xb__ex__ssv_8cpp.html',1,'']]],
+ ['xb_5fex_5fstring_2ecpp_11',['xb_ex_string.cpp',['../xb__ex__string_8cpp.html',1,'']]],
+ ['xb_5fex_5fv3_5fcreate_5fdbf_2ecpp_12',['xb_ex_v3_create_dbf.cpp',['../xb__ex__v3__create__dbf_8cpp.html',1,'']]],
+ ['xb_5fex_5fv3_5fupd_5fdbf_2ecpp_13',['xb_ex_v3_upd_dbf.cpp',['../xb__ex__v3__upd__dbf_8cpp.html',1,'']]],
+ ['xb_5fex_5fv4_5fcreate_5fdbf_2ecpp_14',['xb_ex_v4_create_dbf.cpp',['../xb__ex__v4__create__dbf_8cpp.html',1,'']]],
+ ['xb_5fex_5fv4_5fupd_5fdbf_2ecpp_15',['xb_ex_v4_upd_dbf.cpp',['../xb__ex__v4__upd__dbf_8cpp.html',1,'']]],
+ ['xb_5fexecsql_2ecpp_16',['xb_execsql.cpp',['../xb__execsql_8cpp.html',1,'']]],
+ ['xb_5fimport_2ecpp_17',['xb_import.cpp',['../xb__import_8cpp.html',1,'']]],
+ ['xb_5fpack_2ecpp_18',['xb_pack.cpp',['../xb__pack_8cpp.html',1,'']]],
+ ['xb_5ftblinfo_2ecpp_19',['xb_tblinfo.cpp',['../xb__tblinfo_8cpp.html',1,'']]],
+ ['xb_5ftest_5fbcd_2ecpp_20',['xb_test_bcd.cpp',['../xb__test__bcd_8cpp.html',1,'']]],
+ ['xb_5ftest_5fblockread_2ecpp_21',['xb_test_blockread.cpp',['../xb__test__blockread_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdate_2ecpp_22',['xb_test_date.cpp',['../xb__test__date_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdbf_5fv3_5fmemos_2ecpp_23',['xb_test_dbf_v3_memos.cpp',['../xb__test__dbf__v3__memos_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdbf_5fv3_5fnomemos_2ecpp_24',['xb_test_dbf_v3_nomemos.cpp',['../xb__test__dbf__v3__nomemos_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdbf_5fv4_5fmemos_2ecpp_25',['xb_test_dbf_v4_memos.cpp',['../xb__test__dbf__v4__memos_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdbf_5fv4_5fnomemos_2ecpp_26',['xb_test_dbf_v4_nomemos.cpp',['../xb__test__dbf__v4__nomemos_8cpp.html',1,'']]],
+ ['xb_5ftest_5fexpnode_2ecpp_27',['xb_test_expnode.cpp',['../xb__test__expnode_8cpp.html',1,'']]],
+ ['xb_5ftest_5fexpression_2ecpp_28',['xb_test_expression.cpp',['../xb__test__expression_8cpp.html',1,'']]],
+ ['xb_5ftest_5ffile_2ecpp_29',['xb_test_file.cpp',['../xb__test__file_8cpp.html',1,'']]],
+ ['xb_5ftest_5ffilter_2ecpp_30',['xb_test_filter.cpp',['../xb__test__filter_8cpp.html',1,'']]],
+ ['xb_5ftest_5ffuncs_2ecpp_31',['xb_test_funcs.cpp',['../xb__test__funcs_8cpp.html',1,'']]],
+ ['xb_5ftest_5flinklist_2ecpp_32',['xb_test_linklist.cpp',['../xb__test__linklist_8cpp.html',1,'']]],
+ ['xb_5ftest_5flock_2ecpp_33',['xb_test_lock.cpp',['../xb__test__lock_8cpp.html',1,'']]],
+ ['xb_5ftest_5flock2_2ecpp_34',['xb_test_lock2.cpp',['../xb__test__lock2_8cpp.html',1,'']]],
+ ['xb_5ftest_5flog_2ecpp_35',['xb_test_log.cpp',['../xb__test__log_8cpp.html',1,'']]],
+ ['xb_5ftest_5fmdx_2ecpp_36',['xb_test_mdx.cpp',['../xb__test__mdx_8cpp.html',1,'']]],
+ ['xb_5ftest_5fndx_2ecpp_37',['xb_test_ndx.cpp',['../xb__test__ndx_8cpp.html',1,'']]],
+ ['xb_5ftest_5fsql_2ecpp_38',['xb_test_sql.cpp',['../xb__test__sql_8cpp.html',1,'']]],
+ ['xb_5ftest_5fstring_2ecpp_39',['xb_test_string.cpp',['../xb__test__string_8cpp.html',1,'']]],
+ ['xb_5ftest_5ftblmgr_2ecpp_40',['xb_test_tblmgr.cpp',['../xb__test__tblmgr_8cpp.html',1,'']]],
+ ['xb_5ftest_5ftdx_2ecpp_41',['xb_test_tdx.cpp',['../xb__test__tdx_8cpp.html',1,'']]],
+ ['xb_5ftest_5fuda_2ecpp_42',['xb_test_uda.cpp',['../xb__test__uda_8cpp.html',1,'']]],
+ ['xb_5ftest_5fxbase_2ecpp_43',['xb_test_xbase.cpp',['../xb__test__xbase_8cpp.html',1,'']]],
+ ['xb_5fundelall_2ecpp_44',['xb_undelall.cpp',['../xb__undelall_8cpp.html',1,'']]],
+ ['xbalttbl_2ecpp_45',['xbalttbl.cpp',['../xbalttbl_8cpp.html',1,'']]],
+ ['xbase_2eh_46',['xbase.h',['../xbase_8h.html',1,'']]],
+ ['xbbcd_2ecpp_47',['xbbcd.cpp',['../xbbcd_8cpp.html',1,'']]],
+ ['xbbcd_2eh_48',['xbbcd.h',['../xbbcd_8h.html',1,'']]],
+ ['xbblkread_2eh_49',['xbblkread.h',['../xbblkread_8h.html',1,'']]],
+ ['xbblockread_2ecpp_50',['xbblockread.cpp',['../xbblockread_8cpp.html',1,'']]],
+ ['xbcrix_2ecpp_51',['xbcrix.cpp',['../include_2xbcrix_8cpp.html',1,'(Global Namespace)'],['../sql_2xbcrix_8cpp.html',1,'(Global Namespace)']]],
+ ['xbcrtbl_2ecpp_52',['xbcrtbl.cpp',['../xbcrtbl_8cpp.html',1,'']]],
+ ['xbdate_2ecpp_53',['xbdate.cpp',['../xbdate_8cpp.html',1,'']]],
+ ['xbdate_2eh_54',['xbdate.h',['../xbdate_8h.html',1,'']]],
+ ['xbdbf_2ecpp_55',['xbdbf.cpp',['../xbdbf_8cpp.html',1,'']]],
+ ['xbdbf_2eh_56',['xbdbf.h',['../xbdbf_8h.html',1,'']]],
+ ['xbdbf3_2ecpp_57',['xbdbf3.cpp',['../xbdbf3_8cpp.html',1,'']]],
+ ['xbdbf4_2ecpp_58',['xbdbf4.cpp',['../xbdbf4_8cpp.html',1,'']]],
+ ['xbdelete_2ecpp_59',['xbdelete.cpp',['../xbdelete_8cpp.html',1,'']]],
+ ['xbdrpix_2ecpp_60',['xbdrpix.cpp',['../xbdrpix_8cpp.html',1,'']]],
+ ['xbdrptbl_2ecpp_61',['xbdrptbl.cpp',['../xbdrptbl_8cpp.html',1,'']]],
+ ['xbexp_2ecpp_62',['xbexp.cpp',['../xbexp_8cpp.html',1,'']]],
+ ['xbexp_2eh_63',['xbexp.h',['../xbexp_8h.html',1,'']]],
+ ['xbexpnode_2ecpp_64',['xbexpnode.cpp',['../xbexpnode_8cpp.html',1,'']]],
+ ['xbexpnode_2eh_65',['xbexpnode.h',['../xbexpnode_8h.html',1,'']]],
+ ['xbfields_2ecpp_66',['xbfields.cpp',['../xbfields_8cpp.html',1,'']]],
+ ['xbfile_2ecpp_67',['xbfile.cpp',['../xbfile_8cpp.html',1,'']]],
+ ['xbfile_2eh_68',['xbfile.h',['../xbfile_8h.html',1,'']]],
+ ['xbfilter_2ecpp_69',['xbfilter.cpp',['../xbfilter_8cpp.html',1,'']]],
+ ['xbfilter_2eh_70',['xbfilter.h',['../xbfilter_8h.html',1,'']]],
+ ['xbfuncs_2ecpp_71',['xbfuncs.cpp',['../xbfuncs_8cpp.html',1,'']]],
+ ['xbindex_2eh_72',['xbindex.h',['../xbindex_8h.html',1,'']]],
+ ['xbinsert_2ecpp_73',['xbinsert.cpp',['../xbinsert_8cpp.html',1,'']]],
+ ['xbixbase_2ecpp_74',['xbixbase.cpp',['../xbixbase_8cpp.html',1,'']]],
+ ['xbixmdx_2ecpp_75',['xbixmdx.cpp',['../xbixmdx_8cpp.html',1,'']]],
+ ['xbixndx_2ecpp_76',['xbixndx.cpp',['../xbixndx_8cpp.html',1,'']]],
+ ['xbixtdx_2ecpp_77',['xbixtdx.cpp',['../xbixtdx_8cpp.html',1,'']]],
+ ['xblnklst_2eh_78',['xblnklst.h',['../xblnklst_8h.html',1,'']]],
+ ['xblnklstord_2eh_79',['xblnklstord.h',['../xblnklstord_8h.html',1,'']]],
+ ['xblnknod_2eh_80',['xblnknod.h',['../xblnknod_8h.html',1,'']]],
+ ['xblog_2ecpp_81',['xblog.cpp',['../xblog_8cpp.html',1,'']]],
+ ['xblog_2eh_82',['xblog.h',['../xblog_8h.html',1,'']]],
+ ['xbmemo_2ecpp_83',['xbmemo.cpp',['../xbmemo_8cpp.html',1,'']]],
+ ['xbmemo_2eh_84',['xbmemo.h',['../xbmemo_8h.html',1,'']]],
+ ['xbmemo3_2ecpp_85',['xbmemo3.cpp',['../xbmemo3_8cpp.html',1,'']]],
+ ['xbmemo4_2ecpp_86',['xbmemo4.cpp',['../xbmemo4_8cpp.html',1,'']]],
+ ['xbretcod_2eh_87',['xbretcod.h',['../xbretcod_8h.html',1,'']]],
+ ['xbselect_2ecpp_88',['xbselect.cpp',['../xbselect_8cpp.html',1,'']]],
+ ['xbset_2ecpp_89',['xbset.cpp',['../xbset_8cpp.html',1,'']]],
+ ['xbsql_2ecpp_90',['xbsql.cpp',['../xbsql_8cpp.html',1,'']]],
+ ['xbsql_2eh_91',['xbsql.h',['../xbsql_8h.html',1,'']]],
+ ['xbssv_2ecpp_92',['xbssv.cpp',['../xbssv_8cpp.html',1,'']]],
+ ['xbssv_2eh_93',['xbssv.h',['../xbssv_8h.html',1,'']]],
+ ['xbstmt_2ecpp_94',['xbstmt.cpp',['../xbstmt_8cpp.html',1,'']]],
+ ['xbstring_2ecpp_95',['xbstring.cpp',['../xbstring_8cpp.html',1,'']]],
+ ['xbstring_2eh_96',['xbstring.h',['../xbstring_8h.html',1,'']]],
+ ['xbtag_2ecpp_97',['xbtag.cpp',['../xbtag_8cpp.html',1,'']]],
+ ['xbtag_2eh_98',['xbtag.h',['../xbtag_8h.html',1,'']]],
+ ['xbtblmgr_2ecpp_99',['xbtblmgr.cpp',['../xbtblmgr_8cpp.html',1,'']]],
+ ['xbtblmgr_2eh_100',['xbtblmgr.h',['../xbtblmgr_8h.html',1,'']]],
+ ['xbtypes_2eh_101',['xbtypes.h',['../xbtypes_8h.html',1,'']]],
+ ['xbuda_2ecpp_102',['xbuda.cpp',['../xbuda_8cpp.html',1,'']]],
+ ['xbuda_2eh_103',['xbuda.h',['../xbuda_8h.html',1,'']]],
+ ['xbxbase_2ecpp_104',['xbxbase.cpp',['../xbxbase_8cpp.html',1,'']]],
+ ['xbxbase_2eh_105',['xbxbase.h',['../xbxbase_8h.html',1,'']]]
+];
diff --git a/docs/doxygen/html/search/files_2.html b/docs/doxygen/html/search/files_2.html
new file mode 100644
index 0000000..99aca62
--- /dev/null
+++ b/docs/doxygen/html/search/files_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/files_2.js b/docs/doxygen/html/search/files_2.js
new file mode 100644
index 0000000..c416fdd
--- /dev/null
+++ b/docs/doxygen/html/search/files_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['reindex_2ecpp_0',['reindex.cpp',['../reindex_8cpp.html',1,'']]]
+];
diff --git a/docs/doxygen/html/search/files_3.html b/docs/doxygen/html/search/files_3.html
new file mode 100644
index 0000000..25e128c
--- /dev/null
+++ b/docs/doxygen/html/search/files_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/files_3.js b/docs/doxygen/html/search/files_3.js
new file mode 100644
index 0000000..f577bf3
--- /dev/null
+++ b/docs/doxygen/html/search/files_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['tstfuncs_2ecpp_0',['tstfuncs.cpp',['../tstfuncs_8cpp.html',1,'']]]
+];
diff --git a/docs/doxygen/html/search/files_4.html b/docs/doxygen/html/search/files_4.html
new file mode 100644
index 0000000..3c8ba6e
--- /dev/null
+++ b/docs/doxygen/html/search/files_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/files_4.js b/docs/doxygen/html/search/files_4.js
new file mode 100644
index 0000000..e99e9ec
--- /dev/null
+++ b/docs/doxygen/html/search/files_4.js
@@ -0,0 +1,100 @@
+var searchData=
+[
+ ['xb_5fcfg_5fcheck_2ecpp_0',['xb_cfg_check.cpp',['../xb__cfg__check_8cpp.html',1,'']]],
+ ['xb_5fcopydbf_2ecpp_1',['xb_copydbf.cpp',['../xb__copydbf_8cpp.html',1,'']]],
+ ['xb_5fdbfutil_2ecpp_2',['xb_dbfutil.cpp',['../xb__dbfutil_8cpp.html',1,'']]],
+ ['xb_5fdeletall_2ecpp_3',['xb_deletall.cpp',['../xb__deletall_8cpp.html',1,'']]],
+ ['xb_5fdumpdbt_2ecpp_4',['xb_dumpdbt.cpp',['../xb__dumpdbt_8cpp.html',1,'']]],
+ ['xb_5fdumphdr_2ecpp_5',['xb_dumphdr.cpp',['../xb__dumphdr_8cpp.html',1,'']]],
+ ['xb_5fdumpix_2ecpp_6',['xb_dumpix.cpp',['../xb__dumpix_8cpp.html',1,'']]],
+ ['xb_5fdumprecs_2ecpp_7',['xb_dumprecs.cpp',['../xb__dumprecs_8cpp.html',1,'']]],
+ ['xb_5fex_5fdate_2ecpp_8',['xb_ex_date.cpp',['../xb__ex__date_8cpp.html',1,'']]],
+ ['xb_5fex_5fsql_2ecpp_9',['xb_ex_sql.cpp',['../xb__ex__sql_8cpp.html',1,'']]],
+ ['xb_5fex_5fstring_2ecpp_10',['xb_ex_string.cpp',['../xb__ex__string_8cpp.html',1,'']]],
+ ['xb_5fex_5fv3_5fcreate_5fdbf_2ecpp_11',['xb_ex_v3_create_dbf.cpp',['../xb__ex__v3__create__dbf_8cpp.html',1,'']]],
+ ['xb_5fex_5fv3_5fupd_5fdbf_2ecpp_12',['xb_ex_v3_upd_dbf.cpp',['../xb__ex__v3__upd__dbf_8cpp.html',1,'']]],
+ ['xb_5fex_5fv4_5fcreate_5fdbf_2ecpp_13',['xb_ex_v4_create_dbf.cpp',['../xb__ex__v4__create__dbf_8cpp.html',1,'']]],
+ ['xb_5fex_5fv4_5fupd_5fdbf_2ecpp_14',['xb_ex_v4_upd_dbf.cpp',['../xb__ex__v4__upd__dbf_8cpp.html',1,'']]],
+ ['xb_5fexecsql_2ecpp_15',['xb_execsql.cpp',['../xb__execsql_8cpp.html',1,'']]],
+ ['xb_5fpack_2ecpp_16',['xb_pack.cpp',['../xb__pack_8cpp.html',1,'']]],
+ ['xb_5ftblinfo_2ecpp_17',['xb_tblinfo.cpp',['../xb__tblinfo_8cpp.html',1,'']]],
+ ['xb_5ftest_5fbcd_2ecpp_18',['xb_test_bcd.cpp',['../xb__test__bcd_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdate_2ecpp_19',['xb_test_date.cpp',['../xb__test__date_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdbf_5fv3_5fmemos_2ecpp_20',['xb_test_dbf_v3_memos.cpp',['../xb__test__dbf__v3__memos_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdbf_5fv3_5fnomemos_2ecpp_21',['xb_test_dbf_v3_nomemos.cpp',['../xb__test__dbf__v3__nomemos_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdbf_5fv4_5fmemos_2ecpp_22',['xb_test_dbf_v4_memos.cpp',['../xb__test__dbf__v4__memos_8cpp.html',1,'']]],
+ ['xb_5ftest_5fdbf_5fv4_5fnomemos_2ecpp_23',['xb_test_dbf_v4_nomemos.cpp',['../xb__test__dbf__v4__nomemos_8cpp.html',1,'']]],
+ ['xb_5ftest_5fexpnode_2ecpp_24',['xb_test_expnode.cpp',['../xb__test__expnode_8cpp.html',1,'']]],
+ ['xb_5ftest_5fexpression_2ecpp_25',['xb_test_expression.cpp',['../xb__test__expression_8cpp.html',1,'']]],
+ ['xb_5ftest_5ffile_2ecpp_26',['xb_test_file.cpp',['../xb__test__file_8cpp.html',1,'']]],
+ ['xb_5ftest_5ffilter_2ecpp_27',['xb_test_filter.cpp',['../xb__test__filter_8cpp.html',1,'']]],
+ ['xb_5ftest_5ffuncs_2ecpp_28',['xb_test_funcs.cpp',['../xb__test__funcs_8cpp.html',1,'']]],
+ ['xb_5ftest_5flinklist_2ecpp_29',['xb_test_linklist.cpp',['../xb__test__linklist_8cpp.html',1,'']]],
+ ['xb_5ftest_5flock_2ecpp_30',['xb_test_lock.cpp',['../xb__test__lock_8cpp.html',1,'']]],
+ ['xb_5ftest_5flock2_2ecpp_31',['xb_test_lock2.cpp',['../xb__test__lock2_8cpp.html',1,'']]],
+ ['xb_5ftest_5flog_2ecpp_32',['xb_test_log.cpp',['../xb__test__log_8cpp.html',1,'']]],
+ ['xb_5ftest_5fmdx_2ecpp_33',['xb_test_mdx.cpp',['../xb__test__mdx_8cpp.html',1,'']]],
+ ['xb_5ftest_5fndx_2ecpp_34',['xb_test_ndx.cpp',['../xb__test__ndx_8cpp.html',1,'']]],
+ ['xb_5ftest_5fndx2_2ecpp_35',['xb_test_ndx2.cpp',['../xb__test__ndx2_8cpp.html',1,'']]],
+ ['xb_5ftest_5fsql_2ecpp_36',['xb_test_sql.cpp',['../xb__test__sql_8cpp.html',1,'']]],
+ ['xb_5ftest_5fstring_2ecpp_37',['xb_test_string.cpp',['../xb__test__string_8cpp.html',1,'']]],
+ ['xb_5ftest_5ftblmgr_2ecpp_38',['xb_test_tblmgr.cpp',['../xb__test__tblmgr_8cpp.html',1,'']]],
+ ['xb_5ftest_5fuda_2ecpp_39',['xb_test_uda.cpp',['../xb__test__uda_8cpp.html',1,'']]],
+ ['xb_5ftest_5fxbase_2ecpp_40',['xb_test_xbase.cpp',['../xb__test__xbase_8cpp.html',1,'']]],
+ ['xb_5fundelall_2ecpp_41',['xb_undelall.cpp',['../xb__undelall_8cpp.html',1,'']]],
+ ['xb_5fzap_2ecpp_42',['xb_zap.cpp',['../xb__zap_8cpp.html',1,'']]],
+ ['xbase_2eh_43',['xbase.h',['../xbase_8h.html',1,'']]],
+ ['xbbcd_2ecpp_44',['xbbcd.cpp',['../xbbcd_8cpp.html',1,'']]],
+ ['xbbcd_2eh_45',['xbbcd.h',['../xbbcd_8h.html',1,'']]],
+ ['xbcrix_2ecpp_46',['xbcrix.cpp',['../xbcrix_8cpp.html',1,'']]],
+ ['xbcrtbl_2ecpp_47',['xbcrtbl.cpp',['../xbcrtbl_8cpp.html',1,'']]],
+ ['xbdate_2ecpp_48',['xbdate.cpp',['../xbdate_8cpp.html',1,'']]],
+ ['xbdate_2eh_49',['xbdate.h',['../xbdate_8h.html',1,'']]],
+ ['xbdbf_2ecpp_50',['xbdbf.cpp',['../xbdbf_8cpp.html',1,'']]],
+ ['xbdbf_2eh_51',['xbdbf.h',['../xbdbf_8h.html',1,'']]],
+ ['xbdbf3_2ecpp_52',['xbdbf3.cpp',['../xbdbf3_8cpp.html',1,'']]],
+ ['xbdbf4_2ecpp_53',['xbdbf4.cpp',['../xbdbf4_8cpp.html',1,'']]],
+ ['xbdrpix_2ecpp_54',['xbdrpix.cpp',['../xbdrpix_8cpp.html',1,'']]],
+ ['xbdrptbl_2ecpp_55',['xbdrptbl.cpp',['../xbdrptbl_8cpp.html',1,'']]],
+ ['xbexp_2ecpp_56',['xbexp.cpp',['../xbexp_8cpp.html',1,'']]],
+ ['xbexp_2eh_57',['xbexp.h',['../xbexp_8h.html',1,'']]],
+ ['xbexpnode_2ecpp_58',['xbexpnode.cpp',['../xbexpnode_8cpp.html',1,'']]],
+ ['xbexpnode_2eh_59',['xbexpnode.h',['../xbexpnode_8h.html',1,'']]],
+ ['xbfields_2ecpp_60',['xbfields.cpp',['../xbfields_8cpp.html',1,'']]],
+ ['xbfile_2ecpp_61',['xbfile.cpp',['../xbfile_8cpp.html',1,'']]],
+ ['xbfile_2eh_62',['xbfile.h',['../xbfile_8h.html',1,'']]],
+ ['xbfilter_2ecpp_63',['xbfilter.cpp',['../xbfilter_8cpp.html',1,'']]],
+ ['xbfilter_2eh_64',['xbfilter.h',['../xbfilter_8h.html',1,'']]],
+ ['xbfuncs_2ecpp_65',['xbfuncs.cpp',['../xbfuncs_8cpp.html',1,'']]],
+ ['xbindex_2eh_66',['xbindex.h',['../xbindex_8h.html',1,'']]],
+ ['xbinsert_2ecpp_67',['xbinsert.cpp',['../xbinsert_8cpp.html',1,'']]],
+ ['xbixbase_2ecpp_68',['xbixbase.cpp',['../xbixbase_8cpp.html',1,'']]],
+ ['xbixmdx_2ecpp_69',['xbixmdx.cpp',['../xbixmdx_8cpp.html',1,'']]],
+ ['xbixndx_2ecpp_70',['xbixndx.cpp',['../xbixndx_8cpp.html',1,'']]],
+ ['xblnklst_2eh_71',['xblnklst.h',['../xblnklst_8h.html',1,'']]],
+ ['xblnklstord_2eh_72',['xblnklstord.h',['../xblnklstord_8h.html',1,'']]],
+ ['xblnknod_2eh_73',['xblnknod.h',['../xblnknod_8h.html',1,'']]],
+ ['xblog_2ecpp_74',['xblog.cpp',['../xblog_8cpp.html',1,'']]],
+ ['xblog_2eh_75',['xblog.h',['../xblog_8h.html',1,'']]],
+ ['xbmemo_2ecpp_76',['xbmemo.cpp',['../xbmemo_8cpp.html',1,'']]],
+ ['xbmemo_2eh_77',['xbmemo.h',['../xbmemo_8h.html',1,'']]],
+ ['xbmemo3_2ecpp_78',['xbmemo3.cpp',['../xbmemo3_8cpp.html',1,'']]],
+ ['xbmemo4_2ecpp_79',['xbmemo4.cpp',['../xbmemo4_8cpp.html',1,'']]],
+ ['xbretcod_2eh_80',['xbretcod.h',['../xbretcod_8h.html',1,'']]],
+ ['xbset_2ecpp_81',['xbset.cpp',['../xbset_8cpp.html',1,'']]],
+ ['xbsql_2ecpp_82',['xbsql.cpp',['../xbsql_8cpp.html',1,'']]],
+ ['xbsql_2eh_83',['xbsql.h',['../xbsql_8h.html',1,'']]],
+ ['xbssv_2ecpp_84',['xbssv.cpp',['../xbssv_8cpp.html',1,'']]],
+ ['xbssv_2eh_85',['xbssv.h',['../xbssv_8h.html',1,'']]],
+ ['xbstring_2ecpp_86',['xbstring.cpp',['../xbstring_8cpp.html',1,'']]],
+ ['xbstring_2eh_87',['xbstring.h',['../xbstring_8h.html',1,'']]],
+ ['xbtag_2ecpp_88',['xbtag.cpp',['../xbtag_8cpp.html',1,'']]],
+ ['xbtag_2eh_89',['xbtag.h',['../xbtag_8h.html',1,'']]],
+ ['xbtblmgr_2ecpp_90',['xbtblmgr.cpp',['../xbtblmgr_8cpp.html',1,'']]],
+ ['xbtblmgr_2eh_91',['xbtblmgr.h',['../xbtblmgr_8h.html',1,'']]],
+ ['xbtypes_2eh_92',['xbtypes.h',['../xbtypes_8h.html',1,'']]],
+ ['xbuda_2ecpp_93',['xbuda.cpp',['../xbuda_8cpp.html',1,'']]],
+ ['xbuda_2eh_94',['xbuda.h',['../xbuda_8h.html',1,'']]],
+ ['xbxbase_2ecpp_95',['xbxbase.cpp',['../xbxbase_8cpp.html',1,'']]],
+ ['xbxbase_2eh_96',['xbxbase.h',['../xbxbase_8h.html',1,'']]]
+];
diff --git a/docs/doxygen/html/search/functions_0.html b/docs/doxygen/html/search/functions_0.html
new file mode 100644
index 0000000..2d2d950
--- /dev/null
+++ b/docs/doxygen/html/search/functions_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_0.js b/docs/doxygen/html/search/functions_0.js
new file mode 100644
index 0000000..0f4d535
--- /dev/null
+++ b/docs/doxygen/html/search/functions_0.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['abort_0',['Abort',['../classxb_1_1xbDbf.html#a4edcf31390fbdc8c3558004770fd9f2f',1,'xb::xbDbf']]],
+ ['addbackslash_1',['AddBackSlash',['../classxb_1_1xbString.html#a6c4fdb689d27a9d19a0b5b4236e1ca62',1,'xb::xbString']]],
+ ['addtbltotbllist_2',['AddTblToTblList',['../classxb_1_1xbTblMgr.html#af16832ff2bfaee09265652e0fc03709a',1,'xb::xbTblMgr::AddTblToTblList(xbDbf *d, const xbString &amp;sFqTblName)'],['../classxb_1_1xbTblMgr.html#a2033188e9b08778188a034a6fc90ca85',1,'xb::xbTblMgr::AddTblToTblList(xbDbf *d, const xbString &amp;sFqTblName, const xbString &amp;sTblAlias)']]],
+ ['append_3',['Append',['../classxb_1_1xbString.html#a8f202e4798491f2ae9ce51ff58dd5815',1,'xb::xbString::Append(const xbString &amp;s)'],['../classxb_1_1xbString.html#a1922319303feb6da1f40b5994c5e8240',1,'xb::xbString::Append(const char *s)'],['../classxb_1_1xbString.html#a097453cb71fbf0b5511cf1259ddce4fb',1,'xb::xbString::Append(const char *s, xbUInt32 iByteCount)'],['../classxb_1_1xbString.html#a093c6ab5df375a2589755bb8f48fa5c7',1,'xb::xbString::Append(char c)']]],
+ ['appendrecord_4',['AppendRecord',['../classxb_1_1xbDbf.html#a5b412dd796241673eb1aa2c93513d69b',1,'xb::xbDbf']]],
+ ['assign_5',['Assign',['../classxb_1_1xbString.html#a85bef82dfa22122a1ab8dfe58a107d96',1,'xb::xbString::Assign(const char *srcStr, xbUInt32 lStartPos, xbUInt32 lCopyLen)'],['../classxb_1_1xbString.html#a08eb7ca6740423acab4e8bd7a6c8043d',1,'xb::xbString::Assign(const char *srcStr, xbUInt32 lStartPos)'],['../classxb_1_1xbString.html#a430119df844bd80d67c23c48b045af30',1,'xb::xbString::Assign(const xbString &amp;s, xbUInt32 ulStartPos, xbUInt32 lCopyLen)'],['../classxb_1_1xbString.html#a97df314be5b3b2611be11ff50a19533d',1,'xb::xbString::Assign(const xbString &amp;s, xbUInt32 ulStartPos)']]]
+];
diff --git a/docs/doxygen/html/search/functions_1.html b/docs/doxygen/html/search/functions_1.html
new file mode 100644
index 0000000..3b96b90
--- /dev/null
+++ b/docs/doxygen/html/search/functions_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_1.js b/docs/doxygen/html/search/functions_1.js
new file mode 100644
index 0000000..a3b8ce1
--- /dev/null
+++ b/docs/doxygen/html/search/functions_1.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['bitdump_0',['BitDump',['../classxb_1_1xbSsv.html#a8551b15a3ce4fa2a40d698db01f4a9ae',1,'xb::xbSsv::BitDump(unsigned char c) const'],['../classxb_1_1xbSsv.html#aba1395b8e4c7f28c3614061de6e49190',1,'xb::xbSsv::BitDump(char c) const']]],
+ ['bitset_1',['BitSet',['../classxb_1_1xbSsv.html#a62e4fd0a5888665c76bbbad962794e72',1,'xb::xbSsv']]],
+ ['blankrecord_2',['BlankRecord',['../classxb_1_1xbDbf.html#a78da5a3d2011a3f2e7618cbdd3ba02d6',1,'xb::xbDbf']]]
+];
diff --git a/docs/doxygen/html/search/functions_10.html b/docs/doxygen/html/search/functions_10.html
new file mode 100644
index 0000000..f0fe489
--- /dev/null
+++ b/docs/doxygen/html/search/functions_10.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_10.js b/docs/doxygen/html/search/functions_10.js
new file mode 100644
index 0000000..1923fd7
--- /dev/null
+++ b/docs/doxygen/html/search/functions_10.js
@@ -0,0 +1,26 @@
+var searchData=
+[
+ ['set_0',['Set',['../classxb_1_1xbString.html#ab85753d2c39882e946a8468cbb587700',1,'xb::xbString::Set(const char *s)'],['../classxb_1_1xbString.html#ac0d08bd688fd0e3707e32886d0dfeb09',1,'xb::xbString::Set(const xbString &amp;s)'],['../classxb_1_1xbString.html#a6eba6ccd0c805a22516de2c18a30f8a3',1,'xb::xbString::Set(const char *s, xbUInt32 ulSize)'],['../classxb_1_1xbDate.html#a4b0cde152b5de0f7d26608d1445110b6',1,'xb::xbDate::Set()']]],
+ ['setautocommit_1',['SetAutoCommit',['../classxb_1_1xbDbf.html#a4cf7f0d423164f3cf074ae41f96f4e90',1,'xb::xbDbf']]],
+ ['setblocksize_2',['SetBlockSize',['../classxb_1_1xbFile.html#a991c5676a6f38fa752435390989f413e',1,'xb::xbFile']]],
+ ['setdatadirectory_3',['SetDataDirectory',['../classxb_1_1xbSsv.html#a57caaaadfbd089d9a58ecfcb50c88a6c',1,'xb::xbSsv']]],
+ ['setdefaultautocommit_4',['SetDefaultAutoCommit',['../classxb_1_1xbSsv.html#a25542afadaaf39b4fb5a1772a29cc0bd',1,'xb::xbSsv']]],
+ ['setdefaultdateformat_5',['SetDefaultDateFormat',['../classxb_1_1xbSsv.html#a5f74db23f8902846d581935c7db73f9c',1,'xb::xbSsv']]],
+ ['setdirectory_6',['SetDirectory',['../classxb_1_1xbFile.html#ae78a85255488bc78964c16946dbaead3',1,'xb::xbFile']]],
+ ['setendiantype_7',['SetEndianType',['../classxb_1_1xbSsv.html#a904ec348fd029d4a76e72b8fde636108',1,'xb::xbSsv']]],
+ ['setfilename_8',['SetFileName',['../classxb_1_1xbFile.html#a5419eb27e56822f828b2b88a9502a636',1,'xb::xbFile']]],
+ ['setfqfilename_9',['SetFqFileName',['../classxb_1_1xbFile.html#aee832fa11db2077a532f49e1329bd05a',1,'xb::xbFile']]],
+ ['sethomefolders_10',['SetHomeFolders',['../classxb_1_1xbFile.html#a060acbfaa8d528f86cb59301814b414a',1,'xb::xbFile']]],
+ ['setlogdirectory_11',['SetLogDirectory',['../classxb_1_1xbSsv.html#a7b992ed97281bf25b5b66f5df686225e',1,'xb::xbSsv']]],
+ ['setlogfilename_12',['SetLogFileName',['../classxb_1_1xbSsv.html#a7f05738e7dfd759e89990242ef503544',1,'xb::xbSsv']]],
+ ['setlogsize_13',['SetLogSize',['../classxb_1_1xbXBase.html#a666a0cb5b76ec7a9a3677d339e0c6b42',1,'xb::xbXBase']]],
+ ['setmultiuser_14',['SetMultiUser',['../classxb_1_1xbSsv.html#aba6e59512f7172dd55dcf92059e5928c',1,'xb::xbSsv']]],
+ ['setnum_15',['SetNum',['../classxb_1_1xbString.html#a3af5b1f111f94b0667551fcbd1d97abd',1,'xb::xbString']]],
+ ['settempdirectory_16',['SetTempDirectory',['../classxb_1_1xbSsv.html#a17c229a20ef9ab4034df8f9cd657adb2',1,'xb::xbSsv']]],
+ ['setversion_17',['SetVersion',['../classxb_1_1xbDbf.html#a7e63e852418f337eb7c44de5dcd50323',1,'xb::xbDbf']]],
+ ['sprintf_18',['Sprintf',['../classxb_1_1xbString.html#a9e9bfa29d86377b915f1628aeb0e9195',1,'xb::xbString']]],
+ ['str_19',['Str',['../classxb_1_1xbDate.html#ab43a5d8d929767c0ffdd722972bb8cc0',1,'xb::xbDate::Str()'],['../classxb_1_1xbString.html#a6715f4c0010f3ab487c9d787838a29b3',1,'xb::xbString::Str() const']]],
+ ['strncpy_20',['strncpy',['../classxb_1_1xbString.html#a3bc9e856c34f0c240a6e36e5b6e3ea7b',1,'xb::xbString']]],
+ ['swapchars_21',['SwapChars',['../classxb_1_1xbString.html#a054683872e1f05d11c2cf8683a63a6fe',1,'xb::xbString']]],
+ ['sysdate_22',['Sysdate',['../classxb_1_1xbDate.html#a40ba54a58d64cf56266f020f91584192',1,'xb::xbDate']]]
+];
diff --git a/docs/doxygen/html/search/functions_11.html b/docs/doxygen/html/search/functions_11.html
new file mode 100644
index 0000000..fb95b05
--- /dev/null
+++ b/docs/doxygen/html/search/functions_11.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_11.js b/docs/doxygen/html/search/functions_11.js
new file mode 100644
index 0000000..02f57b9
--- /dev/null
+++ b/docs/doxygen/html/search/functions_11.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['testmethod_0',['TestMethod',['../tstfuncs_8cpp.html#a265547b80a3aef5836952bede5288e2c',1,'TestMethod(xbInt16 PrintOption, const char *title, const xbString &amp;result, const char *expectedResult, size_t expectedLen):&#160;tstfuncs.cpp'],['../tstfuncs_8cpp.html#a9c27703ef863c9d29680844fc5124953',1,'TestMethod(xbInt16 PrintOption, const char *title, char result, char expectedResult):&#160;tstfuncs.cpp'],['../tstfuncs_8cpp.html#ae6536e920580382389126d5f66655f90',1,'TestMethod(xbInt16 PrintOption, const char *title, xbInt32 result, xbInt32 expectedResult):&#160;tstfuncs.cpp'],['../tstfuncs_8cpp.html#a000fca67bc0fffea3d3da7a5317a06e4',1,'TestMethod(xbInt16 PrintOption, const char *title, xbUInt64 result, xbUInt64 expectedResult):&#160;tstfuncs.cpp'],['../tstfuncs_8cpp.html#a663f3dd7bd8574a35c1b1b9a22081c6d',1,'TestMethod(xbInt16 PrintOption, const char *title, xbFloat result, xbFloat expectedResult):&#160;tstfuncs.cpp'],['../tstfuncs_8cpp.html#af1c78fb72bcd39eb86f11aa2887fe62c',1,'TestMethod(xbInt16 PrintOption, const char *title, xbDouble result, xbDouble expectedResult):&#160;tstfuncs.cpp'],['../tstfuncs_8cpp.html#ac64a0bed74ba10b638456709f128f893',1,'TestMethod(xbInt16 PrintOption, const char *title, xbDouble result, xbDouble expectedResult, xbDouble dEpsilon):&#160;tstfuncs.cpp'],['../xb__test__expression_8cpp.html#ad52c27685018dda7c5c4b26fb445860e',1,'TestMethod(xbXBase *xb, xbDbf *d, xbInt16 PrintOption, const char *title, const xbString &amp;sExpression, const char *sExpectedResult, xbInt16 iExpectedResultLen):&#160;xb_test_expression.cpp'],['../xb__test__expression_8cpp.html#a7030149316fe8d8195ffbb18132e0cf9',1,'TestMethod(xbXBase *xb, xbDbf *d, xbInt16 PrintOption, const char *title, const xbString &amp;sExpression, xbDouble dExpectedResult):&#160;xb_test_expression.cpp'],['../xb__test__expression_8cpp.html#a10e637a203841bd2b6a92e6217509e23',1,'TestMethod(xbXBase *xb, xbDbf *d, xbInt16 PrintOption, const char *title, const xbString &amp;sExpression, xbDate dtExpectedResult):&#160;xb_test_expression.cpp'],['../xb__test__expression_8cpp.html#aa385c5f9fa8b4cfd63763b4a28852b64',1,'TestMethod(xbXBase *xb, xbDbf *d, xbInt16 PrintOption, const char *title, const xbString &amp;sExpression, xbBool bExpectedResult):&#160;xb_test_expression.cpp']]],
+ ['testtokenmethod_1',['TestTokenMethod',['../xb__test__expression_8cpp.html#a440d64b55abaa9e14e73ecc132d1084d',1,'xb_test_expression.cpp']]],
+ ['testweight_2',['TestWeight',['../xb__test__expression_8cpp.html#af56b6dbc38e0d23caaf6531526315379',1,'xb_test_expression.cpp']]],
+ ['tolowercase_3',['ToLowerCase',['../classxb_1_1xbString.html#a602cac1a6ef3f6b52f587ac4c0ef4fb2',1,'xb::xbString']]],
+ ['touppercase_4',['ToUpperCase',['../classxb_1_1xbString.html#a68001d0a44e6b4fe61e29a4e41ded9d4',1,'xb::xbString']]],
+ ['trim_5',['Trim',['../classxb_1_1xbString.html#abc9bd33687d4e03ca52d77885721d626',1,'xb::xbString']]]
+];
diff --git a/docs/doxygen/html/search/functions_12.html b/docs/doxygen/html/search/functions_12.html
new file mode 100644
index 0000000..292fd4a
--- /dev/null
+++ b/docs/doxygen/html/search/functions_12.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_12.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_12.js b/docs/doxygen/html/search/functions_12.js
new file mode 100644
index 0000000..80ff6f4
--- /dev/null
+++ b/docs/doxygen/html/search/functions_12.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['undeleteallrecords_0',['UndeleteAllRecords',['../classxb_1_1xbDbf.html#ae94cb1bf9f75184f39d9e1a80ab49d4a',1,'xb::xbDbf']]],
+ ['undeleterecord_1',['UndeleteRecord',['../classxb_1_1xbDbf.html#a255681976a04fc722538bb630507b3a0',1,'xb::xbDbf']]]
+];
diff --git a/docs/doxygen/html/search/functions_13.html b/docs/doxygen/html/search/functions_13.html
new file mode 100644
index 0000000..5fcdf9c
--- /dev/null
+++ b/docs/doxygen/html/search/functions_13.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_13.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_13.js b/docs/doxygen/html/search/functions_13.js
new file mode 100644
index 0000000..9ea4de7
--- /dev/null
+++ b/docs/doxygen/html/search/functions_13.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['validateschema_0',['ValidateSchema',['../classxb_1_1xbDbf.html#aba5dcac3b4092261bc1669740cdd669d',1,'xb::xbDbf']]],
+ ['validlogicalvalue_1',['ValidLogicalValue',['../classxb_1_1xbString.html#a72b16c15fd8822efaa5f158c34df7b1e',1,'xb::xbString']]],
+ ['validnumericvalue_2',['ValidNumericValue',['../classxb_1_1xbString.html#aeed920d2a25111f776ddde2d530eb81b',1,'xb::xbString']]]
+];
diff --git a/docs/doxygen/html/search/functions_14.html b/docs/doxygen/html/search/functions_14.html
new file mode 100644
index 0000000..82c70b0
--- /dev/null
+++ b/docs/doxygen/html/search/functions_14.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_14.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_14.js b/docs/doxygen/html/search/functions_14.js
new file mode 100644
index 0000000..c9794d0
--- /dev/null
+++ b/docs/doxygen/html/search/functions_14.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['writeblock_0',['WriteBlock',['../classxb_1_1xbFile.html#a5d871dcfecc2b4338f7a13722aab766c',1,'xb::xbFile']]],
+ ['writeheader_1',['WriteHeader',['../classxb_1_1xbDbf.html#a44e1410109ef7b3d11a6af4b704b62b2',1,'xb::xbDbf']]],
+ ['writelogbytes_2',['WriteLogBytes',['../classxb_1_1xbXBase.html#a0dff00b9ee3c288841e137ca01168116',1,'xb::xbXBase']]],
+ ['writelogmessage_3',['WriteLogMessage',['../classxb_1_1xbXBase.html#a9ca5be73abffd0fdd18bdc799877272a',1,'xb::xbXBase']]]
+];
diff --git a/docs/doxygen/html/search/functions_15.html b/docs/doxygen/html/search/functions_15.html
new file mode 100644
index 0000000..050aa25
--- /dev/null
+++ b/docs/doxygen/html/search/functions_15.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_15.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_15.js b/docs/doxygen/html/search/functions_15.js
new file mode 100644
index 0000000..f72ae6d
--- /dev/null
+++ b/docs/doxygen/html/search/functions_15.js
@@ -0,0 +1,30 @@
+var searchData=
+[
+ ['xbdate_0',['xbDate',['../classxb_1_1xbDate.html#ac8a4d9330221a3daee21b3c28c1d9719',1,'xb::xbDate::xbDate(const char *Date8)'],['../classxb_1_1xbDate.html#ab3150e7db0ab5db10a07d748b55465eb',1,'xb::xbDate::xbDate()'],['../classxb_1_1xbDate.html#a8dfc827b466be3c5e3def599277dfa43',1,'xb::xbDate::xbDate(xbUInt16 iInit)'],['../classxb_1_1xbDate.html#acf4546f5681735ede18210f60bab68d4',1,'xb::xbDate::xbDate(const xbString &amp;Date8)'],['../classxb_1_1xbDate.html#a7ab727a7ec184a086ad36ef83b948170',1,'xb::xbDate::xbDate(xbInt32 lJulDate)']]],
+ ['xbdbf_1',['xbDbf',['../classxb_1_1xbDbf.html#a84a75f80bc0e9b8a22b728767949c204',1,'xb::xbDbf']]],
+ ['xbfclose_2',['xbFclose',['../classxb_1_1xbFile.html#a18830b5755d74818f60d9c7ce38ddf2d',1,'xb::xbFile']]],
+ ['xbfeof_3',['xbFeof',['../classxb_1_1xbFile.html#af5b6356832d2a67212070a1aa605f170',1,'xb::xbFile']]],
+ ['xbfflush_4',['xbFflush',['../classxb_1_1xbFile.html#ad205184d43409f04216540ae22f15009',1,'xb::xbFile']]],
+ ['xbfgetc_5',['xbFgetc',['../classxb_1_1xbFile.html#afb1c584d2895ffb7834df80aea7eb1e4',1,'xb::xbFile::xbFgetc(xbInt32 &amp;c)'],['../classxb_1_1xbFile.html#a5ee229bda4d7d6695e122200e581e7a6',1,'xb::xbFile::xbFgetc(char &amp;c)']]],
+ ['xbfgets_6',['xbFgets',['../classxb_1_1xbFile.html#ad245955ace26e5dde85fd4373b30d026',1,'xb::xbFile']]],
+ ['xbfile_7',['xbFile',['../classxb_1_1xbFile.html#a869eedd74c6eddc308852eb546c87176',1,'xb::xbFile']]],
+ ['xbfopen_8',['xbFopen',['../classxb_1_1xbFile.html#a7cdfef5ede9ac98d44a28a6b7a70972c',1,'xb::xbFile::xbFopen(xbInt16 iOpenMode)'],['../classxb_1_1xbFile.html#a0548cedf0f26b7d8ac221f75b0cd048c',1,'xb::xbFile::xbFopen(const xbString &amp;sOpenMode, xbInt16 iShareMode)'],['../classxb_1_1xbFile.html#aabd113333b49c36cad23244b392baab4',1,'xb::xbFile::xbFopen(xbInt16 iOpenMode, xbInt16 iShareMode)'],['../classxb_1_1xbFile.html#ab0fa19686ca8953ff4b556fb5b249135',1,'xb::xbFile::xbFopen(const xbString &amp;sMode, const xbString &amp;sFileName, xbInt16 iShareMode)']]],
+ ['xbfputc_9',['xbFputc',['../classxb_1_1xbFile.html#af2e940c78956e5cb6824f9a1bc404896',1,'xb::xbFile::xbFputc(xbInt32 c)'],['../classxb_1_1xbFile.html#a863f74cf17df8186d88586b4d2a6441a',1,'xb::xbFile::xbFputc(xbInt32 c, xbInt32 iNoTimes)']]],
+ ['xbfputs_10',['xbFputs',['../classxb_1_1xbFile.html#a698f3b40216778562e639e6ca1a47573',1,'xb::xbFile']]],
+ ['xbfread_11',['xbFread',['../classxb_1_1xbFile.html#ab4f6afaa1f77539f27a4f05c26e54e2f',1,'xb::xbFile']]],
+ ['xbfseek_12',['xbFseek',['../classxb_1_1xbFile.html#a5337ab8918df240910c0d19b4f298e3d',1,'xb::xbFile']]],
+ ['xbftell_13',['xbFtell',['../classxb_1_1xbFile.html#a0e1c06aedfa7fbcb92e117f891edd13b',1,'xb::xbFile']]],
+ ['xbfturnofffilebuffering_14',['xbFTurnOffFileBuffering',['../classxb_1_1xbFile.html#a9891b792f585a696f38a5cf959e30918',1,'xb::xbFile']]],
+ ['xbfwrite_15',['xbFwrite',['../classxb_1_1xbFile.html#a6aadd871d1782944703fed773d44b85f',1,'xb::xbFile']]],
+ ['xbmemcmp_16',['xbMemcmp',['../classxb_1_1xbXBase.html#a1b239c021358476382942522911b5c66',1,'xb::xbXBase']]],
+ ['xbreaduntil_17',['xbReadUntil',['../classxb_1_1xbFile.html#a08463f506f425c2385acbe1a561506e9',1,'xb::xbFile']]],
+ ['xbremove_18',['xbRemove',['../classxb_1_1xbFile.html#a6d919366c2ec95e529906bf8842cbf07',1,'xb::xbFile::xbRemove(const xbString &amp;sFileName, xbInt16 iOption)'],['../classxb_1_1xbFile.html#a58f6a6751fdf7e9549c273bb75d93eb5',1,'xb::xbFile::xbRemove(const xbString &amp;sFileName)'],['../classxb_1_1xbFile.html#ab3c668a8570433188382d31d7c60bd48',1,'xb::xbFile::xbRemove()']]],
+ ['xbrename_19',['xbRename',['../classxb_1_1xbFile.html#afc8ce113aa72611a278233f9bb170012',1,'xb::xbFile']]],
+ ['xbrewind_20',['xbRewind',['../classxb_1_1xbFile.html#a7996b6e084665c37c3892faea64b3505',1,'xb::xbFile']]],
+ ['xbsleep_21',['xbSleep',['../classxb_1_1xbXBase.html#a0915aff7be4b2dd3e881f3c5d0da4baf',1,'xb::xbXBase']]],
+ ['xbssv_22',['xbSsv',['../classxb_1_1xbSsv.html#a58f85692c3167af20b1a7c17c621523b',1,'xb::xbSsv']]],
+ ['xbstring_23',['xbString',['../classxb_1_1xbString.html#a63f9313217e0ff3c9789ec59316216a1',1,'xb::xbString::xbString(xbUInt32 size)'],['../classxb_1_1xbString.html#a14bbaa293c8d40dd6c64332f2668a92e',1,'xb::xbString::xbString(char c)'],['../classxb_1_1xbString.html#a18f3598dcdf2ec5692274fc8ee769ad7',1,'xb::xbString::xbString(const char *s, xbUInt32 lMaxLen)'],['../classxb_1_1xbString.html#a0d81016b93fc36ebbbafacf35c677f07',1,'xb::xbString::xbString(const xbString &amp;s)'],['../classxb_1_1xbString.html#a25856311106c5fb15d39017b63f0ddc7',1,'xb::xbString::xbString(const char *=&quot;&quot;)'],['../classxb_1_1xbString.html#ad865b55e3b08dffd527afee8e7e8e3fe',1,'xb::xbString::xbString(xbDouble d)']]],
+ ['xbtblmgr_24',['xbTblMgr',['../classxb_1_1xbTblMgr.html#aad83f5ecc184ca6cbdfc6f356b598d6c',1,'xb::xbTblMgr']]],
+ ['xbtruncate_25',['xbTruncate',['../classxb_1_1xbFile.html#a518bfcbfa3699d883cf89affee383296',1,'xb::xbFile']]],
+ ['xbxbase_26',['xbXBase',['../classxb_1_1xbXBase.html#a6c68588e33946fb5416af3f86fe83224',1,'xb::xbXBase']]]
+];
diff --git a/docs/doxygen/html/search/functions_16.html b/docs/doxygen/html/search/functions_16.html
new file mode 100644
index 0000000..1d75c78
--- /dev/null
+++ b/docs/doxygen/html/search/functions_16.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_16.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_16.js b/docs/doxygen/html/search/functions_16.js
new file mode 100644
index 0000000..5979b24
--- /dev/null
+++ b/docs/doxygen/html/search/functions_16.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['yearof_0',['YearOf',['../classxb_1_1xbDate.html#a31057dfaa36389a16e40e3db82c46262',1,'xb::xbDate']]]
+];
diff --git a/docs/doxygen/html/search/functions_17.html b/docs/doxygen/html/search/functions_17.html
new file mode 100644
index 0000000..c099015
--- /dev/null
+++ b/docs/doxygen/html/search/functions_17.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_17.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_17.js b/docs/doxygen/html/search/functions_17.js
new file mode 100644
index 0000000..7108002
--- /dev/null
+++ b/docs/doxygen/html/search/functions_17.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['zap_0',['Zap',['../classxb_1_1xbDbf.html#a8ed0693b10b95aaa4e46037758d160ed',1,'xb::xbDbf']]],
+ ['zapchar_1',['ZapChar',['../classxb_1_1xbString.html#a2fd30956a26a260d1ef6fdbe73dd93f9',1,'xb::xbString']]],
+ ['zapleadingchar_2',['ZapLeadingChar',['../classxb_1_1xbString.html#addc3a470f6cd85d4c21bf9da38cf5ac9',1,'xb::xbString']]],
+ ['zaptrailingchar_3',['ZapTrailingChar',['../classxb_1_1xbString.html#afe3415bfa2e1089b792aeda0462fb99e',1,'xb::xbString']]]
+];
diff --git a/docs/doxygen/html/search/functions_18.html b/docs/doxygen/html/search/functions_18.html
new file mode 100644
index 0000000..bc92634
--- /dev/null
+++ b/docs/doxygen/html/search/functions_18.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_18.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_18.js b/docs/doxygen/html/search/functions_18.js
new file mode 100644
index 0000000..d44ee63
--- /dev/null
+++ b/docs/doxygen/html/search/functions_18.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['_7exbdate_0',['~xbDate',['../classxb_1_1xbDate.html#a05c9680c6eb9fe07ecf13a189b596c37',1,'xb::xbDate']]],
+ ['_7exbdbf_1',['~xbDbf',['../classxb_1_1xbDbf.html#a7eb87521fba8a939c613056d9918d880',1,'xb::xbDbf']]],
+ ['_7exbfile_2',['~xbFile',['../classxb_1_1xbFile.html#a491f6c48076e89da2e791a42b2727a90',1,'xb::xbFile']]],
+ ['_7exbstring_3',['~xbString',['../classxb_1_1xbString.html#a10a6549efab02bc76ab33b15916b1eb1',1,'xb::xbString']]],
+ ['_7exbtblmgr_4',['~xbTblMgr',['../classxb_1_1xbTblMgr.html#aad6be32d7b3378c71d47fa27ebfe6cbf',1,'xb::xbTblMgr']]],
+ ['_7exbxbase_5',['~xbXBase',['../classxb_1_1xbXBase.html#a204f8634894ac2066d3209117803306d',1,'xb::xbXBase']]]
+];
diff --git a/docs/doxygen/html/search/functions_2.html b/docs/doxygen/html/search/functions_2.html
new file mode 100644
index 0000000..1f16d2a
--- /dev/null
+++ b/docs/doxygen/html/search/functions_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_2.js b/docs/doxygen/html/search/functions_2.js
new file mode 100644
index 0000000..954b386
--- /dev/null
+++ b/docs/doxygen/html/search/functions_2.js
@@ -0,0 +1,22 @@
+var searchData=
+[
+ ['calcrollingcenturyforyear_0',['CalcRollingCenturyForYear',['../classxb_1_1xbDate.html#a9df58caa54105c489c314785c457e8cb',1,'xb::xbDate']]],
+ ['centuryof_1',['CenturyOf',['../classxb_1_1xbDate.html#a38b2c5285c69ed65e94ece6c22dafde0',1,'xb::xbDate']]],
+ ['chardayof_2',['CharDayOf',['../classxb_1_1xbDate.html#a9fc29730b66cddfbb58c69992a99cc7c',1,'xb::xbDate']]],
+ ['charmonthof_3',['CharMonthOf',['../classxb_1_1xbDate.html#afffc84f02bd421335ff8ebe9fb3db0ac',1,'xb::xbDate']]],
+ ['chrontime_4',['ChronTime',['../tstfuncs_8cpp.html#af990eed1e43605771a5810196b4043f7',1,'tstfuncs.cpp']]],
+ ['close_5',['Close',['../classxb_1_1xbDbf.html#ad68d73113e54e1b5f326e90f45e9989d',1,'xb::xbDbf']]],
+ ['closealltables_6',['CloseAllTables',['../classxb_1_1xbXBase.html#afccb552ca0daff779c0500ff20d22c2b',1,'xb::xbXBase']]],
+ ['commit_7',['Commit',['../classxb_1_1xbDbf.html#abd69532c885ab72bcf3fb5066b318f4f',1,'xb::xbDbf']]],
+ ['copy_8',['Copy',['../classxb_1_1xbString.html#ac7a8466b03c04df838bd182ef244f792',1,'xb::xbString']]],
+ ['copydbfstructure_9',['CopyDbfStructure',['../classxb_1_1xbDbf.html#a829c615a130a1fdf609d93438d8a6264',1,'xb::xbDbf']]],
+ ['countchar_10',['CountChar',['../classxb_1_1xbString.html#a26bc14d92dc7ce1f2bf31cd74af0db0f',1,'xb::xbString::CountChar(char c) const'],['../classxb_1_1xbString.html#adc0204bcfd1c052b9aea9229b10acf72',1,'xb::xbString::CountChar(char c, xbInt16 iOpt) const']]],
+ ['createfqn_11',['CreateFqn',['../classxb_1_1xbXBase.html#aa41240d920b604dcbd91dce7eecb78e1',1,'xb::xbXBase']]],
+ ['createtable_12',['CreateTable',['../classxb_1_1xbDbf.html#a73e41bfe679dd06ab16c436652df93f1',1,'xb::xbDbf']]],
+ ['createuniquefilename_13',['CreateUniqueFileName',['../classxb_1_1xbFile.html#ad39797624a752b9d62533d00fad9feff',1,'xb::xbFile']]],
+ ['ctod_14',['CTOD',['../classxb_1_1xbDate.html#abb1eb4b0394e4a67aadab15779b1b8c5',1,'xb::xbDate']]],
+ ['cvthexchar_15',['CvtHexChar',['../classxb_1_1xbString.html#a0a737bd408a94903f214eb2879eb56de',1,'xb::xbString']]],
+ ['cvthexstring_16',['CvtHexString',['../classxb_1_1xbString.html#ab5eb6918a0ae9ab6c0e961318f3d1eb0',1,'xb::xbString']]],
+ ['cvtlonglong_17',['CvtLongLong',['../classxb_1_1xbString.html#ae3ab18365e132323f8ae4c99eb72181c',1,'xb::xbString']]],
+ ['cvtulonglong_18',['CvtULongLong',['../classxb_1_1xbString.html#a1528b30b84a41c3564ef31d1f4496b15',1,'xb::xbString']]]
+];
diff --git a/docs/doxygen/html/search/functions_3.html b/docs/doxygen/html/search/functions_3.html
new file mode 100644
index 0000000..0b37ee2
--- /dev/null
+++ b/docs/doxygen/html/search/functions_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_3.js b/docs/doxygen/html/search/functions_3.js
new file mode 100644
index 0000000..9a4d44a
--- /dev/null
+++ b/docs/doxygen/html/search/functions_3.js
@@ -0,0 +1,20 @@
+var searchData=
+[
+ ['dateisvalid_0',['DateIsValid',['../classxb_1_1xbDate.html#a367f66ef0c03c1747c12a18784554ccb',1,'xb::xbDate']]],
+ ['dayof_1',['DayOf',['../classxb_1_1xbDate.html#ad6417a900ce64a46f8909c0c7a2ddea2',1,'xb::xbDate']]],
+ ['dblequals_2',['dblEquals',['../tstfuncs_8cpp.html#a8b8e417213c57f2ea0bcb61a7fb28860',1,'tstfuncs.cpp']]],
+ ['dblmax_3',['dblMax',['../tstfuncs_8cpp.html#a69a6e718e066af7f8392e5f1fea40d1b',1,'tstfuncs.cpp']]],
+ ['dblmin_4',['dblMin',['../tstfuncs_8cpp.html#a4d7b8f3f1ce52c6c0a281f25419f4c93',1,'tstfuncs.cpp']]],
+ ['deleteall_5',['DeleteAll',['../classxb_1_1xbDbf.html#a01c26b67e312be1e674b3da710e031b9',1,'xb::xbDbf']]],
+ ['deleteallrecords_6',['DeleteAllRecords',['../classxb_1_1xbDbf.html#a3067fdfa3a7a5c15651f6e89d1102176',1,'xb::xbDbf']]],
+ ['deleterecord_7',['DeleteRecord',['../classxb_1_1xbDbf.html#acd8c10579229f3a2e2c5fdb7fcef90db',1,'xb::xbDbf']]],
+ ['deletetable_8',['DeleteTable',['../classxb_1_1xbDbf.html#a4085ed4f049d976124d8edc3d3c56397',1,'xb::xbDbf']]],
+ ['determinexbasememoversion_9',['DetermineXbaseMemoVersion',['../classxb_1_1xbFile.html#a5a740033664c9ad2611c90e2a6d0c2d3',1,'xb::xbFile']]],
+ ['determinexbasetableversion_10',['DetermineXbaseTableVersion',['../classxb_1_1xbFile.html#ae2b6ac26018dc28f77afbb3f008c3f66',1,'xb::xbFile']]],
+ ['devtester_11',['DevTester',['../xb__test__expression_8cpp.html#aee57237c5f5b9b4d80e84bf530eb42bc',1,'xb_test_expression.cpp']]],
+ ['disablemsglogging_12',['DisableMsgLogging',['../classxb_1_1xbXBase.html#ae357fac4fdebdf49e46563cf611caf65',1,'xb::xbXBase']]],
+ ['displayerror_13',['DisplayError',['../classxb_1_1xbSsv.html#a97dfa59ab9a8e9f17454da0faceb023d',1,'xb::xbSsv']]],
+ ['displaytablelist_14',['DisplayTableList',['../classxb_1_1xbTblMgr.html#a5eebffb9e8cc64141e35c2622045cb50',1,'xb::xbTblMgr']]],
+ ['dumpheader_15',['DumpHeader',['../classxb_1_1xbDbf.html#a47643728f74cf3b6e0ffc55259895bdb',1,'xb::xbDbf']]],
+ ['dumprecord_16',['DumpRecord',['../classxb_1_1xbDbf.html#aba30399f15885a07f87f904c0d0656fa',1,'xb::xbDbf']]]
+];
diff --git a/docs/doxygen/html/search/functions_4.html b/docs/doxygen/html/search/functions_4.html
new file mode 100644
index 0000000..0eaf2b4
--- /dev/null
+++ b/docs/doxygen/html/search/functions_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_4.js b/docs/doxygen/html/search/functions_4.js
new file mode 100644
index 0000000..434b34a
--- /dev/null
+++ b/docs/doxygen/html/search/functions_4.js
@@ -0,0 +1,15 @@
+var searchData=
+[
+ ['egetdouble_0',['eGetDouble',['../classxb_1_1xbFile.html#ab14e4a11427f5efb81cba1dd32bd1aa1',1,'xb::xbFile']]],
+ ['egetint16_1',['eGetInt16',['../classxb_1_1xbFile.html#ac40c991110ddc6fb30a72d90f4652762',1,'xb::xbFile']]],
+ ['egetint32_2',['eGetInt32',['../classxb_1_1xbFile.html#a60b24a5afc984c586bf384c7e915ba0d',1,'xb::xbFile']]],
+ ['egetuint16_3',['eGetUInt16',['../classxb_1_1xbFile.html#a936ade458e6d5e6d29f9b5031888d189',1,'xb::xbFile']]],
+ ['egetuint32_4',['eGetUInt32',['../classxb_1_1xbFile.html#a78f052529d39a18deaface5a0d47d0b0',1,'xb::xbFile']]],
+ ['enablemsglogging_5',['EnableMsgLogging',['../classxb_1_1xbXBase.html#a470e6eb0ed0be60338f9b40976d3ad48',1,'xb::xbXBase']]],
+ ['eputdouble_6',['ePutDouble',['../classxb_1_1xbFile.html#a98b6ff533ae93f90c977a2ba23eeb105',1,'xb::xbFile']]],
+ ['eputint16_7',['ePutInt16',['../classxb_1_1xbFile.html#a29130f12739ac8fa837f4eaedf1338b2',1,'xb::xbFile']]],
+ ['eputint32_8',['ePutInt32',['../classxb_1_1xbFile.html#a19c37f76a2ccbb45019cb0fc373d3f46',1,'xb::xbFile']]],
+ ['eputuint16_9',['ePutUInt16',['../classxb_1_1xbFile.html#a65e9839f92b96eac7b0d071fac3bbe40',1,'xb::xbFile']]],
+ ['eputuint32_10',['ePutUInt32',['../classxb_1_1xbFile.html#aa3f6ceae4b96f24875d86848bf13a173',1,'xb::xbFile']]],
+ ['extractelement_11',['ExtractElement',['../classxb_1_1xbString.html#a6b33a8df49cdcb76033cbce5d8dc59d7',1,'xb::xbString::ExtractElement(xbString &amp;s, char delim, xbUInt32 iCnt, xbInt16 iOpt=0)'],['../classxb_1_1xbString.html#a77195fc4957952625cb33bb503517a3e',1,'xb::xbString::ExtractElement(const char *src, char delim, xbUInt32 iCnt, xbInt16 iOpt=0)']]]
+];
diff --git a/docs/doxygen/html/search/functions_5.html b/docs/doxygen/html/search/functions_5.html
new file mode 100644
index 0000000..eaa2769
--- /dev/null
+++ b/docs/doxygen/html/search/functions_5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_5.js b/docs/doxygen/html/search/functions_5.js
new file mode 100644
index 0000000..d143ad3
--- /dev/null
+++ b/docs/doxygen/html/search/functions_5.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['fileexists_0',['FileExists',['../classxb_1_1xbFile.html#a78bd8a11dce102647095baf3aff2b006',1,'xb::xbFile::FileExists() const'],['../classxb_1_1xbFile.html#a174d8a6aabc9cfcd32fedbd1e5b13ddd',1,'xb::xbFile::FileExists(xbInt16 iOption) const'],['../classxb_1_1xbFile.html#a61130b4fbf4cf9d5972dcb4993de2f94',1,'xb::xbFile::FileExists(const xbString &amp;sFileName) const'],['../classxb_1_1xbFile.html#a0592168f39a10f2a401a88ef781f6148',1,'xb::xbFile::FileExists(const xbString &amp;sFileName, xbInt16 iOption) const']]],
+ ['fileisopen_1',['FileIsOpen',['../classxb_1_1xbFile.html#a7fa837938a32dc9ca3fbc81cbaf50f59',1,'xb::xbFile']]],
+ ['flushlog_2',['FlushLog',['../classxb_1_1xbXBase.html#a5a5ecaed9777978344902446c9ae3b8e',1,'xb::xbXBase']]],
+ ['formatdate_3',['FormatDate',['../classxb_1_1xbDate.html#a01de44dc869f7db99f33046fc91f2c6a',1,'xb::xbDate']]]
+];
diff --git a/docs/doxygen/html/search/functions_6.html b/docs/doxygen/html/search/functions_6.html
new file mode 100644
index 0000000..25d1cc8
--- /dev/null
+++ b/docs/doxygen/html/search/functions_6.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_6.js b/docs/doxygen/html/search/functions_6.js
new file mode 100644
index 0000000..cee5729
--- /dev/null
+++ b/docs/doxygen/html/search/functions_6.js
@@ -0,0 +1,71 @@
+var searchData=
+[
+ ['getautocommit_0',['GetAutoCommit',['../classxb_1_1xbDbf.html#ae0c00226fd2ea7a67f101e795467ed68',1,'xb::xbDbf::GetAutoCommit(xbInt16 iOption) const'],['../classxb_1_1xbDbf.html#abb9e20c5efacd4fea80f1515abbc6b55',1,'xb::xbDbf::GetAutoCommit() const']]],
+ ['getblocksize_1',['GetBlockSize',['../classxb_1_1xbFile.html#a638e14262410a1627819f016a16cdce2',1,'xb::xbFile']]],
+ ['getbof_2',['GetBof',['../classxb_1_1xbDbf.html#ad0827a43c025c1184ffebab74cc9e779',1,'xb::xbDbf']]],
+ ['getcharacter_3',['GetCharacter',['../classxb_1_1xbString.html#a685187a5f8401b322fc61f3fbe56330d',1,'xb::xbString']]],
+ ['getcmdlineopt_4',['GetCmdLineOpt',['../classxb_1_1xbXBase.html#aadecb3ac460d8e94b88b2e809e22f48e',1,'xb::xbXBase::GetCmdLineOpt(xbInt32 lArgc, char **argv, const char *sOptRqst, xbString &amp;sParmOut)'],['../classxb_1_1xbXBase.html#a8612e0c5334349fbceb9394b47817fd5',1,'xb::xbXBase::GetCmdLineOpt(xbInt32 lArgc, char **argv, xbString &amp;sOptRqst, xbString &amp;sParmOut)']]],
+ ['getcurrecno_5',['GetCurRecNo',['../classxb_1_1xbDbf.html#a643a80a3792a52760c8e09ba18719503',1,'xb::xbDbf']]],
+ ['getdatadirectory_6',['GetDataDirectory',['../classxb_1_1xbSsv.html#a1d803a4bfc8ba0561267a0bf9e51f7d9',1,'xb::xbSsv']]],
+ ['getdatefield_7',['GetDateField',['../classxb_1_1xbDbf.html#af78ef1fba949463ff7f829d3cffc4555',1,'xb::xbDbf::GetDateField(xbInt16 iFieldNo, xbDate &amp;dt) const'],['../classxb_1_1xbDbf.html#ac624e06a97666bfd64b4f252b4548b36',1,'xb::xbDbf::GetDateField(const xbString &amp;sFieldName, xbDate &amp;dt) const']]],
+ ['getdbfptr_8',['GetDbfPtr',['../classxb_1_1xbTblMgr.html#ad8a5d28a2ee6720a9aa74bcb45662cf5',1,'xb::xbTblMgr::GetDbfPtr(const xbString &amp;sTblAlias) const'],['../classxb_1_1xbTblMgr.html#a801dfecf7fc216954b4197b2c31b25d6',1,'xb::xbTblMgr::GetDbfPtr(xbInt16 sItemNo) const']]],
+ ['getdbfstatus_9',['GetDbfStatus',['../classxb_1_1xbDbf.html#ac1110d867ba297a52c8b0e83e88f05e6',1,'xb::xbDbf']]],
+ ['getdefaultautocommit_10',['GetDefaultAutoCommit',['../classxb_1_1xbSsv.html#a6982f973e81587b04916f4509746aaf5',1,'xb::xbSsv']]],
+ ['getdefaultdateformat_11',['GetDefaultDateFormat',['../classxb_1_1xbSsv.html#a6fbb9c3a550ab0b3378f9586a57791d2',1,'xb::xbSsv']]],
+ ['getdirectory_12',['GetDirectory',['../classxb_1_1xbFile.html#acd0fb2166b2bff7e8a1cf65a7bc8be1e',1,'xb::xbFile']]],
+ ['getdoublefield_13',['GetDoubleField',['../classxb_1_1xbDbf.html#a4556041a7ff2f6b6f986729901c11f08',1,'xb::xbDbf::GetDoubleField(xbInt16 FieldNo, xbDouble &amp;dFieldValue) const'],['../classxb_1_1xbDbf.html#a2370b5e736931441a5968649291b9ef4',1,'xb::xbDbf::GetDoubleField(xbInt16 FieldNo, xbDouble &amp;dFieldValue, xbInt16 iRecBufSw) const'],['../classxb_1_1xbDbf.html#a6e6774df0f2d7733f4b25a9989596d95',1,'xb::xbDbf::GetDoubleField(const xbString &amp;sFieldName, xbDouble &amp;dFieldValue) const']]],
+ ['getendiantype_14',['GetEndianType',['../classxb_1_1xbSsv.html#a49cd162f066eef2b829ba7c9f6620243',1,'xb::xbSsv']]],
+ ['geteof_15',['GetEof',['../classxb_1_1xbDbf.html#a256dc1f98626fa77da24e91a38ab5b4d',1,'xb::xbDbf']]],
+ ['geterrormessage_16',['GetErrorMessage',['../classxb_1_1xbSsv.html#a56961d2a67b8e7470098626ac4dac7e4',1,'xb::xbSsv']]],
+ ['getfield_17',['GetField',['../classxb_1_1xbDbf.html#ad245a26eb8b79610c9ae7bab19e05513',1,'xb::xbDbf::GetField(xbInt16 iFieldNo, xbString &amp;sFieldValue, xbInt16 iRecBufSw) const'],['../classxb_1_1xbDbf.html#ac81f078f3c932f0da60ad1fbdd848d3e',1,'xb::xbDbf::GetField(xbInt16 iFieldNo, xbString &amp;sFieldValue) const'],['../classxb_1_1xbDbf.html#a9a0fcf7e2040ab483e3807927833cb26',1,'xb::xbDbf::GetField(const xbString &amp;sFieldName, xbString &amp;sFieldValue) const']]],
+ ['getfieldcnt_18',['GetFieldCnt',['../classxb_1_1xbDbf.html#add27d8ef555a13b336b8c804165dc15e',1,'xb::xbDbf']]],
+ ['getfielddecimal_19',['GetFieldDecimal',['../classxb_1_1xbDbf.html#a607f774fcd6dc0b9913d7a7801b60db2',1,'xb::xbDbf::GetFieldDecimal(const xbString &amp;sFieldName, xbInt16 &amp;iFieldDecimal) const'],['../classxb_1_1xbDbf.html#abcb4defad2e1b6e67f63cc60737ad840',1,'xb::xbDbf::GetFieldDecimal(xbInt16 iFieldNo, xbInt16 &amp;iFieldDecimal) const']]],
+ ['getfieldlen_20',['GetFieldLen',['../classxb_1_1xbDbf.html#adda4302b58cc6109b048f19d9b68bbd4',1,'xb::xbDbf::GetFieldLen(xbInt16 iFieldNo, xbInt16 &amp;iFieldLen) const'],['../classxb_1_1xbDbf.html#acf06dbccdba1a4bcd90fa0bea6cca59b',1,'xb::xbDbf::GetFieldLen(const xbString &amp;sFieldName, xbInt16 &amp;iFieldLen) const']]],
+ ['getfieldname_21',['GetFieldName',['../classxb_1_1xbDbf.html#a5e3e4368bfba1724c016b8859023e34c',1,'xb::xbDbf']]],
+ ['getfieldno_22',['GetFieldNo',['../classxb_1_1xbDbf.html#aed9113b5095c6df1b9c854cbd0d8047b',1,'xb::xbDbf::GetFieldNo(const xbString &amp;sFieldName, xbInt16 &amp;iFieldNo) const'],['../classxb_1_1xbDbf.html#aad9029e63909aeb77d8473256d88bea8',1,'xb::xbDbf::GetFieldNo(const xbString &amp;sFieldName) const']]],
+ ['getfieldtype_23',['GetFieldType',['../classxb_1_1xbDbf.html#a5143973e4f165651152aa13c8fd45f84',1,'xb::xbDbf::GetFieldType(xbInt16 iFieldNo, char &amp;cFieldType) const'],['../classxb_1_1xbDbf.html#a181db879f1a75f93a34c03513a0b2fea',1,'xb::xbDbf::GetFieldType(const xbString &amp;sFieldName, char &amp;cFieldType) const']]],
+ ['getfiledirpart_24',['GetFileDirPart',['../classxb_1_1xbFile.html#a60c53998e3d1b694134b20a87bc9bf5a',1,'xb::xbFile::GetFileDirPart(xbString &amp;sFileDirPartOut) const'],['../classxb_1_1xbFile.html#af5127c92892816e9bbc5c19653c4147a',1,'xb::xbFile::GetFileDirPart(const xbString &amp;sCompleteFileNameIn, xbString &amp;sFileDirPartOut) const']]],
+ ['getfileextpart_25',['GetFileExtPart',['../classxb_1_1xbFile.html#ab289b6ffe955321160c1f90220c22e25',1,'xb::xbFile::GetFileExtPart(const xbString &amp;sCompleteFileNameIn, xbString &amp;sFileExtPartOut) const'],['../classxb_1_1xbFile.html#a57a9222e5cbb51019d4eeb2c3ac89fa2',1,'xb::xbFile::GetFileExtPart(xbString &amp;sFileExtPartOut) const']]],
+ ['getfilemtime_26',['GetFileMtime',['../classxb_1_1xbFile.html#a02df78f4c90313243f508fc56b95aba8',1,'xb::xbFile']]],
+ ['getfilename_27',['GetFileName',['../classxb_1_1xbFile.html#ac95cb882ccbcdedc9a233c6ad9fed07a',1,'xb::xbFile']]],
+ ['getfilenamepart_28',['GetFileNamePart',['../classxb_1_1xbFile.html#a81422b3dd52763d2cc6c77237ec9af0a',1,'xb::xbFile::GetFileNamePart(xbString &amp;sFileNamePartOut) const'],['../classxb_1_1xbFile.html#a6110763c5ae996b72c7a62c15bdecc73',1,'xb::xbFile::GetFileNamePart(const xbString &amp;sCompleteFileNameIn, xbString &amp;sFileNamePartOut) const']]],
+ ['getfilesize_29',['GetFileSize',['../classxb_1_1xbFile.html#a50b63c39e49d44e52078038027b24cc5',1,'xb::xbFile']]],
+ ['getfiletype_30',['GetFileType',['../classxb_1_1xbFile.html#a5548236d38d43b89ae29b9a015b1f678',1,'xb::xbFile']]],
+ ['getfirstrecord_31',['GetFirstRecord',['../classxb_1_1xbDbf.html#a6fc5b8a3e2f177d5ceaf9d975cbb5226',1,'xb::xbDbf::GetFirstRecord()'],['../classxb_1_1xbDbf.html#acb78991e8435edd36318c653cb977c1a',1,'xb::xbDbf::GetFirstRecord(xbInt16 iOption)']]],
+ ['getfloatfield_32',['GetFloatField',['../classxb_1_1xbDbf.html#a3443f646038ced14425f067a59c0f2da',1,'xb::xbDbf::GetFloatField(xbInt16 iFieldNo, xbFloat &amp;fFieldValue) const'],['../classxb_1_1xbDbf.html#a81ef2f36f921d7ece066a592eb6393eb',1,'xb::xbDbf::GetFloatField(const xbString &amp;sFieldName, xbFloat &amp;fFieldValue) const']]],
+ ['getfqfilename_33',['GetFqFileName',['../classxb_1_1xbFile.html#a31b4e641f93206ba23e2a5a27491dcd4',1,'xb::xbFile']]],
+ ['getfunctioninfo_34',['GetFunctionInfo',['../classxb_1_1xbXBase.html#ae52e53340593b4253936c1372ec15ee1',1,'xb::xbXBase']]],
+ ['getheaderlen_35',['GetHeaderLen',['../classxb_1_1xbDbf.html#ad56be2756b7a9f8318d9ba5cf215dafb',1,'xb::xbDbf']]],
+ ['gethomedir_36',['GetHomeDir',['../classxb_1_1xbSsv.html#abc9c06c95d71fbad8294e1ae8862cea9',1,'xb::xbSsv']]],
+ ['getlastpos_37',['GetLastPos',['../classxb_1_1xbString.html#ac7698665f44413a5e99a5b5bc573c6df',1,'xb::xbString::GetLastPos(char c) const'],['../classxb_1_1xbString.html#a1c55587904fe7e534290559d0ecb8646',1,'xb::xbString::GetLastPos(const char *s) const']]],
+ ['getlastrecord_38',['GetLastRecord',['../classxb_1_1xbDbf.html#a49e667f9c8ee55c36444702663fc5964',1,'xb::xbDbf::GetLastRecord()'],['../classxb_1_1xbDbf.html#a8ccfa2291417412b6894940d1b92f9a6',1,'xb::xbDbf::GetLastRecord(xbInt16 iOption)']]],
+ ['getlogdirectory_39',['GetLogDirectory',['../classxb_1_1xbSsv.html#a4822315bded3969b59aeeb683c373051',1,'xb::xbSsv']]],
+ ['getlogfilename_40',['GetLogFileName',['../classxb_1_1xbSsv.html#afaef09435be73b3111f5edbd7091d861',1,'xb::xbSsv']]],
+ ['getlogfqfilename_41',['GetLogFqFileName',['../classxb_1_1xbXBase.html#ab5d63cd7d9137eba8a1d4d9c3df522b7',1,'xb::xbXBase']]],
+ ['getlogicalfield_42',['GetLogicalField',['../classxb_1_1xbDbf.html#ab28feef20c988b0a6f1c1911a45377b0',1,'xb::xbDbf::GetLogicalField(xbInt16 iFieldNo, xbBool &amp;bFieldData, xbInt16 iRecBufSw) const'],['../classxb_1_1xbDbf.html#a943cea7fde1b06c1a05184193eff8d2d',1,'xb::xbDbf::GetLogicalField(const xbString &amp;sFieldName, xbBool &amp;bFieldData) const'],['../classxb_1_1xbDbf.html#aaf615ddcf08f8cd14efc713c2a8d7ae1',1,'xb::xbDbf::GetLogicalField(xbInt16 iFieldNo, xbBool &amp;bFieldData) const'],['../classxb_1_1xbDbf.html#a9cd6819bfd932ff8507e54d9cb9a624e',1,'xb::xbDbf::GetLogicalField(const xbString &amp;sFieldName, xbString &amp;sFieldData) const'],['../classxb_1_1xbDbf.html#a3254f091fc4a1404abed3dd2bcdd6ce6',1,'xb::xbDbf::GetLogicalField(xbInt16 iFieldNo, xbString &amp;sFieldData) const']]],
+ ['getlogsize_43',['GetLogSize',['../classxb_1_1xbXBase.html#aedb4c2aa2c90e4529915198a2305b355',1,'xb::xbXBase']]],
+ ['getlogstatus_44',['GetLogStatus',['../classxb_1_1xbXBase.html#ade34cd72c2a7e70fb55429a8a6f6c028',1,'xb::xbXBase']]],
+ ['getlongfield_45',['GetLongField',['../classxb_1_1xbDbf.html#abe525c0820640e0a9e169d0b7913cfa1',1,'xb::xbDbf::GetLongField(xbInt16 iFieldNo, xbInt32 &amp;lFieldValue) const'],['../classxb_1_1xbDbf.html#a7b8ef75b17941beac17e50e969b2d3db',1,'xb::xbDbf::GetLongField(const xbString &amp;sFieldName, xbInt32 &amp;lFieldValue) const']]],
+ ['getmultiuser_46',['GetMultiUser',['../classxb_1_1xbSsv.html#abd58031c5f1c3766c24d47a82e6fd9c5',1,'xb::xbSsv']]],
+ ['getnextrecord_47',['GetNextRecord',['../classxb_1_1xbDbf.html#ab896fe3b734f556de578d30f92b18fe2',1,'xb::xbDbf::GetNextRecord()'],['../classxb_1_1xbDbf.html#a3191428a7a92d9107d8d42448884f2ac',1,'xb::xbDbf::GetNextRecord(xbInt16 iOption)'],['../classxb_1_1xbDbf.html#a18fdcb4ab15b36cd47fa6f6f7a540d1a',1,'xb::xbDbf::GetNextRecord(xbInt16 iOption, xbUInt32 ulStartRec)']]],
+ ['getnextsqlcmd_48',['GetNextSqlCmd',['../xb__execsql_8cpp.html#adb176b752e38521fdb334b4976965945',1,'xb_execsql.cpp']]],
+ ['getnullsts_49',['GetNullSts',['../classxb_1_1xbDbf.html#a7930fe8b930c6d646b7b0d3df576fe9e',1,'xb::xbDbf::GetNullSts(xbInt16 iFieldNo, xbBool &amp;bIsNull, xbInt16 iRecBufSw) const'],['../classxb_1_1xbDbf.html#ae9a3f726ce5229ed021bfce0515050fc',1,'xb::xbDbf::GetNullSts(xbInt16 iFieldNo, xbBool &amp;bIsNull) const'],['../classxb_1_1xbDbf.html#a909788123ce0694b65dfcf036380d918',1,'xb::xbDbf::GetNullSts(const xbString &amp;sFieldName, xbBool &amp;bIsNull) const']]],
+ ['getopenmode_50',['GetOpenMode',['../classxb_1_1xbFile.html#a3c500dc9dac22c49496e4b29386b2dd3',1,'xb::xbFile']]],
+ ['getopentablecount_51',['GetOpenTableCount',['../classxb_1_1xbTblMgr.html#ad0d2d4adabc0dc0e761cfdee63c84069',1,'xb::xbTblMgr']]],
+ ['getpathseparator_52',['GetPathSeparator',['../classxb_1_1xbString.html#af8b8b808cf43cd352321b43f500142db',1,'xb::xbString::GetPathSeparator()'],['../classxb_1_1xbSsv.html#a63cee13b473ee13970e93b11837b9e35',1,'xb::xbSsv::GetPathSeparator()']]],
+ ['getprevrecord_53',['GetPrevRecord',['../classxb_1_1xbDbf.html#ab3d248e5221b4f0809897cd43af17a1e',1,'xb::xbDbf::GetPrevRecord()'],['../classxb_1_1xbDbf.html#a7eadc7b08d73003802b90584f7b33387',1,'xb::xbDbf::GetPrevRecord(xbInt16 iOption)']]],
+ ['getrawfield_54',['GetRawField',['../classxb_1_1xbDbf.html#aabd146c0e1054ab905ec96aedd84b02e',1,'xb::xbDbf']]],
+ ['getrecord_55',['GetRecord',['../classxb_1_1xbDbf.html#a26fba086b07caeab95066bf1c8d25161',1,'xb::xbDbf']]],
+ ['getrecordbuf_56',['GetRecordBuf',['../classxb_1_1xbDbf.html#aa3e38c4057d726a28a27d07a1610d124',1,'xb::xbDbf']]],
+ ['getrecordcnt_57',['GetRecordCnt',['../classxb_1_1xbDbf.html#ac196ad55335e1f4789d698748434dc89',1,'xb::xbDbf']]],
+ ['getrecordlen_58',['GetRecordLen',['../classxb_1_1xbDbf.html#ab50d76c6e29e81e347a6feb04c2f62bb',1,'xb::xbDbf']]],
+ ['getsharemode_59',['GetShareMode',['../classxb_1_1xbFile.html#a9b63e05b77f477ff6109ff7b9432c1b6',1,'xb::xbFile']]],
+ ['getsize_60',['GetSize',['../classxb_1_1xbString.html#a6c33e73659f8e98819289d2661c7271c',1,'xb::xbString']]],
+ ['gettblalias_61',['GetTblAlias',['../classxb_1_1xbDbf.html#a27758a325c097f204247908b65ba7fbd',1,'xb::xbDbf']]],
+ ['gettbllistentry_62',['GetTblListEntry',['../classxb_1_1xbTblMgr.html#acbf148ddba4297021cfb980a161ebef9',1,'xb::xbTblMgr']]],
+ ['gettempdirectory_63',['GetTempDirectory',['../classxb_1_1xbSsv.html#abfaeef85935331073d213465bb362a61',1,'xb::xbSsv']]],
+ ['getulongfield_64',['GetULongField',['../classxb_1_1xbDbf.html#a67e3a050f9090edf69eee75aef7f5d83',1,'xb::xbDbf::GetULongField(xbInt16 iFieldNo, xbUInt32 &amp;lFieldValue) const'],['../classxb_1_1xbDbf.html#a039eb02418ec4ca862adbc0f95b9cbec',1,'xb::xbDbf::GetULongField(const xbString &amp;sFieldName, xbUInt32 &amp;lFieldValue) const']]],
+ ['getversion_65',['GetVersion',['../classxb_1_1xbDbf.html#a49212a9eb17f7fa9f303e08d5fc50fc6',1,'xb::xbDbf']]],
+ ['getxbasefiletypebyte_66',['GetXbaseFileTypeByte',['../classxb_1_1xbFile.html#aaf2e697751a0beff41432a66bb83fb5e',1,'xb::xbFile::GetXbaseFileTypeByte(const xbString &amp;sFileName, xbInt16 &amp;iVersion)'],['../classxb_1_1xbFile.html#a7af337808919680b90710ad5e8a99232',1,'xb::xbFile::GetXbaseFileTypeByte(const xbString &amp;sFileName, unsigned char &amp;cFileTypeByte)'],['../classxb_1_1xbFile.html#a78aebdd21d3de46a450d5f835e3027f6',1,'xb::xbFile::GetXbaseFileTypeByte(const xbString &amp;sFileName, unsigned char &amp;cFileTypeByte, xbInt16 &amp;iVersion)']]],
+ ['getxbaseptr_67',['GetXbasePtr',['../classxb_1_1xbDbf.html#ab21ec23c076b0c9affdc0f6672bd133f',1,'xb::xbDbf']]]
+];
diff --git a/docs/doxygen/html/search/functions_7.html b/docs/doxygen/html/search/functions_7.html
new file mode 100644
index 0000000..b6392ea
--- /dev/null
+++ b/docs/doxygen/html/search/functions_7.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_7.js b/docs/doxygen/html/search/functions_7.js
new file mode 100644
index 0000000..6a2cc28
--- /dev/null
+++ b/docs/doxygen/html/search/functions_7.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['hasalphachars_0',['HasAlphaChars',['../classxb_1_1xbString.html#aa13f6b72e5a529eab04545892bbc98b4',1,'xb::xbString']]]
+];
diff --git a/docs/doxygen/html/search/functions_8.html b/docs/doxygen/html/search/functions_8.html
new file mode 100644
index 0000000..ecf6a89
--- /dev/null
+++ b/docs/doxygen/html/search/functions_8.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_8.js b/docs/doxygen/html/search/functions_8.js
new file mode 100644
index 0000000..0dcf217
--- /dev/null
+++ b/docs/doxygen/html/search/functions_8.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['inittime_0',['InitTime',['../tstfuncs_8cpp.html#ab1f17da15e67a8b2460d5a88b7a3db6e',1,'tstfuncs.cpp']]],
+ ['initvars_1',['InitVars',['../classxb_1_1xbDbf.html#ad06fe0f7975fb81125d27d82504e6829',1,'xb::xbDbf']]],
+ ['isempty_2',['IsEmpty',['../classxb_1_1xbString.html#a4a255a30d683acd62ea09c1617b53cb3',1,'xb::xbString']]],
+ ['isleapyear_3',['IsLeapYear',['../classxb_1_1xbDate.html#af2bd33a72448e2c5ee00d8b711dc5d95',1,'xb::xbDate::IsLeapYear(xbInt16 iYear) const'],['../classxb_1_1xbDate.html#a5f8051c31b29244265e8f26ac3547b9b',1,'xb::xbDate::IsLeapYear() const']]],
+ ['isnull_4',['IsNull',['../classxb_1_1xbDate.html#a611a64b14ff89ad3c20b34081ea1e658',1,'xb::xbDate::IsNull()'],['../classxb_1_1xbString.html#a3fa34fa31bcb7244ecb054ab628ad500',1,'xb::xbString::IsNull()']]]
+];
diff --git a/docs/doxygen/html/search/functions_9.html b/docs/doxygen/html/search/functions_9.html
new file mode 100644
index 0000000..cd70e2b
--- /dev/null
+++ b/docs/doxygen/html/search/functions_9.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_9.js b/docs/doxygen/html/search/functions_9.js
new file mode 100644
index 0000000..bd77163
--- /dev/null
+++ b/docs/doxygen/html/search/functions_9.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['juliandays_0',['JulianDays',['../classxb_1_1xbDate.html#a1ee3377d4ead9d31099eee539d9b13a7',1,'xb::xbDate']]],
+ ['jultodate8_1',['JulToDate8',['../classxb_1_1xbDate.html#a9d28b2a46d8aaa284b92f44eeb96b2ff',1,'xb::xbDate']]]
+];
diff --git a/docs/doxygen/html/search/functions_a.html b/docs/doxygen/html/search/functions_a.html
new file mode 100644
index 0000000..d2a3de9
--- /dev/null
+++ b/docs/doxygen/html/search/functions_a.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_a.js b/docs/doxygen/html/search/functions_a.js
new file mode 100644
index 0000000..2d4005e
--- /dev/null
+++ b/docs/doxygen/html/search/functions_a.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['lastdayofmonth_0',['LastDayOfMonth',['../classxb_1_1xbDate.html#a15847866bb7642aa42bc254e0cf2038a',1,'xb::xbDate']]],
+ ['left_1',['Left',['../classxb_1_1xbString.html#acdc3a6d6955b99f0a6b1d181fb3098b9',1,'xb::xbString']]],
+ ['len_2',['Len',['../classxb_1_1xbString.html#a998b240eedac311aea5843047f55649b',1,'xb::xbString']]],
+ ['ltrim_3',['Ltrim',['../classxb_1_1xbString.html#a90e0d0be4fd0d82dd2ebbe689adf18ee',1,'xb::xbString']]],
+ ['ltrunc_4',['Ltrunc',['../classxb_1_1xbString.html#a656f5854f74064b7257ff96d96dfb68b',1,'xb::xbString']]]
+];
diff --git a/docs/doxygen/html/search/functions_b.html b/docs/doxygen/html/search/functions_b.html
new file mode 100644
index 0000000..e6f34bb
--- /dev/null
+++ b/docs/doxygen/html/search/functions_b.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_b.js b/docs/doxygen/html/search/functions_b.js
new file mode 100644
index 0000000..6fd1671
--- /dev/null
+++ b/docs/doxygen/html/search/functions_b.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['main_0',['main',['../xb__test__xbase_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_xbase.cpp'],['../xb__test__linklist_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_linklist.cpp'],['../xb__test__lock_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_lock.cpp'],['../xb__test__lock2_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_lock2.cpp'],['../xb__test__log_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_log.cpp'],['../xb__test__mdx_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_mdx.cpp'],['../xb__test__ndx_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_ndx.cpp'],['../xb__test__sql_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_sql.cpp'],['../xb__test__string_8cpp.html#aabf71bc9adb6daf457b2ea8879ae537f',1,'main(int argCnt, char **av=NULL):&#160;xb_test_string.cpp'],['../xb__test__tblmgr_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_tblmgr.cpp'],['../xb__test__tdx_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_tdx.cpp'],['../xb__test__uda_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_uda.cpp'],['../xb__test__funcs_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_funcs.cpp'],['../xb__cfg__check_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_cfg_check.cpp'],['../xb__copydbf_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_copydbf.cpp'],['../xb__dbfutil_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_dbfutil.cpp'],['../xb__deletall_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_deletall.cpp'],['../xb__dumpdbt_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_dumpdbt.cpp'],['../xb__dumprecs_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_dumprecs.cpp'],['../xb__execsql_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_execsql.cpp'],['../xb__import_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_import.cpp'],['../xb__pack_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_pack.cpp'],['../xb__tblinfo_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_tblinfo.cpp'],['../xb__undelall_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]):&#160;xb_undelall.cpp'],['../xb__test__filter_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_filter.cpp'],['../xb__ex__date_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_date.cpp'],['../xb__ex__expression_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_expression.cpp'],['../xb__ex__log_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_ex_log.cpp'],['../xb__ex__sql_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_ex_sql.cpp'],['../xb__ex__ssv_8cpp.html#a6438fb6826a353355708e08b4395d689',1,'main(int, char **av):&#160;xb_ex_ssv.cpp'],['../xb__ex__string_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_string.cpp'],['../xb__ex__v3__create__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_v3_create_dbf.cpp'],['../xb__ex__v3__upd__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_v3_upd_dbf.cpp'],['../xb__ex__v4__create__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_v4_create_dbf.cpp'],['../xb__ex__v4__upd__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main():&#160;xb_ex_v4_upd_dbf.cpp'],['../xb__test__bcd_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_bcd.cpp'],['../xb__test__blockread_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_blockread.cpp'],['../xb__test__date_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_date.cpp'],['../xb__test__dbf__v3__memos_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_dbf_v3_memos.cpp'],['../xb__test__dbf__v3__nomemos_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_dbf_v3_nomemos.cpp'],['../xb__test__dbf__v4__memos_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_dbf_v4_memos.cpp'],['../xb__test__dbf__v4__nomemos_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_dbf_v4_nomemos.cpp'],['../xb__test__expnode_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_expnode.cpp'],['../xb__test__expression_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_expression.cpp'],['../xb__test__file_8cpp.html#a1470527971db41f828c26074cde7e15a',1,'main(int argCnt, char **av):&#160;xb_test_file.cpp']]],
+ ['memofieldsexist_1',['MemoFieldsExist',['../classxb_1_1xbDbf.html#a013dc8c51fc1aa988de39cf3da6da950',1,'xb::xbDbf']]],
+ ['mid_2',['Mid',['../classxb_1_1xbString.html#a0f9eefc836b24c4ee7c5a316c5d812b7',1,'xb::xbString']]],
+ ['monthof_3',['MonthOf',['../classxb_1_1xbDate.html#a08bd84c67e1119d8c5c1748cd89d092e',1,'xb::xbDate']]]
+];
diff --git a/docs/doxygen/html/search/functions_c.html b/docs/doxygen/html/search/functions_c.html
new file mode 100644
index 0000000..87b4ce2
--- /dev/null
+++ b/docs/doxygen/html/search/functions_c.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_c.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_c.js b/docs/doxygen/html/search/functions_c.js
new file mode 100644
index 0000000..973aa37
--- /dev/null
+++ b/docs/doxygen/html/search/functions_c.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['namesuffixmissing_0',['NameSuffixMissing',['../classxb_1_1xbFile.html#a361e3cc318bbf1c4d10f069e0800a24e',1,'xb::xbFile']]]
+];
diff --git a/docs/doxygen/html/search/functions_d.html b/docs/doxygen/html/search/functions_d.html
new file mode 100644
index 0000000..ada2b81
--- /dev/null
+++ b/docs/doxygen/html/search/functions_d.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_d.js b/docs/doxygen/html/search/functions_d.js
new file mode 100644
index 0000000..a292a5b
--- /dev/null
+++ b/docs/doxygen/html/search/functions_d.js
@@ -0,0 +1,21 @@
+var searchData=
+[
+ ['open_0',['Open',['../classxb_1_1xbDbf.html#ae388c5e02adc86e6e9988e697e061610',1,'xb::xbDbf::Open(const xbString &amp;sTableName, const xbString &amp;sAlias)'],['../classxb_1_1xbDbf.html#a69824d7bafc3f5a15bf7d09f2f511768',1,'xb::xbDbf::Open(const xbString &amp;sTableName)'],['../classxb_1_1xbXBase.html#ab35cec5ac8f0fa95f10653ca7ac817f6',1,'xb::xbXBase::Open()'],['../classxb_1_1xbDbf.html#a4d018cbf44d8d8b2145c9acab02c8adf',1,'xb::xbDbf::Open()'],['../classxb_1_1xbXBase.html#aafb1abd6b6124cddf635adaf9f615a4a',1,'xb::xbXBase::Open(const xbString &amp;sTableName, xbInt16 &amp;iRc)']]],
+ ['openhighestversion_1',['OpenHighestVersion',['../classxb_1_1xbXBase.html#aa957eb502ecd076e5df89e7415cb094b',1,'xb::xbXBase::OpenHighestVersion(const xbString &amp;sTableName, const xbString &amp;sAlias, xbDbf &amp;dbf, int dummy)'],['../classxb_1_1xbXBase.html#afa7bbac08a4601f49cd53b457196ee0e',1,'xb::xbXBase::OpenHighestVersion(const xbString &amp;sTableName, const xbString &amp;sAlias, xbDbf **dbf)']]],
+ ['operator_20const_20char_20_2a_2',['operator const char *',['../classxb_1_1xbString.html#a545df0ae9590f0ea5844a165e38a6388',1,'xb::xbString']]],
+ ['operator_21_3d_3',['operator!=',['../classxb_1_1xbDate.html#ac3aaf8997fc0c36676085e7741f33a8a',1,'xb::xbDate::operator!=()'],['../classxb_1_1xbString.html#acf89691607050b0505dc6af28d059c38',1,'xb::xbString::operator!=(const xbString &amp;) const'],['../classxb_1_1xbString.html#a822448f2a0ce653473d4c1de5763a3a6',1,'xb::xbString::operator!=(const char *) const']]],
+ ['operator_2b_4',['operator+',['../classxb_1_1xbString.html#aab556e8c3cb478dd95643327d72a48bd',1,'xb::xbString::operator+(const char *s)'],['../classxb_1_1xbString.html#af559654baba81c3c0c19823c0b7a69d3',1,'xb::xbString::operator+(const char c)'],['../classxb_1_1xbString.html#a1f289d577ba90c500bc1be3ec7bb0206',1,'xb::xbString::operator+(const xbString &amp;s)'],['../classxb_1_1xbDate.html#ad09609bf78cf038886a4f9cd19423f9c',1,'xb::xbDate::operator+(xbInt32 i)']]],
+ ['operator_2b_2b_5',['operator++',['../classxb_1_1xbDate.html#a1c7d9e3718c43df18b21646072c8605e',1,'xb::xbDate']]],
+ ['operator_2b_3d_6',['operator+=',['../classxb_1_1xbDate.html#a947ba156d04fe063aaa4c9964ae5d163',1,'xb::xbDate::operator+=()'],['../classxb_1_1xbString.html#a76a47af239797a266ada6141c150001c',1,'xb::xbString::operator+=(const xbString &amp;s)'],['../classxb_1_1xbString.html#ab319120dbad9107e1e7090139c956100',1,'xb::xbString::operator+=(const char *s)'],['../classxb_1_1xbString.html#ae12f45b8be84e438e032c0b860f985c6',1,'xb::xbString::operator+=(char c)']]],
+ ['operator_2d_7',['operator-',['../classxb_1_1xbString.html#a06abec236b95f6933ba17bf67089f7cf',1,'xb::xbString::operator-()'],['../classxb_1_1xbDate.html#a3f3a8802c96098c85aa8d0e19717a979',1,'xb::xbDate::operator-(const xbDate &amp;) const'],['../classxb_1_1xbDate.html#a73ff5c037046ac0a0bb7d73f74e25cbb',1,'xb::xbDate::operator-(xbInt32 i)']]],
+ ['operator_2d_2d_8',['operator--',['../classxb_1_1xbDate.html#ae2b33dfee60d324916d833b2098b5a6b',1,'xb::xbDate']]],
+ ['operator_2d_3d_9',['operator-=',['../classxb_1_1xbDate.html#a4a8f207d759540114373f5e9d6d375f7',1,'xb::xbDate::operator-=()'],['../classxb_1_1xbString.html#aa7f4db1b4eae9dfad46346db6e17ea15',1,'xb::xbString::operator-=(const xbString &amp;s)'],['../classxb_1_1xbString.html#aaae97e6eda3d18c9f463993ade985bf4',1,'xb::xbString::operator-=(const char *s)'],['../classxb_1_1xbString.html#adcafd019df23bb5724c46e34f3f31194',1,'xb::xbString::operator-=(char c)']]],
+ ['operator_3c_10',['operator&lt;',['../classxb_1_1xbDate.html#a11f09d97ed527e7ef00ba6f17b9fb02c',1,'xb::xbDate::operator&lt;()'],['../classxb_1_1xbString.html#a71c7aafa0d523c72cbe58c474be2270a',1,'xb::xbString::operator&lt;()']]],
+ ['operator_3c_3c_11',['operator&lt;&lt;',['../namespacexb.html#ad27f348219e895c44f74addba8e1889a',1,'xb']]],
+ ['operator_3c_3d_12',['operator&lt;=',['../classxb_1_1xbString.html#a461f245e60cddfdf5f78a972a46e5880',1,'xb::xbString::operator&lt;=()'],['../classxb_1_1xbDate.html#a6d8fa4df4664f3fd8d4cc15e77f6d046',1,'xb::xbDate::operator&lt;=(const xbDate &amp;) const']]],
+ ['operator_3d_13',['operator=',['../classxb_1_1xbDate.html#a2e33ad9415c32e820e08fd8084198690',1,'xb::xbDate::operator=()'],['../classxb_1_1xbString.html#a4f69d11cbd43edf71725a606d0ca8f40',1,'xb::xbString::operator=(const xbString &amp;s)'],['../classxb_1_1xbString.html#a84ae7d16c5d73c5aa2270aa9895a7f7c',1,'xb::xbString::operator=(const char *s)']]],
+ ['operator_3d_3d_14',['operator==',['../classxb_1_1xbDate.html#aaaf98c1a672066021895f0953b6e94d0',1,'xb::xbDate::operator==()'],['../classxb_1_1xbString.html#a2df3ed2fc9456214f5fd2fcf77b69bc1',1,'xb::xbString::operator==(const xbString &amp;) const'],['../classxb_1_1xbString.html#a94031269af3c433393d4cf0ff9b4be38',1,'xb::xbString::operator==(const char *) const']]],
+ ['operator_3e_15',['operator&gt;',['../classxb_1_1xbDate.html#a744031c4031d6ec4595d34acbd1c5860',1,'xb::xbDate::operator&gt;()'],['../classxb_1_1xbString.html#ae46f6a45da5686b607a4edf2786a2fff',1,'xb::xbString::operator&gt;()']]],
+ ['operator_3e_3d_16',['operator&gt;=',['../classxb_1_1xbDate.html#a1d81959ea55440588068ea7f82617c99',1,'xb::xbDate::operator&gt;=()'],['../classxb_1_1xbString.html#a8f16643cb7ba3ee9cf685422c9ea0e67',1,'xb::xbString::operator&gt;=(const xbString &amp;) const']]],
+ ['operator_5b_5d_17',['operator[]',['../classxb_1_1xbString.html#abe45e463226ac8e18550ced18c5a9df3',1,'xb::xbString::operator[](xbUInt32 n) const'],['../classxb_1_1xbString.html#a4deaa68d9571753349c29baacb5613e8',1,'xb::xbString::operator[](xbInt32 n) const']]]
+];
diff --git a/docs/doxygen/html/search/functions_e.html b/docs/doxygen/html/search/functions_e.html
new file mode 100644
index 0000000..1297715
--- /dev/null
+++ b/docs/doxygen/html/search/functions_e.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_e.js b/docs/doxygen/html/search/functions_e.js
new file mode 100644
index 0000000..342d52d
--- /dev/null
+++ b/docs/doxygen/html/search/functions_e.js
@@ -0,0 +1,19 @@
+var searchData=
+[
+ ['pack_0',['Pack',['../classxb_1_1xbDbf.html#a93bb14ad0451355bfa3379128120988a',1,'xb::xbDbf::Pack(xbUInt32 &amp;ulDeletedRecCnt)'],['../classxb_1_1xbDbf.html#a8a52bf3ef2123c0d17e6b1f67bf0dc55',1,'xb::xbDbf::Pack()']]],
+ ['padleft_1',['PadLeft',['../classxb_1_1xbString.html#a6a09cfed22066b0c72432f26960f9e7b',1,'xb::xbString']]],
+ ['padright_2',['PadRight',['../classxb_1_1xbString.html#aba13f0c77eb6c4a22996039569fad284',1,'xb::xbString']]],
+ ['pos_3',['Pos',['../classxb_1_1xbString.html#a1b586890138da8bf0e23090bd8b34581',1,'xb::xbString::Pos(char c, xbUInt32 ulStartPos) const'],['../classxb_1_1xbString.html#a3baf59d15099589ff631995f129e582b',1,'xb::xbString::Pos(char c) const'],['../classxb_1_1xbString.html#a8705d7277b72f5aa98021e84438914da',1,'xb::xbString::Pos(const char *s) const']]],
+ ['printhelp_4',['PrintHelp',['../xb__undelall_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_undelall.cpp'],['../xb__dbfutil_8cpp.html#a9c55a055e1cd4249c7f47e19dc7ac564',1,'PrintHelp():&#160;xb_dbfutil.cpp'],['../xb__tblinfo_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_tblinfo.cpp'],['../xb__pack_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_pack.cpp'],['../xb__import_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_import.cpp'],['../xb__execsql_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_execsql.cpp'],['../xb__dumprecs_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_dumprecs.cpp'],['../xb__dumpdbt_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_dumpdbt.cpp'],['../xb__deletall_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_deletall.cpp'],['../xb__copydbf_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef',1,'PrintHelp():&#160;xb_copydbf.cpp']]],
+ ['printresult_5',['PrintResult',['../xb__ex__expression_8cpp.html#a3234afc912211aec54c10d363d28cbda',1,'xb_ex_expression.cpp']]],
+ ['printversion_6',['PrintVersion',['../xb__copydbf_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_copydbf.cpp'],['../xb__dbfutil_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_dbfutil.cpp'],['../xb__deletall_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_deletall.cpp'],['../xb__dumpdbt_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_dumpdbt.cpp'],['../xb__dumprecs_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_dumprecs.cpp'],['../xb__execsql_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_execsql.cpp'],['../xb__import_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_import.cpp'],['../xb__pack_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_pack.cpp'],['../xb__tblinfo_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_tblinfo.cpp'],['../xb__undelall_8cpp.html#a1fae5968f70747445d63f63065fb7ef3',1,'PrintVersion():&#160;xb_undelall.cpp']]],
+ ['putat_7',['PutAt',['../classxb_1_1xbString.html#a1bae6fa8f608261f6e889616482f6e39',1,'xb::xbString']]],
+ ['putdatefield_8',['PutDateField',['../classxb_1_1xbDbf.html#a873f04af528a9d81e6a367a59d998ec5',1,'xb::xbDbf::PutDateField(xbInt16 iFieldNo, const xbDate &amp;dt)'],['../classxb_1_1xbDbf.html#a571b36b3a940b1a16d5e834f329b33b9',1,'xb::xbDbf::PutDateField(const xbString &amp;sFieldName, const xbDate &amp;dt)']]],
+ ['putdoublefield_9',['PutDoubleField',['../classxb_1_1xbDbf.html#a4f34842d7e8ff1f16992c2ece2fc38a5',1,'xb::xbDbf::PutDoubleField(xbInt16 FieldNo, xbDouble dFieldValue)'],['../classxb_1_1xbDbf.html#ae695bbc71c19abc71c0c5f2ff2e1f971',1,'xb::xbDbf::PutDoubleField(const xbString &amp;FieldName, xbDouble dFieldValue)']]],
+ ['putfield_10',['PutField',['../classxb_1_1xbDbf.html#a7862215dd2f83a1c488e539cd1f9aec0',1,'xb::xbDbf::PutField(const xbString &amp;sFieldName, const xbString &amp;sFieldData)'],['../classxb_1_1xbDbf.html#a142b0c0dc904917f3c68c5572c1237b5',1,'xb::xbDbf::PutField(xbInt16 iFieldNo, const xbString &amp;sFieldData)']]],
+ ['putfloatfield_11',['PutFloatField',['../classxb_1_1xbDbf.html#a64161eb50d72e424b11bf3732657ebd8',1,'xb::xbDbf::PutFloatField(xbInt16 iFieldNo, xbFloat fFieldValue)'],['../classxb_1_1xbDbf.html#a4ea3241bc710d57e5f755efda62288ad',1,'xb::xbDbf::PutFloatField(const xbString &amp;sFieldName, xbFloat fFieldValue)']]],
+ ['putlogicalfield_12',['PutLogicalField',['../classxb_1_1xbDbf.html#ab39ac4269ac63bc7ea4f638733bb17f0',1,'xb::xbDbf::PutLogicalField(xbInt16 iFieldNo, const xbString &amp;sFieldData)'],['../classxb_1_1xbDbf.html#a507e400ca6526a9e0391cf06dd6a014e',1,'xb::xbDbf::PutLogicalField(const xbString &amp;sFieldName, const xbString &amp;sFieldData)'],['../classxb_1_1xbDbf.html#a423a0cb7bd252cedf956ace4954f275d',1,'xb::xbDbf::PutLogicalField(xbInt16 iFieldNo, xbBool bFieldData)'],['../classxb_1_1xbDbf.html#a623ca3ef5520c42308c1a16b518e7ff3',1,'xb::xbDbf::PutLogicalField(const xbString &amp;sFieldName, xbBool bFieldData)']]],
+ ['putlongfield_13',['PutLongField',['../classxb_1_1xbDbf.html#a56c8f924284bf88aabf90b7930b4eb47',1,'xb::xbDbf::PutLongField(xbInt16 iFieldNo, xbInt32 lFieldValue)'],['../classxb_1_1xbDbf.html#a0692d1776a725c2f61d4c14677e9307c',1,'xb::xbDbf::PutLongField(const xbString &amp;sFieldName, xbInt32 lFieldValue)']]],
+ ['putrecord_14',['PutRecord',['../classxb_1_1xbDbf.html#a3c36a5ffbc7067a1abbcb526dd3b981d',1,'xb::xbDbf::PutRecord()'],['../classxb_1_1xbDbf.html#aacbc7bac3ea0c502ee75b838f4f0fcbf',1,'xb::xbDbf::PutRecord(xbUInt32 ulRecNo)']]],
+ ['putulongfield_15',['PutULongField',['../classxb_1_1xbDbf.html#ac62cb97c4e678c83f41788b1ae4d0381',1,'xb::xbDbf::PutULongField(const xbString &amp;sFieldNo, xbUInt32 lFieldValue)'],['../classxb_1_1xbDbf.html#af5dec5c9ff903efffdb0490a44d296d2',1,'xb::xbDbf::PutULongField(xbInt16 iFieldNo, xbUInt32 lFieldValue)']]]
+];
diff --git a/docs/doxygen/html/search/functions_f.html b/docs/doxygen/html/search/functions_f.html
new file mode 100644
index 0000000..d2ae3cf
--- /dev/null
+++ b/docs/doxygen/html/search/functions_f.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/functions_f.js b/docs/doxygen/html/search/functions_f.js
new file mode 100644
index 0000000..cdd92e0
--- /dev/null
+++ b/docs/doxygen/html/search/functions_f.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['readblock_0',['ReadBlock',['../classxb_1_1xbFile.html#aa1bb80340abc7a5c22f87f878e9dc825',1,'xb::xbFile::ReadBlock(xbUInt32 ulBlockNo, size_t readSize, void *buf)'],['../classxb_1_1xbFile.html#aef696b1c4c0ef5338e818599f695d485',1,'xb::xbFile::ReadBlock(xbUInt32 ulBlockNo, xbUInt32 ulBlockSize, size_t readSize, void *buf)']]],
+ ['readheader_1',['ReadHeader',['../classxb_1_1xbDbf.html#a060541addb5bb1f0fe12959ed6f66fb9',1,'xb::xbDbf']]],
+ ['recorddeleted_2',['RecordDeleted',['../classxb_1_1xbDbf.html#a94d7d626ba691fd4b740c034673e6fc6',1,'xb::xbDbf']]],
+ ['remove_3',['Remove',['../classxb_1_1xbString.html#afaac65eaa6d9ef1596d6a0e7b91ed0f2',1,'xb::xbString']]],
+ ['removetblfromtbllist_4',['RemoveTblFromTblList',['../classxb_1_1xbTblMgr.html#ac8eaef41acf08911b90f900aac8e70af',1,'xb::xbTblMgr::RemoveTblFromTblList(const xbString &amp;sTblAlias)'],['../classxb_1_1xbTblMgr.html#a3d82b6e73d5c0bc8cac22b9a260389c1',1,'xb::xbTblMgr::RemoveTblFromTblList(xbDbf *d)']]],
+ ['rename_5',['Rename',['../classxb_1_1xbDbf.html#aeeeb2eb5fabcd0f91d457df07b0e0708',1,'xb::xbDbf']]],
+ ['replace_6',['Replace',['../classxb_1_1xbString.html#ac721d643c60b5c5acf60c2bce99596fa',1,'xb::xbString']]],
+ ['resize_7',['Resize',['../classxb_1_1xbString.html#aa6d346ab04e5bb8852f0bb996163a35e',1,'xb::xbString']]],
+ ['rtrim_8',['Rtrim',['../classxb_1_1xbString.html#aaf330188d67c347ecae0d16f65b22077',1,'xb::xbString']]]
+];
diff --git a/docs/doxygen/html/search/mag_sel.svg b/docs/doxygen/html/search/mag_sel.svg
new file mode 100644
index 0000000..03626f6
--- /dev/null
+++ b/docs/doxygen/html/search/mag_sel.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="svg2"
+ width="20"
+ height="19"
+ viewBox="0 0 20 19"
+ sodipodi:docname="mag_sel.svg"
+ inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6" />
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="2096"
+ id="namedview4"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:zoom="32"
+ inkscape:cx="5.9792688"
+ inkscape:cy="1.1436277"
+ inkscape:window-x="1920"
+ inkscape:window-y="27"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2" />
+ <circle
+ style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path4611"
+ cx="5.5"
+ cy="8.5"
+ r="3.5" />
+ <path
+ style="fill:#656565;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 11,7 13.5,10 16,7 Z"
+ id="path4609"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8.1085854,11.109059 2.7823556,2.782356"
+ id="path4630"
+ inkscape:connector-curvature="0" />
+</svg>
diff --git a/docs/doxygen/html/search/namespaces_0.html b/docs/doxygen/html/search/namespaces_0.html
new file mode 100644
index 0000000..c6a0d24
--- /dev/null
+++ b/docs/doxygen/html/search/namespaces_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="namespaces_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/namespaces_0.js b/docs/doxygen/html/search/namespaces_0.js
new file mode 100644
index 0000000..e3c1eff
--- /dev/null
+++ b/docs/doxygen/html/search/namespaces_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['xb_0',['xb',['../namespacexb.html',1,'']]]
+];
diff --git a/docs/doxygen/html/search/nomatches.html b/docs/doxygen/html/search/nomatches.html
new file mode 100644
index 0000000..2b9360b
--- /dev/null
+++ b/docs/doxygen/html/search/nomatches.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/related_0.html b/docs/doxygen/html/search/related_0.html
new file mode 100644
index 0000000..28d304b
--- /dev/null
+++ b/docs/doxygen/html/search/related_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="related_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/related_0.js b/docs/doxygen/html/search/related_0.js
new file mode 100644
index 0000000..ff26086
--- /dev/null
+++ b/docs/doxygen/html/search/related_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['operator_3c_3c_0',['operator&lt;&lt;',['../classxb_1_1xbString.html#a3fa915061156521e9dd772a8d7e5f8fb',1,'xb::xbString']]]
+];
diff --git a/docs/doxygen/html/search/related_1.html b/docs/doxygen/html/search/related_1.html
new file mode 100644
index 0000000..64586cd
--- /dev/null
+++ b/docs/doxygen/html/search/related_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="related_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/related_1.js b/docs/doxygen/html/search/related_1.js
new file mode 100644
index 0000000..ffc5eef
--- /dev/null
+++ b/docs/doxygen/html/search/related_1.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['xbbcd_0',['xbBcd',['../classxb_1_1xbXBase.html#a86a53ce3efbf910996df0f853f1c0add',1,'xb::xbXBase']]],
+ ['xbexp_1',['xbExp',['../classxb_1_1xbXBase.html#a3c3e5617be811d732472fe2cc8fb18cc',1,'xb::xbXBase']]]
+];
diff --git a/docs/doxygen/html/search/search.css b/docs/doxygen/html/search/search.css
new file mode 100644
index 0000000..648a792
--- /dev/null
+++ b/docs/doxygen/html/search/search.css
@@ -0,0 +1,263 @@
+/*---------------- Search Box */
+
+#MSearchBox {
+ white-space : nowrap;
+ background: white;
+ border-radius: 0.65em;
+ box-shadow: inset 0.5px 0.5px 3px 0px #555;
+ z-index: 102;
+}
+
+#MSearchBox .left {
+ display: inline-block;
+ vertical-align: middle;
+ height: 1.4em;
+}
+
+#MSearchSelect {
+ display: inline-block;
+ vertical-align: middle;
+ height: 19px;
+ padding: 0 0 0 0.3em;
+ margin: 0;
+}
+
+#MSearchField {
+ display: inline-block;
+ vertical-align: middle;
+ width: 7.5em;
+ height: 19px;
+ margin: 0 0.15em;
+ padding: 0;
+ line-height: 1em;
+ border:none;
+ color: #909090;
+ outline: none;
+ font-family: Arial, Verdana, sans-serif;
+ -webkit-border-radius: 0px;
+ border-radius: 0px;
+ background: none;
+}
+
+@media(hover: none) {
+ /* to avoid zooming on iOS */
+ #MSearchField {
+ font-size: 16px;
+ }
+}
+
+#MSearchBox .right {
+ display: inline-block;
+ vertical-align: middle;
+ width: 1.4em;
+ height: 1.4em;
+}
+
+#MSearchClose {
+ display: none;
+ font-size: inherit;
+ background : none;
+ border: none;
+ margin: 0;
+ padding: 0;
+ outline: none;
+
+}
+
+#MSearchCloseImg {
+ height: 1.4em;
+ padding: 0.3em;
+ margin: 0;
+}
+
+.MSearchBoxActive #MSearchField {
+ color: #000000;
+}
+
+#main-menu > li:last-child {
+ /* This <li> object is the parent of the search bar */
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 36px;
+ margin-right: 1em;
+}
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #90A5CE;
+ background-color: #F9FAFC;
+ z-index: 10001;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ -moz-border-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+ font: 8pt Arial, Verdana, sans-serif;
+ padding-left: 2px;
+ padding-right: 12px;
+ border: 0px;
+}
+
+span.SelectionMark {
+ margin-right: 4px;
+ font-family: monospace;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem {
+ display: block;
+ outline-style: none;
+ color: #000000;
+ text-decoration: none;
+ padding-left: 6px;
+ padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+ color: #000000;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem:hover {
+ color: #FFFFFF;
+ background-color: #3D578C;
+ outline-style: none;
+ text-decoration: none;
+ cursor: pointer;
+ display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+ /*width: 60ex;*/
+ height: 15em;
+}
+
+#MSearchResultsWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #000;
+ background-color: #EEF1F7;
+ z-index:10000;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+ clear:both;
+ padding-bottom: 15px;
+}
+
+.SREntry {
+ font-size: 10pt;
+ padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+ font-size: 8pt;
+ padding: 1px 5px;
+}
+
+body.SRPage {
+ margin: 5px 2px;
+}
+
+.SRChildren {
+ padding-left: 3ex; padding-bottom: .5em
+}
+
+.SRPage .SRChildren {
+ display: none;
+}
+
+.SRSymbol {
+ font-weight: bold;
+ color: #425E97;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRScope {
+ display: block;
+ color: #425E97;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+ text-decoration: underline;
+}
+
+span.SRScope {
+ padding-left: 4px;
+ font-family: Arial, Verdana, sans-serif;
+}
+
+.SRPage .SRStatus {
+ padding: 2px 5px;
+ font-size: 8pt;
+ font-style: italic;
+ font-family: Arial, Verdana, sans-serif;
+}
+
+.SRResult {
+ display: none;
+}
+
+div.searchresults {
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+/*---------------- External search page results */
+
+.searchresult {
+ background-color: #F0F3F8;
+}
+
+.pages b {
+ color: white;
+ padding: 5px 5px 3px 5px;
+ background-image: url("../tab_a.png");
+ background-repeat: repeat-x;
+ text-shadow: 0 1px 1px #000000;
+}
+
+.pages {
+ line-height: 17px;
+ margin-left: 4px;
+ text-decoration: none;
+}
+
+.hl {
+ font-weight: bold;
+}
+
+#searchresults {
+ margin-bottom: 20px;
+}
+
+.searchpages {
+ margin-top: 10px;
+}
+
diff --git a/docs/doxygen/html/search/search.js b/docs/doxygen/html/search/search.js
new file mode 100644
index 0000000..ac8055d
--- /dev/null
+++ b/docs/doxygen/html/search/search.js
@@ -0,0 +1,794 @@
+/*
+ @licstart The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend The above is the entire license notice for the JavaScript code in this file
+ */
+function convertToId(search)
+{
+ var result = '';
+ for (i=0;i<search.length;i++)
+ {
+ var c = search.charAt(i);
+ var cn = c.charCodeAt(0);
+ if (c.match(/[a-z0-9\u0080-\uFFFF]/))
+ {
+ result+=c;
+ }
+ else if (cn<16)
+ {
+ result+="_0"+cn.toString(16);
+ }
+ else
+ {
+ result+="_"+cn.toString(16);
+ }
+ }
+ return result;
+}
+
+function getXPos(item)
+{
+ var x = 0;
+ if (item.offsetWidth)
+ {
+ while (item && item!=document.body)
+ {
+ x += item.offsetLeft;
+ item = item.offsetParent;
+ }
+ }
+ return x;
+}
+
+function getYPos(item)
+{
+ var y = 0;
+ if (item.offsetWidth)
+ {
+ while (item && item!=document.body)
+ {
+ y += item.offsetTop;
+ item = item.offsetParent;
+ }
+ }
+ return y;
+}
+
+/* A class handling everything associated with the search panel.
+
+ Parameters:
+ name - The name of the global variable that will be
+ storing this instance. Is needed to be able to set timeouts.
+ resultPath - path to use for external files
+*/
+function SearchBox(name, resultsPath, label, extension)
+{
+ if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
+ if (!extension || extension == "") { extension = ".html"; }
+
+ // ---------- Instance variables
+ this.name = name;
+ this.resultsPath = resultsPath;
+ this.keyTimeout = 0;
+ this.keyTimeoutLength = 500;
+ this.closeSelectionTimeout = 300;
+ this.lastSearchValue = "";
+ this.lastResultsPage = "";
+ this.hideTimeout = 0;
+ this.searchIndex = 0;
+ this.searchActive = false;
+ this.searchLabel = label;
+ this.extension = extension;
+
+ // ----------- DOM Elements
+
+ this.DOMSearchField = function()
+ { return document.getElementById("MSearchField"); }
+
+ this.DOMSearchSelect = function()
+ { return document.getElementById("MSearchSelect"); }
+
+ this.DOMSearchSelectWindow = function()
+ { return document.getElementById("MSearchSelectWindow"); }
+
+ this.DOMPopupSearchResults = function()
+ { return document.getElementById("MSearchResults"); }
+
+ this.DOMPopupSearchResultsWindow = function()
+ { return document.getElementById("MSearchResultsWindow"); }
+
+ this.DOMSearchClose = function()
+ { return document.getElementById("MSearchClose"); }
+
+ this.DOMSearchBox = function()
+ { return document.getElementById("MSearchBox"); }
+
+ // ------------ Event Handlers
+
+ // Called when focus is added or removed from the search field.
+ this.OnSearchFieldFocus = function(isActive)
+ {
+ this.Activate(isActive);
+ }
+
+ this.OnSearchSelectShow = function()
+ {
+ var searchSelectWindow = this.DOMSearchSelectWindow();
+ var searchField = this.DOMSearchSelect();
+
+ var left = getXPos(searchField);
+ var top = getYPos(searchField);
+ top += searchField.offsetHeight;
+
+ // show search selection popup
+ searchSelectWindow.style.display='block';
+ searchSelectWindow.style.left = left + 'px';
+ searchSelectWindow.style.top = top + 'px';
+
+ // stop selection hide timer
+ if (this.hideTimeout)
+ {
+ clearTimeout(this.hideTimeout);
+ this.hideTimeout=0;
+ }
+ return false; // to avoid "image drag" default event
+ }
+
+ this.OnSearchSelectHide = function()
+ {
+ this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
+ this.closeSelectionTimeout);
+ }
+
+ // Called when the content of the search field is changed.
+ this.OnSearchFieldChange = function(evt)
+ {
+ if (this.keyTimeout) // kill running timer
+ {
+ clearTimeout(this.keyTimeout);
+ this.keyTimeout = 0;
+ }
+
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==40 || e.keyCode==13)
+ {
+ if (e.shiftKey==1)
+ {
+ this.OnSearchSelectShow();
+ var win=this.DOMSearchSelectWindow();
+ for (i=0;i<win.childNodes.length;i++)
+ {
+ var child = win.childNodes[i]; // get span within a
+ if (child.className=='SelectItem')
+ {
+ child.focus();
+ return;
+ }
+ }
+ return;
+ }
+ else
+ {
+ window.frames.MSearchResults.postMessage("take_focus", "*");
+ }
+ }
+ else if (e.keyCode==27) // Escape out of the search field
+ {
+ this.DOMSearchField().blur();
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.lastSearchValue = '';
+ this.Activate(false);
+ return;
+ }
+
+ // strip whitespaces
+ var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+ if (searchValue != this.lastSearchValue) // search value has changed
+ {
+ if (searchValue != "") // non-empty search
+ {
+ // set timer for search update
+ this.keyTimeout = setTimeout(this.name + '.Search()',
+ this.keyTimeoutLength);
+ }
+ else // empty search field
+ {
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.lastSearchValue = '';
+ }
+ }
+ }
+
+ this.SelectItemCount = function(id)
+ {
+ var count=0;
+ var win=this.DOMSearchSelectWindow();
+ for (i=0;i<win.childNodes.length;i++)
+ {
+ var child = win.childNodes[i]; // get span within a
+ if (child.className=='SelectItem')
+ {
+ count++;
+ }
+ }
+ return count;
+ }
+
+ this.SelectItemSet = function(id)
+ {
+ var i,j=0;
+ var win=this.DOMSearchSelectWindow();
+ for (i=0;i<win.childNodes.length;i++)
+ {
+ var child = win.childNodes[i]; // get span within a
+ if (child.className=='SelectItem')
+ {
+ var node = child.firstChild;
+ if (j==id)
+ {
+ node.innerHTML='&#8226;';
+ }
+ else
+ {
+ node.innerHTML='&#160;';
+ }
+ j++;
+ }
+ }
+ }
+
+ // Called when an search filter selection is made.
+ // set item with index id as the active item
+ this.OnSelectItem = function(id)
+ {
+ this.searchIndex = id;
+ this.SelectItemSet(id);
+ var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+ if (searchValue!="" && this.searchActive) // something was found -> do a search
+ {
+ this.Search();
+ }
+ }
+
+ this.OnSearchSelectKey = function(evt)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
+ {
+ this.searchIndex++;
+ this.OnSelectItem(this.searchIndex);
+ }
+ else if (e.keyCode==38 && this.searchIndex>0) // Up
+ {
+ this.searchIndex--;
+ this.OnSelectItem(this.searchIndex);
+ }
+ else if (e.keyCode==13 || e.keyCode==27)
+ {
+ this.OnSelectItem(this.searchIndex);
+ this.CloseSelectionWindow();
+ this.DOMSearchField().focus();
+ }
+ return false;
+ }
+
+ // --------- Actions
+
+ // Closes the results window.
+ this.CloseResultsWindow = function()
+ {
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.Activate(false);
+ }
+
+ this.CloseSelectionWindow = function()
+ {
+ this.DOMSearchSelectWindow().style.display = 'none';
+ }
+
+ // Performs a search.
+ this.Search = function()
+ {
+ this.keyTimeout = 0;
+
+ // strip leading whitespace
+ var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+
+ var code = searchValue.toLowerCase().charCodeAt(0);
+ var idxChar = searchValue.substr(0, 1).toLowerCase();
+ if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
+ {
+ idxChar = searchValue.substr(0, 2);
+ }
+
+ var resultsPage;
+ var resultsPageWithSearch;
+ var hasResultsPage;
+
+ var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
+ if (idx!=-1)
+ {
+ var hexCode=idx.toString(16);
+ resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension;
+ resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+ hasResultsPage = true;
+ }
+ else // nothing available for this search term
+ {
+ resultsPage = this.resultsPath + '/nomatches' + this.extension;
+ resultsPageWithSearch = resultsPage;
+ hasResultsPage = false;
+ }
+
+ window.frames.MSearchResults.location = resultsPageWithSearch;
+ var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+ if (domPopupSearchResultsWindow.style.display!='block')
+ {
+ var domSearchBox = this.DOMSearchBox();
+ this.DOMSearchClose().style.display = 'inline-block';
+ var domPopupSearchResults = this.DOMPopupSearchResults();
+ var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
+ var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
+ domPopupSearchResultsWindow.style.display = 'block';
+ left -= domPopupSearchResults.offsetWidth;
+ var maxWidth = document.body.clientWidth;
+ var width = 400;
+ if (left<10) left=10;
+ if (width+left+8>maxWidth) width=maxWidth-left-8;
+ domPopupSearchResultsWindow.style.top = top + 'px';
+ domPopupSearchResultsWindow.style.left = left + 'px';
+ domPopupSearchResultsWindow.style.width = width + 'px';
+ }
+
+ this.lastSearchValue = searchValue;
+ this.lastResultsPage = resultsPage;
+ }
+
+ // -------- Activation Functions
+
+ // Activates or deactivates the search panel, resetting things to
+ // their default values if necessary.
+ this.Activate = function(isActive)
+ {
+ if (isActive || // open it
+ this.DOMPopupSearchResultsWindow().style.display == 'block'
+ )
+ {
+ this.DOMSearchBox().className = 'MSearchBoxActive';
+
+ var searchField = this.DOMSearchField();
+
+ if (searchField.value == this.searchLabel) // clear "Search" term upon entry
+ {
+ searchField.value = '';
+ this.searchActive = true;
+ }
+ }
+ else if (!isActive) // directly remove the panel
+ {
+ this.DOMSearchBox().className = 'MSearchBoxInactive';
+ this.DOMSearchField().value = this.searchLabel;
+ this.searchActive = false;
+ this.lastSearchValue = ''
+ this.lastResultsPage = '';
+ }
+ }
+}
+
+// -----------------------------------------------------------------------
+
+// The class that handles everything on the search results page.
+function SearchResults(name)
+{
+ // The number of matches from the last run of <Search()>.
+ this.lastMatchCount = 0;
+ this.lastKey = 0;
+ this.repeatOn = false;
+
+ // Toggles the visibility of the passed element ID.
+ this.FindChildElement = function(id)
+ {
+ var parentElement = document.getElementById(id);
+ var element = parentElement.firstChild;
+
+ while (element && element!=parentElement)
+ {
+ if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren')
+ {
+ return element;
+ }
+
+ if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes())
+ {
+ element = element.firstChild;
+ }
+ else if (element.nextSibling)
+ {
+ element = element.nextSibling;
+ }
+ else
+ {
+ do
+ {
+ element = element.parentNode;
+ }
+ while (element && element!=parentElement && !element.nextSibling);
+
+ if (element && element!=parentElement)
+ {
+ element = element.nextSibling;
+ }
+ }
+ }
+ }
+
+ this.Toggle = function(id)
+ {
+ var element = this.FindChildElement(id);
+ if (element)
+ {
+ if (element.style.display == 'block')
+ {
+ element.style.display = 'none';
+ }
+ else
+ {
+ element.style.display = 'block';
+ }
+ }
+ }
+
+ // Searches for the passed string. If there is no parameter,
+ // it takes it from the URL query.
+ //
+ // Always returns true, since other documents may try to call it
+ // and that may or may not be possible.
+ this.Search = function(search)
+ {
+ if (!search) // get search word from URL
+ {
+ search = window.location.search;
+ search = search.substring(1); // Remove the leading '?'
+ search = unescape(search);
+ }
+
+ search = search.replace(/^ +/, ""); // strip leading spaces
+ search = search.replace(/ +$/, ""); // strip trailing spaces
+ search = search.toLowerCase();
+ search = convertToId(search);
+
+ var resultRows = document.getElementsByTagName("div");
+ var matches = 0;
+
+ var i = 0;
+ while (i < resultRows.length)
+ {
+ var row = resultRows.item(i);
+ if (row.className == "SRResult")
+ {
+ var rowMatchName = row.id.toLowerCase();
+ rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+ if (search.length<=rowMatchName.length &&
+ rowMatchName.substr(0, search.length)==search)
+ {
+ row.style.display = 'block';
+ matches++;
+ }
+ else
+ {
+ row.style.display = 'none';
+ }
+ }
+ i++;
+ }
+ document.getElementById("Searching").style.display='none';
+ if (matches == 0) // no results
+ {
+ document.getElementById("NoMatches").style.display='block';
+ }
+ else // at least one result
+ {
+ document.getElementById("NoMatches").style.display='none';
+ }
+ this.lastMatchCount = matches;
+ return true;
+ }
+
+ // return the first item with index index or higher that is visible
+ this.NavNext = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index++;
+ }
+ return focusItem;
+ }
+
+ this.NavPrev = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index--;
+ }
+ return focusItem;
+ }
+
+ this.ProcessKeys = function(e)
+ {
+ if (e.type == "keydown")
+ {
+ this.repeatOn = false;
+ this.lastKey = e.keyCode;
+ }
+ else if (e.type == "keypress")
+ {
+ if (!this.repeatOn)
+ {
+ if (this.lastKey) this.repeatOn = true;
+ return false; // ignore first keypress after keydown
+ }
+ }
+ else if (e.type == "keyup")
+ {
+ this.lastKey = 0;
+ this.repeatOn = false;
+ }
+ return this.lastKey!=0;
+ }
+
+ this.Nav = function(evt,itemIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ var newIndex = itemIndex-1;
+ var focusItem = this.NavPrev(newIndex);
+ if (focusItem)
+ {
+ var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+ if (child && child.style.display == 'block') // children visible
+ {
+ var n=0;
+ var tmpElem;
+ while (1) // search for last child
+ {
+ tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+ if (tmpElem)
+ {
+ focusItem = tmpElem;
+ }
+ else // found it!
+ {
+ break;
+ }
+ n++;
+ }
+ }
+ }
+ if (focusItem)
+ {
+ focusItem.focus();
+ }
+ else // return focus to search field
+ {
+ parent.document.getElementById("MSearchField").focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = itemIndex+1;
+ var focusItem;
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem && elem.style.display == 'block') // children visible
+ {
+ focusItem = document.getElementById('Item'+itemIndex+'_c0');
+ }
+ if (!focusItem) focusItem = this.NavNext(newIndex);
+ if (focusItem) focusItem.focus();
+ }
+ else if (this.lastKey==39) // Right
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'block';
+ }
+ else if (this.lastKey==37) // Left
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'none';
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ parent.searchBox.CloseResultsWindow();
+ parent.document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+
+ this.NavChild = function(evt,itemIndex,childIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ if (childIndex>0)
+ {
+ var newIndex = childIndex-1;
+ document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+ }
+ else // already at first child, jump to parent
+ {
+ document.getElementById('Item'+itemIndex).focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = childIndex+1;
+ var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+ if (!elem) // last child, jump to parent next parent
+ {
+ elem = this.NavNext(itemIndex+1);
+ }
+ if (elem)
+ {
+ elem.focus();
+ }
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ parent.searchBox.CloseResultsWindow();
+ parent.document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+}
+
+function setKeyActions(elem,action)
+{
+ elem.setAttribute('onkeydown',action);
+ elem.setAttribute('onkeypress',action);
+ elem.setAttribute('onkeyup',action);
+}
+
+function setClassAttr(elem,attr)
+{
+ elem.setAttribute('class',attr);
+ elem.setAttribute('className',attr);
+}
+
+function createResults()
+{
+ var results = document.getElementById("SRResults");
+ for (var e=0; e<searchData.length; e++)
+ {
+ var id = searchData[e][0];
+ var srResult = document.createElement('div');
+ srResult.setAttribute('id','SR_'+id);
+ setClassAttr(srResult,'SRResult');
+ var srEntry = document.createElement('div');
+ setClassAttr(srEntry,'SREntry');
+ var srLink = document.createElement('a');
+ srLink.setAttribute('id','Item'+e);
+ setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
+ setClassAttr(srLink,'SRSymbol');
+ srLink.innerHTML = searchData[e][1][0];
+ srEntry.appendChild(srLink);
+ if (searchData[e][1].length==2) // single result
+ {
+ srLink.setAttribute('href',searchData[e][1][1][0]);
+ srLink.setAttribute('onclick','parent.searchBox.CloseResultsWindow()');
+ if (searchData[e][1][1][1])
+ {
+ srLink.setAttribute('target','_parent');
+ }
+ var srScope = document.createElement('span');
+ setClassAttr(srScope,'SRScope');
+ srScope.innerHTML = searchData[e][1][1][2];
+ srEntry.appendChild(srScope);
+ }
+ else // multiple results
+ {
+ srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
+ var srChildren = document.createElement('div');
+ setClassAttr(srChildren,'SRChildren');
+ for (var c=0; c<searchData[e][1].length-1; c++)
+ {
+ var srChild = document.createElement('a');
+ srChild.setAttribute('id','Item'+e+'_c'+c);
+ setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
+ setClassAttr(srChild,'SRScope');
+ srChild.setAttribute('href',searchData[e][1][c+1][0]);
+ srChild.setAttribute('onclick','parent.searchBox.CloseResultsWindow()');
+ if (searchData[e][1][c+1][1])
+ {
+ srChild.setAttribute('target','_parent');
+ }
+ srChild.innerHTML = searchData[e][1][c+1][2];
+ srChildren.appendChild(srChild);
+ }
+ srEntry.appendChild(srChildren);
+ }
+ srResult.appendChild(srEntry);
+ results.appendChild(srResult);
+ }
+}
+
+function init_search()
+{
+ var results = document.getElementById("MSearchSelectWindow");
+ for (var key in indexSectionLabels)
+ {
+ var link = document.createElement('a');
+ link.setAttribute('class','SelectItem');
+ link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
+ link.href='javascript:void(0)';
+ link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
+ results.appendChild(link);
+ }
+ searchBox.OnSelectItem(0);
+}
+/* @license-end */
diff --git a/docs/doxygen/html/search/search_l.png b/docs/doxygen/html/search/search_l.png
new file mode 100644
index 0000000..fd5f7da
--- /dev/null
+++ b/docs/doxygen/html/search/search_l.png
Binary files differ
diff --git a/docs/doxygen/html/search/search_m.png b/docs/doxygen/html/search/search_m.png
new file mode 100644
index 0000000..b429a16
--- /dev/null
+++ b/docs/doxygen/html/search/search_m.png
Binary files differ
diff --git a/docs/doxygen/html/search/search_r.png b/docs/doxygen/html/search/search_r.png
new file mode 100644
index 0000000..1af5d21
--- /dev/null
+++ b/docs/doxygen/html/search/search_r.png
Binary files differ
diff --git a/docs/doxygen/html/search/searchdata.js b/docs/doxygen/html/search/searchdata.js
new file mode 100644
index 0000000..910add8
--- /dev/null
+++ b/docs/doxygen/html/search/searchdata.js
@@ -0,0 +1,39 @@
+var indexSectionsWithContent =
+{
+ 0: "abcdefghijlmnoprstuvwxyz~",
+ 1: "sx",
+ 2: "x",
+ 3: "tx",
+ 4: "abcdefghijlmnoprstuvwxyz~",
+ 5: "ceimnprstux",
+ 6: "x",
+ 7: "ox",
+ 8: "jlvx"
+};
+
+var indexSectionNames =
+{
+ 0: "all",
+ 1: "classes",
+ 2: "namespaces",
+ 3: "files",
+ 4: "functions",
+ 5: "variables",
+ 6: "typedefs",
+ 7: "related",
+ 8: "defines"
+};
+
+var indexSectionLabels =
+{
+ 0: "All",
+ 1: "Data Structures",
+ 2: "Namespaces",
+ 3: "Files",
+ 4: "Functions",
+ 5: "Variables",
+ 6: "Typedefs",
+ 7: "Friends",
+ 8: "Macros"
+};
+
diff --git a/docs/doxygen/html/search/typedefs_0.html b/docs/doxygen/html/search/typedefs_0.html
new file mode 100644
index 0000000..882b2a1
--- /dev/null
+++ b/docs/doxygen/html/search/typedefs_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="typedefs_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/typedefs_0.js b/docs/doxygen/html/search/typedefs_0.js
new file mode 100644
index 0000000..ab1907c
--- /dev/null
+++ b/docs/doxygen/html/search/typedefs_0.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['xbbool_0',['xbBool',['../namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f',1,'xb']]],
+ ['xbdouble_1',['xbDouble',['../namespacexb.html#a25f47b226ce924a5c78f97989b0744a2',1,'xb']]],
+ ['xbfloat_2',['xbFloat',['../namespacexb.html#a83aa6a550398db55973aa9fb4257e66e',1,'xb']]],
+ ['xbofft_3',['xbOffT',['../namespacexb.html#ac963d9fde6debb416303cfbed35fb793',1,'xb']]]
+];
diff --git a/docs/doxygen/html/search/variables_0.html b/docs/doxygen/html/search/variables_0.html
new file mode 100644
index 0000000..950bfc5
--- /dev/null
+++ b/docs/doxygen/html/search/variables_0.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/variables_0.js b/docs/doxygen/html/search/variables_0.js
new file mode 100644
index 0000000..cfc8fca
--- /dev/null
+++ b/docs/doxygen/html/search/variables_0.js
@@ -0,0 +1,14 @@
+var searchData=
+[
+ ['cencryptionflag_0',['cEncryptionFlag',['../classxb_1_1xbDbf.html#a8734e799707582f022fc341d515650f4',1,'xb::xbDbf']]],
+ ['cfieldname_1',['cFieldName',['../structxb_1_1xbSchema.html#a514183856094123fd37df67885b4681e',1,'xb::xbSchema']]],
+ ['cfldtype_2',['cFldType',['../structsFldMap.html#af89b26b2d4bc6e26c597f8c48b97b1a3',1,'sFldMap']]],
+ ['cindexflag_3',['cIndexFlag',['../classxb_1_1xbDbf.html#ad59074633641e03647e54d2b66c9102b',1,'xb::xbDbf']]],
+ ['clangdriver_4',['cLangDriver',['../classxb_1_1xbDbf.html#aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1',1,'xb::xbDbf']]],
+ ['ctransactionflag_5',['cTransactionFlag',['../classxb_1_1xbDbf.html#ac3c89fc3bc6a6abf385478a8adbed970',1,'xb::xbDbf']]],
+ ['ctype_6',['cType',['../structxb_1_1xbSchema.html#a1d612b2ed5dc0b0289c9e91b3cda3a25',1,'xb::xbSchema']]],
+ ['cupdatedd_7',['cUpdateDD',['../classxb_1_1xbDbf.html#a6021789d314cd41488991e708fcd0df2',1,'xb::xbDbf']]],
+ ['cupdatemm_8',['cUpdateMM',['../classxb_1_1xbDbf.html#a9340a5e8ee53eb0f3b6601eec2d71e1b',1,'xb::xbDbf']]],
+ ['cupdateyy_9',['cUpdateYY',['../classxb_1_1xbDbf.html#a4fcd6a86ddd32d4a9d76a4074573440a',1,'xb::xbDbf']]],
+ ['cversion_10',['cVersion',['../classxb_1_1xbDbf.html#a3a262abf658e5fa968b57ef457a69470',1,'xb::xbDbf']]]
+];
diff --git a/docs/doxygen/html/search/variables_1.html b/docs/doxygen/html/search/variables_1.html
new file mode 100644
index 0000000..fed58a5
--- /dev/null
+++ b/docs/doxygen/html/search/variables_1.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/variables_1.js b/docs/doxygen/html/search/variables_1.js
new file mode 100644
index 0000000..02ce92e
--- /dev/null
+++ b/docs/doxygen/html/search/variables_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['errorcodetext_0',['ErrorCodeText',['../classxb_1_1xbSsv.html#a6219f1b5e24ea12fe158cd5aea56988e',1,'xb::xbSsv']]]
+];
diff --git a/docs/doxygen/html/search/variables_2.html b/docs/doxygen/html/search/variables_2.html
new file mode 100644
index 0000000..761c194
--- /dev/null
+++ b/docs/doxygen/html/search/variables_2.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/variables_2.js b/docs/doxygen/html/search/variables_2.js
new file mode 100644
index 0000000..1f104fd
--- /dev/null
+++ b/docs/doxygen/html/search/variables_2.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['iautocommit_0',['iAutoCommit',['../classxb_1_1xbDbf.html#ab506450954bc86e7bf1d7c4efe681f43',1,'xb::xbDbf']]],
+ ['idbfstatus_1',['iDbfStatus',['../classxb_1_1xbDbf.html#a6d8e193da3ca414eef1e8866ec5ca81b',1,'xb::xbDbf']]],
+ ['iendiantype_2',['iEndianType',['../classxb_1_1xbSsv.html#a5849e813f5e8e1cd180f0366637adbf3',1,'xb::xbSsv']]],
+ ['ifieldlen_3',['iFieldLen',['../structxb_1_1xbSchema.html#a2da554af25ef628acf59bb52996056ac',1,'xb::xbSchema']]],
+ ['ifileversion_4',['iFileVersion',['../classxb_1_1xbDbf.html#a15f495446f0d75bcf2fa89e3b699d388',1,'xb::xbDbf']]],
+ ['ifldno_5',['iFldNo',['../structsFldMap.html#a42eb801a85d8b60f06c4fe1be13ca723',1,'sFldMap']]],
+ ['inoofdecs_6',['iNoOfDecs',['../structxb_1_1xbSchema.html#a55bab3bb69dee3508d168c93e182d4b9',1,'xb::xbSchema']]],
+ ['inooffields_7',['iNoOfFields',['../classxb_1_1xbDbf.html#a5056757614c39f725cc775332494966a',1,'xb::xbDbf']]],
+ ['irecpos_8',['iRecPos',['../structsFldMap.html#a02facce45c24ebecc13975c17fd52b8f',1,'sFldMap']]]
+];
diff --git a/docs/doxygen/html/search/variables_3.html b/docs/doxygen/html/search/variables_3.html
new file mode 100644
index 0000000..78bfe03
--- /dev/null
+++ b/docs/doxygen/html/search/variables_3.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/variables_3.js b/docs/doxygen/html/search/variables_3.js
new file mode 100644
index 0000000..7708e94
--- /dev/null
+++ b/docs/doxygen/html/search/variables_3.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['mydbfrec_0',['MyDbfRec',['../xb__test__blockread_8cpp.html#af68c3291a63fdf20ffa0e477460d148e',1,'xb_test_blockread.cpp']]],
+ ['myv4record_1',['MyV4Record',['../xb__ex__expression_8cpp.html#a2122b9562802e2fd799b20454000dc99',1,'xb_ex_expression.cpp']]]
+];
diff --git a/docs/doxygen/html/search/variables_4.html b/docs/doxygen/html/search/variables_4.html
new file mode 100644
index 0000000..4d608da
--- /dev/null
+++ b/docs/doxygen/html/search/variables_4.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/variables_4.js b/docs/doxygen/html/search/variables_4.js
new file mode 100644
index 0000000..25cb177
--- /dev/null
+++ b/docs/doxygen/html/search/variables_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['next_0',['next',['../structsFldMap.html#a16eaff8fc09adc3faf453bfaa0d3baaa',1,'sFldMap']]]
+];
diff --git a/docs/doxygen/html/search/variables_5.html b/docs/doxygen/html/search/variables_5.html
new file mode 100644
index 0000000..6342402
--- /dev/null
+++ b/docs/doxygen/html/search/variables_5.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/variables_5.js b/docs/doxygen/html/search/variables_5.js
new file mode 100644
index 0000000..946d73a
--- /dev/null
+++ b/docs/doxygen/html/search/variables_5.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['pdbf_0',['pDbf',['../structxb_1_1xbTblList.html#a387d3f6bbf291a1fb96d276ed9bb96b6',1,'xb::xbTblList']]],
+ ['pnext_1',['pNext',['../structxb_1_1xbTblList.html#a3fd169fcf0fd4df927544e5342db583c',1,'xb::xbTblList']]],
+ ['psfqtblname_2',['psFqTblName',['../structxb_1_1xbTblList.html#aceec65f6f6b585788cf98e8dabd2737d',1,'xb::xbTblList']]],
+ ['pstblalias_3',['psTblAlias',['../structxb_1_1xbTblList.html#ac87742c8a6b1cf2e7e35218e96966a05',1,'xb::xbTblList']]],
+ ['pstblname_4',['psTblName',['../structxb_1_1xbTblList.html#a02c3b0c47fd104ef9758b375ecdcfd0f',1,'xb::xbTblList']]]
+];
diff --git a/docs/doxygen/html/search/variables_6.html b/docs/doxygen/html/search/variables_6.html
new file mode 100644
index 0000000..80db039
--- /dev/null
+++ b/docs/doxygen/html/search/variables_6.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/variables_6.js b/docs/doxygen/html/search/variables_6.js
new file mode 100644
index 0000000..9dde579
--- /dev/null
+++ b/docs/doxygen/html/search/variables_6.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['recbuf_0',['RecBuf',['../classxb_1_1xbDbf.html#a8a9b3bce0b741e73473d3ebbd6e6f1cd',1,'xb::xbDbf']]],
+ ['recbuf2_1',['RecBuf2',['../classxb_1_1xbDbf.html#a353ebfc8a2960ef827f429ec74025606',1,'xb::xbDbf']]]
+];
diff --git a/docs/doxygen/html/search/variables_7.html b/docs/doxygen/html/search/variables_7.html
new file mode 100644
index 0000000..bf8eb38
--- /dev/null
+++ b/docs/doxygen/html/search/variables_7.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/variables_7.js b/docs/doxygen/html/search/variables_7.js
new file mode 100644
index 0000000..f1b6b71
--- /dev/null
+++ b/docs/doxygen/html/search/variables_7.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['salias_0',['sAlias',['../classxb_1_1xbDbf.html#a73f9c792d0a769e2e604c1855245a276',1,'xb::xbDbf']]],
+ ['schemaptr_1',['SchemaPtr',['../classxb_1_1xbDbf.html#ad8c8b5eb12063bb898da1b2cc02cfce7',1,'xb::xbDbf']]],
+ ['snullstring_2',['sNullString',['../classxb_1_1xbSsv.html#a9dec3164c3b264882df634915ecf21da',1,'xb::xbSsv']]]
+];
diff --git a/docs/doxygen/html/search/variables_8.html b/docs/doxygen/html/search/variables_8.html
new file mode 100644
index 0000000..92a55e9
--- /dev/null
+++ b/docs/doxygen/html/search/variables_8.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/variables_8.js b/docs/doxygen/html/search/variables_8.js
new file mode 100644
index 0000000..2369f5c
--- /dev/null
+++ b/docs/doxygen/html/search/variables_8.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['timer_0',['timer',['../tstfuncs_8cpp.html#ae2281da6157495d69406c35f69a61f9f',1,'tstfuncs.cpp']]]
+];
diff --git a/docs/doxygen/html/search/variables_9.html b/docs/doxygen/html/search/variables_9.html
new file mode 100644
index 0000000..1aec773
--- /dev/null
+++ b/docs/doxygen/html/search/variables_9.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/variables_9.js b/docs/doxygen/html/search/variables_9.js
new file mode 100644
index 0000000..5eb7a13
--- /dev/null
+++ b/docs/doxygen/html/search/variables_9.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['uiheaderlen_0',['uiHeaderLen',['../classxb_1_1xbDbf.html#a62f5fa9149ae0f6dc75642823de66918',1,'xb::xbDbf']]],
+ ['uirecordlen_1',['uiRecordLen',['../classxb_1_1xbDbf.html#a1760e222567e2c849f9c799b9d896e91',1,'xb::xbDbf']]],
+ ['ulcurrec_2',['ulCurRec',['../classxb_1_1xbDbf.html#afcd99924606be0a9e1e25180bcd1abf8',1,'xb::xbDbf']]],
+ ['ulnoofrecs_3',['ulNoOfRecs',['../classxb_1_1xbDbf.html#acb594ab61dd35b17bdf28394083f8e87',1,'xb::xbDbf']]]
+];
diff --git a/docs/doxygen/html/search/variables_a.html b/docs/doxygen/html/search/variables_a.html
new file mode 100644
index 0000000..8090d16
--- /dev/null
+++ b/docs/doxygen/html/search/variables_a.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/doxygen/html/search/variables_a.js b/docs/doxygen/html/search/variables_a.js
new file mode 100644
index 0000000..8367676
--- /dev/null
+++ b/docs/doxygen/html/search/variables_a.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['xbase_0',['xbase',['../classxb_1_1xbFile.html#ae39a67ea391b46055d4ca299cb222004',1,'xb::xbFile']]],
+ ['xbdbf_1',['xbDbf',['../namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b',1,'xb']]],
+ ['xberrormessages_2',['xbErrorMessages',['../namespacexb.html#a04be228a037d220dd5564f5ef618adcc',1,'xb']]],
+ ['xblog_3',['xbLog',['../namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c',1,'xb']]],
+ ['xbxbase_4',['xbXBase',['../namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0',1,'xb']]]
+];
diff --git a/docs/doxygen/html/splitbar.png b/docs/doxygen/html/splitbar.png
new file mode 100644
index 0000000..fe895f2
--- /dev/null
+++ b/docs/doxygen/html/splitbar.png
Binary files differ
diff --git a/docs/doxygen/html/sql_2xbcrix_8cpp.html b/docs/doxygen/html/sql_2xbcrix_8cpp.html
new file mode 100644
index 0000000..9947dfb
--- /dev/null
+++ b/docs/doxygen/html/sql_2xbcrix_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/sql/xbcrix.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbcrix.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/structsFldMap.html b/docs/doxygen/html/structsFldMap.html
new file mode 100644
index 0000000..1be2f0a
--- /dev/null
+++ b/docs/doxygen/html/structsFldMap.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: sFldMap Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Data Fields</a> </div>
+ <div class="headertitle"><div class="title">sFldMap Struct Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr class="memitem:a02facce45c24ebecc13975c17fd52b8f"><td class="memItemLeft" align="right" valign="top">xbUInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsFldMap.html#a02facce45c24ebecc13975c17fd52b8f">iRecPos</a></td></tr>
+<tr class="separator:a02facce45c24ebecc13975c17fd52b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a42eb801a85d8b60f06c4fe1be13ca723"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsFldMap.html#a42eb801a85d8b60f06c4fe1be13ca723">iFldNo</a></td></tr>
+<tr class="separator:a42eb801a85d8b60f06c4fe1be13ca723"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af89b26b2d4bc6e26c597f8c48b97b1a3"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsFldMap.html#af89b26b2d4bc6e26c597f8c48b97b1a3">cFldType</a></td></tr>
+<tr class="separator:af89b26b2d4bc6e26c597f8c48b97b1a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a16eaff8fc09adc3faf453bfaa0d3baaa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsFldMap.html">sFldMap</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsFldMap.html#a16eaff8fc09adc3faf453bfaa0d3baaa">next</a></td></tr>
+<tr class="separator:a16eaff8fc09adc3faf453bfaa0d3baaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="af89b26b2d4bc6e26c597f8c48b97b1a3" name="af89b26b2d4bc6e26c597f8c48b97b1a3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af89b26b2d4bc6e26c597f8c48b97b1a3">&#9670;&nbsp;</a></span>cFldType</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char sFldMap::cFldType</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a42eb801a85d8b60f06c4fe1be13ca723" name="a42eb801a85d8b60f06c4fe1be13ca723"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a42eb801a85d8b60f06c4fe1be13ca723">&#9670;&nbsp;</a></span>iFldNo</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 sFldMap::iFldNo</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a02facce45c24ebecc13975c17fd52b8f" name="a02facce45c24ebecc13975c17fd52b8f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a02facce45c24ebecc13975c17fd52b8f">&#9670;&nbsp;</a></span>iRecPos</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbUInt32 sFldMap::iRecPos</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a16eaff8fc09adc3faf453bfaa0d3baaa" name="a16eaff8fc09adc3faf453bfaa0d3baaa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a16eaff8fc09adc3faf453bfaa0d3baaa">&#9670;&nbsp;</a></span>next</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structsFldMap.html">sFldMap</a>* sFldMap::next</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/utils/<a class="el" href="xb__import_8cpp.html">xb_import.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/structxb_1_1xbSchema.html b/docs/doxygen/html/structxb_1_1xbSchema.html
new file mode 100644
index 0000000..4b745d8
--- /dev/null
+++ b/docs/doxygen/html/structxb_1_1xbSchema.html
@@ -0,0 +1,179 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: xb::xbSchema Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="namespacexb.html">xb</a></li><li class="navelem"><a class="el" href="structxb_1_1xbSchema.html">xbSchema</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Data Fields</a> </div>
+ <div class="headertitle"><div class="title">xb::xbSchema Struct Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>Schema used for defining tables with CreateTable methods.
+ <a href="structxb_1_1xbSchema.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="xbdbf_8h_source.html">xbdbf.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr class="memitem:a514183856094123fd37df67885b4681e"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxb_1_1xbSchema.html#a514183856094123fd37df67885b4681e">cFieldName</a> [11]</td></tr>
+<tr class="separator:a514183856094123fd37df67885b4681e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d612b2ed5dc0b0289c9e91b3cda3a25"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxb_1_1xbSchema.html#a1d612b2ed5dc0b0289c9e91b3cda3a25">cType</a></td></tr>
+<tr class="separator:a1d612b2ed5dc0b0289c9e91b3cda3a25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2da554af25ef628acf59bb52996056ac"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxb_1_1xbSchema.html#a2da554af25ef628acf59bb52996056ac">iFieldLen</a></td></tr>
+<tr class="separator:a2da554af25ef628acf59bb52996056ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55bab3bb69dee3508d168c93e182d4b9"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxb_1_1xbSchema.html#a55bab3bb69dee3508d168c93e182d4b9">iNoOfDecs</a></td></tr>
+<tr class="separator:a55bab3bb69dee3508d168c93e182d4b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p >Schema used for defining tables with CreateTable methods. </p>
+<p >See program <a class="el" href="xb__ex__v3__create__dbf_8cpp.html">xb_ex_v3_create_dbf.cpp</a> or <a class="el" href="xb__ex__v4__create__dbf_8cpp.html">xb_ex_v4_create_dbf.cpp</a> as examples on how to use.</p>
+<div class="fragment"><div class="line">xbSchema MyRecord[] = {</div>
+<div class="line"><span class="comment">// FieldName, Type, Len, Dec</span></div>
+<div class="line"> { <span class="stringliteral">&quot;FIRSTNAME&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa">XB_CHAR_FLD</a>, 15, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;LASTNAME&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa">XB_CHAR_FLD</a>, 20, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;BIRTHDATE&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#a7f685e6f5fe804b2174725a27ce73adc">XB_DATE_FLD</a>, 8, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;AMOUNT&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6">XB_NUMERIC_FLD</a>, 9, 2 },</div>
+<div class="line"> { <span class="stringliteral">&quot;RETIRED?&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#a2f6d5073af761bc1a806a2c7b1c1d886">XB_LOGICAL_FLD</a>, 1, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;ZIPCODE&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6">XB_NUMERIC_FLD</a>, 5, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;NUMFLD1&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#a96ab4218d70ab603b4866354ce8c18cd">XB_FLOAT_FLD</a>, 12, 2 },</div>
+<div class="line"> { <span class="stringliteral">&quot;NUMFLD2&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#a96ab4218d70ab603b4866354ce8c18cd">XB_FLOAT_FLD</a>, 14, 2 },</div>
+<div class="line"> { <span class="stringliteral">&quot;MEMO1&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#a23fa19b19cb43bd6dcc59a5a3f6c30ad">XB_MEMO_FLD</a>, 10, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;&quot;</span>,0,0,0 }};</div>
+<div class="ttc" id="axbdbf_8h_html_a20f739b9d9dc6a002a246a999e76aeaa"><div class="ttname"><a href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa">XB_CHAR_FLD</a></div><div class="ttdeci">#define XB_CHAR_FLD</div><div class="ttdef"><b>Definition:</b> xbdbf.h:29</div></div>
+<div class="ttc" id="axbdbf_8h_html_a23fa19b19cb43bd6dcc59a5a3f6c30ad"><div class="ttname"><a href="xbdbf_8h.html#a23fa19b19cb43bd6dcc59a5a3f6c30ad">XB_MEMO_FLD</a></div><div class="ttdeci">#define XB_MEMO_FLD</div><div class="ttdef"><b>Definition:</b> xbdbf.h:33</div></div>
+<div class="ttc" id="axbdbf_8h_html_a2f6d5073af761bc1a806a2c7b1c1d886"><div class="ttname"><a href="xbdbf_8h.html#a2f6d5073af761bc1a806a2c7b1c1d886">XB_LOGICAL_FLD</a></div><div class="ttdeci">#define XB_LOGICAL_FLD</div><div class="ttdef"><b>Definition:</b> xbdbf.h:30</div></div>
+<div class="ttc" id="axbdbf_8h_html_a7f685e6f5fe804b2174725a27ce73adc"><div class="ttname"><a href="xbdbf_8h.html#a7f685e6f5fe804b2174725a27ce73adc">XB_DATE_FLD</a></div><div class="ttdeci">#define XB_DATE_FLD</div><div class="ttdef"><b>Definition:</b> xbdbf.h:32</div></div>
+<div class="ttc" id="axbdbf_8h_html_a96ab4218d70ab603b4866354ce8c18cd"><div class="ttname"><a href="xbdbf_8h.html#a96ab4218d70ab603b4866354ce8c18cd">XB_FLOAT_FLD</a></div><div class="ttdeci">#define XB_FLOAT_FLD</div><div class="ttdef"><b>Definition:</b> xbdbf.h:34</div></div>
+<div class="ttc" id="axbdbf_8h_html_ae9fb6d69cc5edc94d36ae403c22ec1c6"><div class="ttname"><a href="xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6">XB_NUMERIC_FLD</a></div><div class="ttdeci">#define XB_NUMERIC_FLD</div><div class="ttdef"><b>Definition:</b> xbdbf.h:31</div></div>
+</div><!-- fragment --> </div><h2 class="groupheader">Field Documentation</h2>
+<a id="a514183856094123fd37df67885b4681e" name="a514183856094123fd37df67885b4681e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a514183856094123fd37df67885b4681e">&#9670;&nbsp;</a></span>cFieldName</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbSchema::cFieldName[11]</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1d612b2ed5dc0b0289c9e91b3cda3a25" name="a1d612b2ed5dc0b0289c9e91b3cda3a25"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d612b2ed5dc0b0289c9e91b3cda3a25">&#9670;&nbsp;</a></span>cType</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char xb::xbSchema::cType</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2da554af25ef628acf59bb52996056ac" name="a2da554af25ef628acf59bb52996056ac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2da554af25ef628acf59bb52996056ac">&#9670;&nbsp;</a></span>iFieldLen</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSchema::iFieldLen</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a55bab3bb69dee3508d168c93e182d4b9" name="a55bab3bb69dee3508d168c93e182d4b9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a55bab3bb69dee3508d168c93e182d4b9">&#9670;&nbsp;</a></span>iNoOfDecs</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 xb::xbSchema::iNoOfDecs</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/include/<a class="el" href="xbdbf_8h_source.html">xbdbf.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/structxb_1_1xbTblList.html b/docs/doxygen/html/structxb_1_1xbTblList.html
new file mode 100644
index 0000000..b01da49
--- /dev/null
+++ b/docs/doxygen/html/structxb_1_1xbTblList.html
@@ -0,0 +1,171 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: xb::xbTblList Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="namespacexb.html">xb</a></li><li class="navelem"><a class="el" href="structxb_1_1xbTblList.html">xbTblList</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Data Fields</a> </div>
+ <div class="headertitle"><div class="title">xb::xbTblList Struct Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="xbtblmgr_8h_source.html">xbtblmgr.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr class="memitem:a3fd169fcf0fd4df927544e5342db583c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structxb_1_1xbTblList.html">xbTblList</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxb_1_1xbTblList.html#a3fd169fcf0fd4df927544e5342db583c">pNext</a></td></tr>
+<tr class="separator:a3fd169fcf0fd4df927544e5342db583c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aceec65f6f6b585788cf98e8dabd2737d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxb_1_1xbTblList.html#aceec65f6f6b585788cf98e8dabd2737d">psFqTblName</a></td></tr>
+<tr class="separator:aceec65f6f6b585788cf98e8dabd2737d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02c3b0c47fd104ef9758b375ecdcfd0f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxb_1_1xbTblList.html#a02c3b0c47fd104ef9758b375ecdcfd0f">psTblName</a></td></tr>
+<tr class="separator:a02c3b0c47fd104ef9758b375ecdcfd0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac87742c8a6b1cf2e7e35218e96966a05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbString.html">xbString</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxb_1_1xbTblList.html#ac87742c8a6b1cf2e7e35218e96966a05">psTblAlias</a></td></tr>
+<tr class="separator:ac87742c8a6b1cf2e7e35218e96966a05"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a387d3f6bbf291a1fb96d276ed9bb96b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxb_1_1xbTblList.html#a387d3f6bbf291a1fb96d276ed9bb96b6">pDbf</a></td></tr>
+<tr class="separator:a387d3f6bbf291a1fb96d276ed9bb96b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a387d3f6bbf291a1fb96d276ed9bb96b6" name="a387d3f6bbf291a1fb96d276ed9bb96b6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a387d3f6bbf291a1fb96d276ed9bb96b6">&#9670;&nbsp;</a></span>pDbf</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a>* xb::xbTblList::pDbf</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3fd169fcf0fd4df927544e5342db583c" name="a3fd169fcf0fd4df927544e5342db583c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3fd169fcf0fd4df927544e5342db583c">&#9670;&nbsp;</a></span>pNext</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structxb_1_1xbTblList.html">xbTblList</a>* xb::xbTblList::pNext</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aceec65f6f6b585788cf98e8dabd2737d" name="aceec65f6f6b585788cf98e8dabd2737d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aceec65f6f6b585788cf98e8dabd2737d">&#9670;&nbsp;</a></span>psFqTblName</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a>* xb::xbTblList::psFqTblName</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac87742c8a6b1cf2e7e35218e96966a05" name="ac87742c8a6b1cf2e7e35218e96966a05"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac87742c8a6b1cf2e7e35218e96966a05">&#9670;&nbsp;</a></span>psTblAlias</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a>* xb::xbTblList::psTblAlias</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a02c3b0c47fd104ef9758b375ecdcfd0f" name="a02c3b0c47fd104ef9758b375ecdcfd0f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a02c3b0c47fd104ef9758b375ecdcfd0f">&#9670;&nbsp;</a></span>psTblName</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classxb_1_1xbString.html">xbString</a>* xb::xbTblList::psTblName</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>/mnt/1Tdata/xbase/xbase64-4.1.4/src/include/<a class="el" href="xbtblmgr_8h_source.html">xbtblmgr.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/sync_off.png b/docs/doxygen/html/sync_off.png
new file mode 100644
index 0000000..3b443fc
--- /dev/null
+++ b/docs/doxygen/html/sync_off.png
Binary files differ
diff --git a/docs/doxygen/html/sync_on.png b/docs/doxygen/html/sync_on.png
new file mode 100644
index 0000000..e08320f
--- /dev/null
+++ b/docs/doxygen/html/sync_on.png
Binary files differ
diff --git a/docs/doxygen/html/tab_a.png b/docs/doxygen/html/tab_a.png
new file mode 100644
index 0000000..3b725c4
--- /dev/null
+++ b/docs/doxygen/html/tab_a.png
Binary files differ
diff --git a/docs/doxygen/html/tab_b.png b/docs/doxygen/html/tab_b.png
new file mode 100644
index 0000000..e2b4a86
--- /dev/null
+++ b/docs/doxygen/html/tab_b.png
Binary files differ
diff --git a/docs/doxygen/html/tab_h.png b/docs/doxygen/html/tab_h.png
new file mode 100644
index 0000000..fd5cb70
--- /dev/null
+++ b/docs/doxygen/html/tab_h.png
Binary files differ
diff --git a/docs/doxygen/html/tab_s.png b/docs/doxygen/html/tab_s.png
new file mode 100644
index 0000000..ab478c9
--- /dev/null
+++ b/docs/doxygen/html/tab_s.png
Binary files differ
diff --git a/docs/doxygen/html/tabs.css b/docs/doxygen/html/tabs.css
new file mode 100644
index 0000000..00d1c60
--- /dev/null
+++ b/docs/doxygen/html/tabs.css
@@ -0,0 +1 @@
+.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:#666;-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file
diff --git a/docs/doxygen/html/tstfuncs_8cpp.html b/docs/doxygen/html/tstfuncs_8cpp.html
new file mode 100644
index 0000000..91c12b8
--- /dev/null
+++ b/docs/doxygen/html/tstfuncs_8cpp.html
@@ -0,0 +1,547 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/tstfuncs.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle"><div class="title">tstfuncs.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:af990eed1e43605771a5810196b4043f7"><td class="memItemLeft" align="right" valign="top">xbDouble&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html#af990eed1e43605771a5810196b4043f7">ChronTime</a> ()</td></tr>
+<tr class="separator:af990eed1e43605771a5810196b4043f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1f17da15e67a8b2460d5a88b7a3db6e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html#ab1f17da15e67a8b2460d5a88b7a3db6e">InitTime</a> ()</td></tr>
+<tr class="separator:ab1f17da15e67a8b2460d5a88b7a3db6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b8e417213c57f2ea0bcb61a7fb28860"><td class="memItemLeft" align="right" valign="top">xbBool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html#a8b8e417213c57f2ea0bcb61a7fb28860">dblEquals</a> (xbDouble a, xbDouble b, xbDouble epsilon)</td></tr>
+<tr class="separator:a8b8e417213c57f2ea0bcb61a7fb28860"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a265547b80a3aef5836952bede5288e2c"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html#a265547b80a3aef5836952bede5288e2c">TestMethod</a> (xbInt16 PrintOption, const char *title, const xbString &amp;result, const char *expectedResult, size_t expectedLen)</td></tr>
+<tr class="separator:a265547b80a3aef5836952bede5288e2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c27703ef863c9d29680844fc5124953"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html#a9c27703ef863c9d29680844fc5124953">TestMethod</a> (xbInt16 PrintOption, const char *title, char result, char expectedResult)</td></tr>
+<tr class="separator:a9c27703ef863c9d29680844fc5124953"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae6536e920580382389126d5f66655f90"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html#ae6536e920580382389126d5f66655f90">TestMethod</a> (xbInt16 PrintOption, const char *title, xbInt32 result, xbInt32 expectedResult)</td></tr>
+<tr class="separator:ae6536e920580382389126d5f66655f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a000fca67bc0fffea3d3da7a5317a06e4"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html#a000fca67bc0fffea3d3da7a5317a06e4">TestMethod</a> (xbInt16 PrintOption, const char *title, xbUInt64 result, xbUInt64 expectedResult)</td></tr>
+<tr class="separator:a000fca67bc0fffea3d3da7a5317a06e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a663f3dd7bd8574a35c1b1b9a22081c6d"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html#a663f3dd7bd8574a35c1b1b9a22081c6d">TestMethod</a> (xbInt16 PrintOption, const char *title, xbFloat result, xbFloat expectedResult)</td></tr>
+<tr class="separator:a663f3dd7bd8574a35c1b1b9a22081c6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af1c78fb72bcd39eb86f11aa2887fe62c"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html#af1c78fb72bcd39eb86f11aa2887fe62c">TestMethod</a> (xbInt16 PrintOption, const char *title, xbDouble result, xbDouble expectedResult)</td></tr>
+<tr class="separator:af1c78fb72bcd39eb86f11aa2887fe62c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac64a0bed74ba10b638456709f128f893"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html#ac64a0bed74ba10b638456709f128f893">TestMethod</a> (xbInt16 PrintOption, const char *title, xbDouble result, xbDouble expectedResult, xbDouble dEpsilon)</td></tr>
+<tr class="separator:ac64a0bed74ba10b638456709f128f893"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69a6e718e066af7f8392e5f1fea40d1b"><td class="memItemLeft" align="right" valign="top">xbDouble&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html#a69a6e718e066af7f8392e5f1fea40d1b">dblMax</a> (xbDouble a, xbDouble b)</td></tr>
+<tr class="separator:a69a6e718e066af7f8392e5f1fea40d1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d7b8f3f1ce52c6c0a281f25419f4c93"><td class="memItemLeft" align="right" valign="top">xbDouble&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html#a4d7b8f3f1ce52c6c0a281f25419f4c93">dblMin</a> (xbDouble a, xbDouble b)</td></tr>
+<tr class="separator:a4d7b8f3f1ce52c6c0a281f25419f4c93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ae2281da6157495d69406c35f69a61f9f"><td class="memItemLeft" align="right" valign="top">time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tstfuncs_8cpp.html#ae2281da6157495d69406c35f69a61f9f">timer</a></td></tr>
+<tr class="separator:ae2281da6157495d69406c35f69a61f9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="af990eed1e43605771a5810196b4043f7" name="af990eed1e43605771a5810196b4043f7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af990eed1e43605771a5810196b4043f7">&#9670;&nbsp;</a></span>ChronTime()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbDouble ChronTime </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8b8e417213c57f2ea0bcb61a7fb28860" name="a8b8e417213c57f2ea0bcb61a7fb28860"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8b8e417213c57f2ea0bcb61a7fb28860">&#9670;&nbsp;</a></span>dblEquals()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbBool dblEquals </td>
+ <td>(</td>
+ <td class="paramtype">xbDouble&#160;</td>
+ <td class="paramname"><em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbDouble&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbDouble&#160;</td>
+ <td class="paramname"><em>epsilon</em> = <code>0.0001</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a69a6e718e066af7f8392e5f1fea40d1b" name="a69a6e718e066af7f8392e5f1fea40d1b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a69a6e718e066af7f8392e5f1fea40d1b">&#9670;&nbsp;</a></span>dblMax()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbDouble dblMax </td>
+ <td>(</td>
+ <td class="paramtype">xbDouble&#160;</td>
+ <td class="paramname"><em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbDouble&#160;</td>
+ <td class="paramname"><em>b</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4d7b8f3f1ce52c6c0a281f25419f4c93" name="a4d7b8f3f1ce52c6c0a281f25419f4c93"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4d7b8f3f1ce52c6c0a281f25419f4c93">&#9670;&nbsp;</a></span>dblMin()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbDouble dblMin </td>
+ <td>(</td>
+ <td class="paramtype">xbDouble&#160;</td>
+ <td class="paramname"><em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbDouble&#160;</td>
+ <td class="paramname"><em>b</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab1f17da15e67a8b2460d5a88b7a3db6e" name="ab1f17da15e67a8b2460d5a88b7a3db6e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab1f17da15e67a8b2460d5a88b7a3db6e">&#9670;&nbsp;</a></span>InitTime()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InitTime </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9c27703ef863c9d29680844fc5124953" name="a9c27703ef863c9d29680844fc5124953"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9c27703ef863c9d29680844fc5124953">&#9670;&nbsp;</a></span>TestMethod() <span class="overload">[1/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 TestMethod </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>PrintOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>result</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>expectedResult</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a265547b80a3aef5836952bede5288e2c" name="a265547b80a3aef5836952bede5288e2c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a265547b80a3aef5836952bede5288e2c">&#9670;&nbsp;</a></span>TestMethod() <span class="overload">[2/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 TestMethod </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>PrintOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const xbString &amp;&#160;</td>
+ <td class="paramname"><em>result</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>expectedResult</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>expectedLen</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af1c78fb72bcd39eb86f11aa2887fe62c" name="af1c78fb72bcd39eb86f11aa2887fe62c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af1c78fb72bcd39eb86f11aa2887fe62c">&#9670;&nbsp;</a></span>TestMethod() <span class="overload">[3/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 TestMethod </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>PrintOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbDouble&#160;</td>
+ <td class="paramname"><em>result</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbDouble&#160;</td>
+ <td class="paramname"><em>expectedResult</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac64a0bed74ba10b638456709f128f893" name="ac64a0bed74ba10b638456709f128f893"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac64a0bed74ba10b638456709f128f893">&#9670;&nbsp;</a></span>TestMethod() <span class="overload">[4/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 TestMethod </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>PrintOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbDouble&#160;</td>
+ <td class="paramname"><em>result</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbDouble&#160;</td>
+ <td class="paramname"><em>expectedResult</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbDouble&#160;</td>
+ <td class="paramname"><em>dEpsilon</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a663f3dd7bd8574a35c1b1b9a22081c6d" name="a663f3dd7bd8574a35c1b1b9a22081c6d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a663f3dd7bd8574a35c1b1b9a22081c6d">&#9670;&nbsp;</a></span>TestMethod() <span class="overload">[5/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 TestMethod </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>PrintOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbFloat&#160;</td>
+ <td class="paramname"><em>result</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbFloat&#160;</td>
+ <td class="paramname"><em>expectedResult</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae6536e920580382389126d5f66655f90" name="ae6536e920580382389126d5f66655f90"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae6536e920580382389126d5f66655f90">&#9670;&nbsp;</a></span>TestMethod() <span class="overload">[6/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 TestMethod </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>PrintOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>result</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt32&#160;</td>
+ <td class="paramname"><em>expectedResult</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a000fca67bc0fffea3d3da7a5317a06e4" name="a000fca67bc0fffea3d3da7a5317a06e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a000fca67bc0fffea3d3da7a5317a06e4">&#9670;&nbsp;</a></span>TestMethod() <span class="overload">[7/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 TestMethod </td>
+ <td>(</td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>PrintOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt64&#160;</td>
+ <td class="paramname"><em>result</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbUInt64&#160;</td>
+ <td class="paramname"><em>expectedResult</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="ae2281da6157495d69406c35f69a61f9f" name="ae2281da6157495d69406c35f69a61f9f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae2281da6157495d69406c35f69a61f9f">&#9670;&nbsp;</a></span>timer</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">time_t timer</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__cfg__check_8cpp.html b/docs/doxygen/html/xb__cfg__check_8cpp.html
new file mode 100644
index 0000000..792b547
--- /dev/null
+++ b/docs/doxygen/html/xb__cfg__check_8cpp.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/utils/xb_cfg_check.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_cfg_check.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
+<code>#include &lt;stdlib.h&gt;</code><br />
+<code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__cfg__check_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
+<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__copydbf_8cpp.html b/docs/doxygen/html/xb__copydbf_8cpp.html
new file mode 100644
index 0000000..e1eb6df
--- /dev/null
+++ b/docs/doxygen/html/xb__copydbf_8cpp.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/utils/xb_copydbf.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_copydbf.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__copydbf_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">PrintHelp</a> ()</td></tr>
+<tr class="separator:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fae5968f70747445d63f63065fb7ef3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__copydbf_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">PrintVersion</a> ()</td></tr>
+<tr class="separator:a1fae5968f70747445d63f63065fb7ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__copydbf_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
+<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0ddf1224851353fc92bfbff6f499fa97" name="a0ddf1224851353fc92bfbff6f499fa97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ddf1224851353fc92bfbff6f499fa97">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>argv</em>[]&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae964ff8411b4fdcaf65cb5529aea4bef" name="ae964ff8411b4fdcaf65cb5529aea4bef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae964ff8411b4fdcaf65cb5529aea4bef">&#9670;&nbsp;</a></span>PrintHelp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintHelp </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1fae5968f70747445d63f63065fb7ef3" name="a1fae5968f70747445d63f63065fb7ef3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1fae5968f70747445d63f63065fb7ef3">&#9670;&nbsp;</a></span>PrintVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintVersion </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__dbfutil_8cpp.html b/docs/doxygen/html/xb__dbfutil_8cpp.html
new file mode 100644
index 0000000..8bae555
--- /dev/null
+++ b/docs/doxygen/html/xb__dbfutil_8cpp.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/utils/xb_dbfutil.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_dbfutil.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a9c55a055e1cd4249c7f47e19dc7ac564"><td class="memItemLeft" align="right" valign="top">DOXYOFF void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dbfutil_8cpp.html#a9c55a055e1cd4249c7f47e19dc7ac564">PrintHelp</a> ()</td></tr>
+<tr class="separator:a9c55a055e1cd4249c7f47e19dc7ac564"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fae5968f70747445d63f63065fb7ef3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dbfutil_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">PrintVersion</a> ()</td></tr>
+<tr class="separator:a1fae5968f70747445d63f63065fb7ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dbfutil_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
+<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0ddf1224851353fc92bfbff6f499fa97" name="a0ddf1224851353fc92bfbff6f499fa97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ddf1224851353fc92bfbff6f499fa97">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>argv</em>[]&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9c55a055e1cd4249c7f47e19dc7ac564" name="a9c55a055e1cd4249c7f47e19dc7ac564"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9c55a055e1cd4249c7f47e19dc7ac564">&#9670;&nbsp;</a></span>PrintHelp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">DOXYOFF void PrintHelp </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1fae5968f70747445d63f63065fb7ef3" name="a1fae5968f70747445d63f63065fb7ef3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1fae5968f70747445d63f63065fb7ef3">&#9670;&nbsp;</a></span>PrintVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintVersion </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__deletall_8cpp.html b/docs/doxygen/html/xb__deletall_8cpp.html
new file mode 100644
index 0000000..b8834ae
--- /dev/null
+++ b/docs/doxygen/html/xb__deletall_8cpp.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/utils/xb_deletall.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_deletall.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__deletall_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">PrintHelp</a> ()</td></tr>
+<tr class="separator:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fae5968f70747445d63f63065fb7ef3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__deletall_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">PrintVersion</a> ()</td></tr>
+<tr class="separator:a1fae5968f70747445d63f63065fb7ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__deletall_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
+<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0ddf1224851353fc92bfbff6f499fa97" name="a0ddf1224851353fc92bfbff6f499fa97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ddf1224851353fc92bfbff6f499fa97">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>argv</em>[]&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae964ff8411b4fdcaf65cb5529aea4bef" name="ae964ff8411b4fdcaf65cb5529aea4bef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae964ff8411b4fdcaf65cb5529aea4bef">&#9670;&nbsp;</a></span>PrintHelp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintHelp </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1fae5968f70747445d63f63065fb7ef3" name="a1fae5968f70747445d63f63065fb7ef3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1fae5968f70747445d63f63065fb7ef3">&#9670;&nbsp;</a></span>PrintVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintVersion </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__dumpdbt_8cpp.html b/docs/doxygen/html/xb__dumpdbt_8cpp.html
new file mode 100644
index 0000000..aa95e61
--- /dev/null
+++ b/docs/doxygen/html/xb__dumpdbt_8cpp.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/utils/xb_dumpdbt.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_dumpdbt.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dumpdbt_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">PrintHelp</a> ()</td></tr>
+<tr class="separator:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fae5968f70747445d63f63065fb7ef3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dumpdbt_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">PrintVersion</a> ()</td></tr>
+<tr class="separator:a1fae5968f70747445d63f63065fb7ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dumpdbt_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
+<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0ddf1224851353fc92bfbff6f499fa97" name="a0ddf1224851353fc92bfbff6f499fa97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ddf1224851353fc92bfbff6f499fa97">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>argv</em>[]&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae964ff8411b4fdcaf65cb5529aea4bef" name="ae964ff8411b4fdcaf65cb5529aea4bef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae964ff8411b4fdcaf65cb5529aea4bef">&#9670;&nbsp;</a></span>PrintHelp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintHelp </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1fae5968f70747445d63f63065fb7ef3" name="a1fae5968f70747445d63f63065fb7ef3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1fae5968f70747445d63f63065fb7ef3">&#9670;&nbsp;</a></span>PrintVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintVersion </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__dumphdr_8cpp.html b/docs/doxygen/html/xb__dumphdr_8cpp.html
new file mode 100644
index 0000000..39b4a89
--- /dev/null
+++ b/docs/doxygen/html/xb__dumphdr_8cpp.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.1/src/utils/xb_dumphdr.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_dumphdr.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a0c99d968a34e803d378692bde2e3f18f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dumphdr_8cpp.html#a0c99d968a34e803d378692bde2e3f18f">main</a> (int ac, char **av)</td></tr>
+<tr class="separator:a0c99d968a34e803d378692bde2e3f18f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0c99d968a34e803d378692bde2e3f18f" name="a0c99d968a34e803d378692bde2e3f18f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c99d968a34e803d378692bde2e3f18f">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>ac</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__dumpix_8cpp.html b/docs/doxygen/html/xb__dumpix_8cpp.html
new file mode 100644
index 0000000..7e42d1e
--- /dev/null
+++ b/docs/doxygen/html/xb__dumpix_8cpp.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.1/src/utils/xb_dumpix.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_dumpix.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a0c99d968a34e803d378692bde2e3f18f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dumpix_8cpp.html#a0c99d968a34e803d378692bde2e3f18f">main</a> (int ac, char **av)</td></tr>
+<tr class="separator:a0c99d968a34e803d378692bde2e3f18f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0c99d968a34e803d378692bde2e3f18f" name="a0c99d968a34e803d378692bde2e3f18f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c99d968a34e803d378692bde2e3f18f">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>ac</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__dumprecs_8cpp.html b/docs/doxygen/html/xb__dumprecs_8cpp.html
new file mode 100644
index 0000000..7c6187e
--- /dev/null
+++ b/docs/doxygen/html/xb__dumprecs_8cpp.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/utils/xb_dumprecs.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_dumprecs.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dumprecs_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">PrintHelp</a> ()</td></tr>
+<tr class="separator:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fae5968f70747445d63f63065fb7ef3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dumprecs_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">PrintVersion</a> ()</td></tr>
+<tr class="separator:a1fae5968f70747445d63f63065fb7ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__dumprecs_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
+<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0ddf1224851353fc92bfbff6f499fa97" name="a0ddf1224851353fc92bfbff6f499fa97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ddf1224851353fc92bfbff6f499fa97">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>argv</em>[]&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae964ff8411b4fdcaf65cb5529aea4bef" name="ae964ff8411b4fdcaf65cb5529aea4bef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae964ff8411b4fdcaf65cb5529aea4bef">&#9670;&nbsp;</a></span>PrintHelp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintHelp </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1fae5968f70747445d63f63065fb7ef3" name="a1fae5968f70747445d63f63065fb7ef3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1fae5968f70747445d63f63065fb7ef3">&#9670;&nbsp;</a></span>PrintVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintVersion </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__ex__date_8cpp.html b/docs/doxygen/html/xb__ex__date_8cpp.html
new file mode 100644
index 0000000..a3c9419
--- /dev/null
+++ b/docs/doxygen/html/xb__ex__date_8cpp.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/examples/xb_ex_date.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_ex_date.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__date_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
+<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__ex__expression_8cpp.html b/docs/doxygen/html/xb__ex__expression_8cpp.html
new file mode 100644
index 0000000..fcc64f1
--- /dev/null
+++ b/docs/doxygen/html/xb__ex__expression_8cpp.html
@@ -0,0 +1,168 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/examples/xb_ex_expression.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle"><div class="title">xb_ex_expression.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a3234afc912211aec54c10d363d28cbda"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__expression_8cpp.html#a3234afc912211aec54c10d363d28cbda">PrintResult</a> (<a class="el" href="classxb_1_1xbString.html">xbString</a> *sExpression, xbExp *exp)</td></tr>
+<tr class="separator:a3234afc912211aec54c10d363d28cbda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__expression_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
+<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a2122b9562802e2fd799b20454000dc99"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structxb_1_1xbSchema.html">xbSchema</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__expression_8cpp.html#a2122b9562802e2fd799b20454000dc99">MyV4Record</a> []</td></tr>
+<tr class="separator:a2122b9562802e2fd799b20454000dc99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3234afc912211aec54c10d363d28cbda" name="a3234afc912211aec54c10d363d28cbda"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3234afc912211aec54c10d363d28cbda">&#9670;&nbsp;</a></span>PrintResult()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintResult </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> *&#160;</td>
+ <td class="paramname"><em>sExpression</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbExp *&#160;</td>
+ <td class="paramname"><em>exp</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="a2122b9562802e2fd799b20454000dc99" name="a2122b9562802e2fd799b20454000dc99"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2122b9562802e2fd799b20454000dc99">&#9670;&nbsp;</a></span>MyV4Record</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structxb_1_1xbSchema.html">xbSchema</a> MyV4Record[]</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= </div>
+<div class="line"> {</div>
+<div class="line"> { <span class="stringliteral">&quot;CFLD1&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa">XB_CHAR_FLD</a>, 20, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;CFLD2&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa">XB_CHAR_FLD</a>, 10, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;NFLD1&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6">XB_NUMERIC_FLD</a>, 5, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;DATE1&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#a7f685e6f5fe804b2174725a27ce73adc">XB_DATE_FLD</a>, 8, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;&quot;</span>,0,0,0 }</div>
+<div class="line"> }</div>
+<div class="ttc" id="axbdbf_8h_html_a20f739b9d9dc6a002a246a999e76aeaa"><div class="ttname"><a href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa">XB_CHAR_FLD</a></div><div class="ttdeci">#define XB_CHAR_FLD</div><div class="ttdef"><b>Definition:</b> xbdbf.h:29</div></div>
+<div class="ttc" id="axbdbf_8h_html_a7f685e6f5fe804b2174725a27ce73adc"><div class="ttname"><a href="xbdbf_8h.html#a7f685e6f5fe804b2174725a27ce73adc">XB_DATE_FLD</a></div><div class="ttdeci">#define XB_DATE_FLD</div><div class="ttdef"><b>Definition:</b> xbdbf.h:32</div></div>
+<div class="ttc" id="axbdbf_8h_html_ae9fb6d69cc5edc94d36ae403c22ec1c6"><div class="ttname"><a href="xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6">XB_NUMERIC_FLD</a></div><div class="ttdeci">#define XB_NUMERIC_FLD</div><div class="ttdef"><b>Definition:</b> xbdbf.h:31</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__ex__log_8cpp.html b/docs/doxygen/html/xb__ex__log_8cpp.html
new file mode 100644
index 0000000..9070017
--- /dev/null
+++ b/docs/doxygen/html/xb__ex__log_8cpp.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/examples/xb_ex_log.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_ex_log.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__log_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__ex__sql_8cpp.html b/docs/doxygen/html/xb__ex__sql_8cpp.html
new file mode 100644
index 0000000..d49de9f
--- /dev/null
+++ b/docs/doxygen/html/xb__ex__sql_8cpp.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/examples/xb_ex_sql.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_ex_sql.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__sql_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__ex__ssv_8cpp.html b/docs/doxygen/html/xb__ex__ssv_8cpp.html
new file mode 100644
index 0000000..7576f99
--- /dev/null
+++ b/docs/doxygen/html/xb__ex__ssv_8cpp.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/examples/xb_ex_ssv.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_ex_ssv.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a6438fb6826a353355708e08b4395d689"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__ssv_8cpp.html#a6438fb6826a353355708e08b4395d689">main</a> (int, char **av)</td></tr>
+<tr class="separator:a6438fb6826a353355708e08b4395d689"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a6438fb6826a353355708e08b4395d689" name="a6438fb6826a353355708e08b4395d689"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6438fb6826a353355708e08b4395d689">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__ex__string_8cpp.html b/docs/doxygen/html/xb__ex__string_8cpp.html
new file mode 100644
index 0000000..8fd378f
--- /dev/null
+++ b/docs/doxygen/html/xb__ex__string_8cpp.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/examples/xb_ex_string.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_ex_string.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__string_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
+<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__ex__v3__create__dbf_8cpp.html b/docs/doxygen/html/xb__ex__v3__create__dbf_8cpp.html
new file mode 100644
index 0000000..e457106
--- /dev/null
+++ b/docs/doxygen/html/xb__ex__v3__create__dbf_8cpp.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/examples/xb_ex_v3_create_dbf.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_ex_v3_create_dbf.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__v3__create__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
+<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__ex__v3__upd__dbf_8cpp.html b/docs/doxygen/html/xb__ex__v3__upd__dbf_8cpp.html
new file mode 100644
index 0000000..ec407f3
--- /dev/null
+++ b/docs/doxygen/html/xb__ex__v3__upd__dbf_8cpp.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/examples/xb_ex_v3_upd_dbf.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_ex_v3_upd_dbf.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__v3__upd__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
+<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__ex__v4__create__dbf_8cpp.html b/docs/doxygen/html/xb__ex__v4__create__dbf_8cpp.html
new file mode 100644
index 0000000..22ec40c
--- /dev/null
+++ b/docs/doxygen/html/xb__ex__v4__create__dbf_8cpp.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/examples/xb_ex_v4_create_dbf.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_ex_v4_create_dbf.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__v4__create__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
+<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__ex__v4__upd__dbf_8cpp.html b/docs/doxygen/html/xb__ex__v4__upd__dbf_8cpp.html
new file mode 100644
index 0000000..ef0e8c1
--- /dev/null
+++ b/docs/doxygen/html/xb__ex__v4__upd__dbf_8cpp.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/examples/xb_ex_v4_upd_dbf.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_ex_v4_upd_dbf.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__ex__v4__upd__dbf_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
+<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__execsql_8cpp.html b/docs/doxygen/html/xb__execsql_8cpp.html
new file mode 100644
index 0000000..89e032e
--- /dev/null
+++ b/docs/doxygen/html/xb__execsql_8cpp.html
@@ -0,0 +1,191 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/utils/xb_execsql.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_execsql.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__execsql_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">PrintHelp</a> ()</td></tr>
+<tr class="separator:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fae5968f70747445d63f63065fb7ef3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__execsql_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">PrintVersion</a> ()</td></tr>
+<tr class="separator:a1fae5968f70747445d63f63065fb7ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb176b752e38521fdb334b4976965945"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__execsql_8cpp.html#adb176b752e38521fdb334b4976965945">GetNextSqlCmd</a> (<a class="el" href="classxb_1_1xbFile.html">xbFile</a> &amp;f, <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sCmd, <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bQuiet)</td></tr>
+<tr class="separator:adb176b752e38521fdb334b4976965945"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__execsql_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
+<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="adb176b752e38521fdb334b4976965945" name="adb176b752e38521fdb334b4976965945"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adb176b752e38521fdb334b4976965945">&#9670;&nbsp;</a></span>GetNextSqlCmd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 GetNextSqlCmd </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbFile.html">xbFile</a> &amp;&#160;</td>
+ <td class="paramname"><em>f</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sCmd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bQuiet</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0ddf1224851353fc92bfbff6f499fa97" name="a0ddf1224851353fc92bfbff6f499fa97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ddf1224851353fc92bfbff6f499fa97">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>argv</em>[]&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae964ff8411b4fdcaf65cb5529aea4bef" name="ae964ff8411b4fdcaf65cb5529aea4bef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae964ff8411b4fdcaf65cb5529aea4bef">&#9670;&nbsp;</a></span>PrintHelp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintHelp </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1fae5968f70747445d63f63065fb7ef3" name="a1fae5968f70747445d63f63065fb7ef3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1fae5968f70747445d63f63065fb7ef3">&#9670;&nbsp;</a></span>PrintVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintVersion </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__import_8cpp.html b/docs/doxygen/html/xb__import_8cpp.html
new file mode 100644
index 0000000..1ddc34d
--- /dev/null
+++ b/docs/doxygen/html/xb__import_8cpp.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/utils/xb_import.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_import.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsFldMap.html">sFldMap</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__import_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">PrintHelp</a> ()</td></tr>
+<tr class="separator:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fae5968f70747445d63f63065fb7ef3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__import_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">PrintVersion</a> ()</td></tr>
+<tr class="separator:a1fae5968f70747445d63f63065fb7ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__import_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
+<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0ddf1224851353fc92bfbff6f499fa97" name="a0ddf1224851353fc92bfbff6f499fa97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ddf1224851353fc92bfbff6f499fa97">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>argv</em>[]&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae964ff8411b4fdcaf65cb5529aea4bef" name="ae964ff8411b4fdcaf65cb5529aea4bef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae964ff8411b4fdcaf65cb5529aea4bef">&#9670;&nbsp;</a></span>PrintHelp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintHelp </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1fae5968f70747445d63f63065fb7ef3" name="a1fae5968f70747445d63f63065fb7ef3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1fae5968f70747445d63f63065fb7ef3">&#9670;&nbsp;</a></span>PrintVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintVersion </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__pack_8cpp.html b/docs/doxygen/html/xb__pack_8cpp.html
new file mode 100644
index 0000000..50632f7
--- /dev/null
+++ b/docs/doxygen/html/xb__pack_8cpp.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/utils/xb_pack.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_pack.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__pack_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">PrintHelp</a> ()</td></tr>
+<tr class="separator:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fae5968f70747445d63f63065fb7ef3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__pack_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">PrintVersion</a> ()</td></tr>
+<tr class="separator:a1fae5968f70747445d63f63065fb7ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__pack_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
+<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0ddf1224851353fc92bfbff6f499fa97" name="a0ddf1224851353fc92bfbff6f499fa97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ddf1224851353fc92bfbff6f499fa97">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>argv</em>[]&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae964ff8411b4fdcaf65cb5529aea4bef" name="ae964ff8411b4fdcaf65cb5529aea4bef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae964ff8411b4fdcaf65cb5529aea4bef">&#9670;&nbsp;</a></span>PrintHelp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintHelp </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1fae5968f70747445d63f63065fb7ef3" name="a1fae5968f70747445d63f63065fb7ef3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1fae5968f70747445d63f63065fb7ef3">&#9670;&nbsp;</a></span>PrintVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintVersion </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__tblinfo_8cpp.html b/docs/doxygen/html/xb__tblinfo_8cpp.html
new file mode 100644
index 0000000..3ecdd3c
--- /dev/null
+++ b/docs/doxygen/html/xb__tblinfo_8cpp.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/utils/xb_tblinfo.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_tblinfo.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__tblinfo_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">PrintHelp</a> ()</td></tr>
+<tr class="separator:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fae5968f70747445d63f63065fb7ef3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__tblinfo_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">PrintVersion</a> ()</td></tr>
+<tr class="separator:a1fae5968f70747445d63f63065fb7ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__tblinfo_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
+<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0ddf1224851353fc92bfbff6f499fa97" name="a0ddf1224851353fc92bfbff6f499fa97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ddf1224851353fc92bfbff6f499fa97">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>argv</em>[]&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae964ff8411b4fdcaf65cb5529aea4bef" name="ae964ff8411b4fdcaf65cb5529aea4bef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae964ff8411b4fdcaf65cb5529aea4bef">&#9670;&nbsp;</a></span>PrintHelp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintHelp </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1fae5968f70747445d63f63065fb7ef3" name="a1fae5968f70747445d63f63065fb7ef3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1fae5968f70747445d63f63065fb7ef3">&#9670;&nbsp;</a></span>PrintVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintVersion </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__bcd_8cpp.html b/docs/doxygen/html/xb__test__bcd_8cpp.html
new file mode 100644
index 0000000..e01aea3
--- /dev/null
+++ b/docs/doxygen/html/xb__test__bcd_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_bcd.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_bcd.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__bcd_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__blockread_8cpp.html b/docs/doxygen/html/xb__test__blockread_8cpp.html
new file mode 100644
index 0000000..2cb8c53
--- /dev/null
+++ b/docs/doxygen/html/xb__test__blockread_8cpp.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_blockread.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle"><div class="title">xb_test_blockread.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__blockread_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:af68c3291a63fdf20ffa0e477460d148e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structxb_1_1xbSchema.html">xbSchema</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__blockread_8cpp.html#af68c3291a63fdf20ffa0e477460d148e">MyDbfRec</a> []</td></tr>
+<tr class="separator:af68c3291a63fdf20ffa0e477460d148e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="af68c3291a63fdf20ffa0e477460d148e" name="af68c3291a63fdf20ffa0e477460d148e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af68c3291a63fdf20ffa0e477460d148e">&#9670;&nbsp;</a></span>MyDbfRec</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structxb_1_1xbSchema.html">xbSchema</a> MyDbfRec[]</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= </div>
+<div class="line"> {</div>
+<div class="line"> { <span class="stringliteral">&quot;NFLD&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6">XB_NUMERIC_FLD</a>, 10, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;CFLD&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa">XB_CHAR_FLD</a>, 89, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;&quot;</span>,0,0,0 }</div>
+<div class="line"> }</div>
+<div class="ttc" id="axbdbf_8h_html_a20f739b9d9dc6a002a246a999e76aeaa"><div class="ttname"><a href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa">XB_CHAR_FLD</a></div><div class="ttdeci">#define XB_CHAR_FLD</div><div class="ttdef"><b>Definition:</b> xbdbf.h:29</div></div>
+<div class="ttc" id="axbdbf_8h_html_ae9fb6d69cc5edc94d36ae403c22ec1c6"><div class="ttname"><a href="xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6">XB_NUMERIC_FLD</a></div><div class="ttdeci">#define XB_NUMERIC_FLD</div><div class="ttdef"><b>Definition:</b> xbdbf.h:31</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__blockread__save_8cpp.html b/docs/doxygen/html/xb__test__blockread__save_8cpp.html
new file mode 100644
index 0000000..40885f8
--- /dev/null
+++ b/docs/doxygen/html/xb__test__blockread__save_8cpp.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.1/src/tests/xb_test_blockread_save.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle"><div class="title">xb_test_blockread_save.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__blockread__save_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:af68c3291a63fdf20ffa0e477460d148e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structxb_1_1xbSchema.html">xbSchema</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__blockread__save_8cpp.html#af68c3291a63fdf20ffa0e477460d148e">MyDbfRec</a> []</td></tr>
+<tr class="separator:af68c3291a63fdf20ffa0e477460d148e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="af68c3291a63fdf20ffa0e477460d148e" name="af68c3291a63fdf20ffa0e477460d148e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af68c3291a63fdf20ffa0e477460d148e">&#9670;&nbsp;</a></span>MyDbfRec</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structxb_1_1xbSchema.html">xbSchema</a> MyDbfRec[]</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= </div>
+<div class="line"> {</div>
+<div class="line"> { <span class="stringliteral">&quot;NFLD&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6">XB_NUMERIC_FLD</a>, 10, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;CFLD&quot;</span>, <a class="code hl_define" href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa">XB_CHAR_FLD</a>, 300, 0 },</div>
+<div class="line"> { <span class="stringliteral">&quot;&quot;</span>,0,0,0 }</div>
+<div class="line"> }</div>
+<div class="ttc" id="axbdbf_8h_html_a20f739b9d9dc6a002a246a999e76aeaa"><div class="ttname"><a href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa">XB_CHAR_FLD</a></div><div class="ttdeci">#define XB_CHAR_FLD</div><div class="ttdef"><b>Definition:</b> xbdbf.h:29</div></div>
+<div class="ttc" id="axbdbf_8h_html_ae9fb6d69cc5edc94d36ae403c22ec1c6"><div class="ttname"><a href="xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6">XB_NUMERIC_FLD</a></div><div class="ttdeci">#define XB_NUMERIC_FLD</div><div class="ttdef"><b>Definition:</b> xbdbf.h:31</div></div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__date_8cpp.html b/docs/doxygen/html/xb__test__date_8cpp.html
new file mode 100644
index 0000000..a71a906
--- /dev/null
+++ b/docs/doxygen/html/xb__test__date_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_date.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_date.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__date_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__dbf__v3__memos_8cpp.html b/docs/doxygen/html/xb__test__dbf__v3__memos_8cpp.html
new file mode 100644
index 0000000..a1f8d65
--- /dev/null
+++ b/docs/doxygen/html/xb__test__dbf__v3__memos_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_dbf_v3_memos.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_dbf_v3_memos.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__dbf__v3__memos_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__dbf__v3__nomemos_8cpp.html b/docs/doxygen/html/xb__test__dbf__v3__nomemos_8cpp.html
new file mode 100644
index 0000000..f9ad3c0
--- /dev/null
+++ b/docs/doxygen/html/xb__test__dbf__v3__nomemos_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_dbf_v3_nomemos.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_dbf_v3_nomemos.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__dbf__v3__nomemos_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__dbf__v4__memos_8cpp.html b/docs/doxygen/html/xb__test__dbf__v4__memos_8cpp.html
new file mode 100644
index 0000000..ec46fae
--- /dev/null
+++ b/docs/doxygen/html/xb__test__dbf__v4__memos_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_dbf_v4_memos.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_dbf_v4_memos.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__dbf__v4__memos_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__dbf__v4__nomemos_8cpp.html b/docs/doxygen/html/xb__test__dbf__v4__nomemos_8cpp.html
new file mode 100644
index 0000000..bdadc98
--- /dev/null
+++ b/docs/doxygen/html/xb__test__dbf__v4__nomemos_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_dbf_v4_nomemos.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_dbf_v4_nomemos.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__dbf__v4__nomemos_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__expnode_8cpp.html b/docs/doxygen/html/xb__test__expnode_8cpp.html
new file mode 100644
index 0000000..b378c82
--- /dev/null
+++ b/docs/doxygen/html/xb__test__expnode_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_expnode.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_expnode.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__expnode_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__expression_8cpp.html b/docs/doxygen/html/xb__test__expression_8cpp.html
new file mode 100644
index 0000000..b1f4f5f
--- /dev/null
+++ b/docs/doxygen/html/xb__test__expression_8cpp.html
@@ -0,0 +1,502 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_expression.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_expression.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:aee57237c5f5b9b4d80e84bf530eb42bc"><td class="memItemLeft" align="right" valign="top">DOXYOFF xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__expression_8cpp.html#aee57237c5f5b9b4d80e84bf530eb42bc">DevTester</a> (<a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *xb, <a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *dbf, const char *sExpIn)</td></tr>
+<tr class="separator:aee57237c5f5b9b4d80e84bf530eb42bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af56b6dbc38e0d23caaf6531526315379"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__expression_8cpp.html#af56b6dbc38e0d23caaf6531526315379">TestWeight</a> (<a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *xb, xbInt16 iPrintOption, const char *title, const char *sOperator, xbInt16 iExpectedWeight)</td></tr>
+<tr class="separator:af56b6dbc38e0d23caaf6531526315379"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a440d64b55abaa9e14e73ecc132d1084d"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__expression_8cpp.html#a440d64b55abaa9e14e73ecc132d1084d">TestTokenMethod</a> (<a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *xb, xbInt16 iPrintOption, const char *title, const char *sExpression, const char *sExpectedToken, const char *sExpectedRemainder, char cExpectedNodeType, char cExpectedReturnType, xbInt16 iErc, xbInt16 iTrc)</td></tr>
+<tr class="separator:a440d64b55abaa9e14e73ecc132d1084d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad52c27685018dda7c5c4b26fb445860e"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__expression_8cpp.html#ad52c27685018dda7c5c4b26fb445860e">TestMethod</a> (<a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *xb, <a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *d, xbInt16 PrintOption, const char *title, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sExpression, const char *sExpectedResult, xbInt16 iExpectedResultLen)</td></tr>
+<tr class="separator:ad52c27685018dda7c5c4b26fb445860e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7030149316fe8d8195ffbb18132e0cf9"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__expression_8cpp.html#a7030149316fe8d8195ffbb18132e0cf9">TestMethod</a> (<a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *xb, <a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *d, xbInt16 PrintOption, const char *title, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sExpression, <a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dExpectedResult)</td></tr>
+<tr class="separator:a7030149316fe8d8195ffbb18132e0cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a10e637a203841bd2b6a92e6217509e23"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__expression_8cpp.html#a10e637a203841bd2b6a92e6217509e23">TestMethod</a> (<a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *xb, <a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *d, xbInt16 PrintOption, const char *title, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sExpression, <a class="el" href="classxb_1_1xbDate.html">xbDate</a> dtExpectedResult)</td></tr>
+<tr class="separator:a10e637a203841bd2b6a92e6217509e23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa385c5f9fa8b4cfd63763b4a28852b64"><td class="memItemLeft" align="right" valign="top">xbInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__expression_8cpp.html#aa385c5f9fa8b4cfd63763b4a28852b64">TestMethod</a> (<a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *xb, <a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *d, xbInt16 PrintOption, const char *title, const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;sExpression, <a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bExpectedResult)</td></tr>
+<tr class="separator:aa385c5f9fa8b4cfd63763b4a28852b64"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__expression_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="aee57237c5f5b9b4d80e84bf530eb42bc" name="aee57237c5f5b9b4d80e84bf530eb42bc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aee57237c5f5b9b4d80e84bf530eb42bc">&#9670;&nbsp;</a></span>DevTester()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">DOXYOFF xbInt16 DevTester </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *&#160;</td>
+ <td class="paramname"><em>xb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>dbf</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>sExpIn</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad52c27685018dda7c5c4b26fb445860e" name="ad52c27685018dda7c5c4b26fb445860e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad52c27685018dda7c5c4b26fb445860e">&#9670;&nbsp;</a></span>TestMethod() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 TestMethod </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *&#160;</td>
+ <td class="paramname"><em>xb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>d</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>PrintOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sExpression</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>sExpectedResult</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iExpectedResultLen</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa385c5f9fa8b4cfd63763b4a28852b64" name="aa385c5f9fa8b4cfd63763b4a28852b64"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa385c5f9fa8b4cfd63763b4a28852b64">&#9670;&nbsp;</a></span>TestMethod() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 TestMethod </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *&#160;</td>
+ <td class="paramname"><em>xb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>d</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>PrintOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sExpression</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>&#160;</td>
+ <td class="paramname"><em>bExpectedResult</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a10e637a203841bd2b6a92e6217509e23" name="a10e637a203841bd2b6a92e6217509e23"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a10e637a203841bd2b6a92e6217509e23">&#9670;&nbsp;</a></span>TestMethod() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 TestMethod </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *&#160;</td>
+ <td class="paramname"><em>xb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>d</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>PrintOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sExpression</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDate.html">xbDate</a>&#160;</td>
+ <td class="paramname"><em>dtExpectedResult</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7030149316fe8d8195ffbb18132e0cf9" name="a7030149316fe8d8195ffbb18132e0cf9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7030149316fe8d8195ffbb18132e0cf9">&#9670;&nbsp;</a></span>TestMethod() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 TestMethod </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *&#160;</td>
+ <td class="paramname"><em>xb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbDbf.html">xbDbf</a> *&#160;</td>
+ <td class="paramname"><em>d</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>PrintOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classxb_1_1xbString.html">xbString</a> &amp;&#160;</td>
+ <td class="paramname"><em>sExpression</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a>&#160;</td>
+ <td class="paramname"><em>dExpectedResult</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a440d64b55abaa9e14e73ecc132d1084d" name="a440d64b55abaa9e14e73ecc132d1084d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a440d64b55abaa9e14e73ecc132d1084d">&#9670;&nbsp;</a></span>TestTokenMethod()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 TestTokenMethod </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *&#160;</td>
+ <td class="paramname"><em>xb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iPrintOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>sExpression</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>sExpectedToken</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>sExpectedRemainder</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>cExpectedNodeType</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&#160;</td>
+ <td class="paramname"><em>cExpectedReturnType</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iErc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iTrc</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af56b6dbc38e0d23caaf6531526315379" name="af56b6dbc38e0d23caaf6531526315379"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af56b6dbc38e0d23caaf6531526315379">&#9670;&nbsp;</a></span>TestWeight()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">xbInt16 TestWeight </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classxb_1_1xbXBase.html">xbXBase</a> *&#160;</td>
+ <td class="paramname"><em>xb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iPrintOption</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>sOperator</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">xbInt16&#160;</td>
+ <td class="paramname"><em>iExpectedWeight</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__file_8cpp.html b/docs/doxygen/html/xb__test__file_8cpp.html
new file mode 100644
index 0000000..c2a68c1
--- /dev/null
+++ b/docs/doxygen/html/xb__test__file_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_file.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_file.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__file_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__filter_8cpp.html b/docs/doxygen/html/xb__test__filter_8cpp.html
new file mode 100644
index 0000000..f366c17
--- /dev/null
+++ b/docs/doxygen/html/xb__test__filter_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_filter.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_filter.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__filter_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__funcs_8cpp.html b/docs/doxygen/html/xb__test__funcs_8cpp.html
new file mode 100644
index 0000000..d71b646
--- /dev/null
+++ b/docs/doxygen/html/xb__test__funcs_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_funcs.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_funcs.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__funcs_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__linklist_8cpp.html b/docs/doxygen/html/xb__test__linklist_8cpp.html
new file mode 100644
index 0000000..002accf
--- /dev/null
+++ b/docs/doxygen/html/xb__test__linklist_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_linklist.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_linklist.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__linklist_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__lock2_8cpp.html b/docs/doxygen/html/xb__test__lock2_8cpp.html
new file mode 100644
index 0000000..a678c7f
--- /dev/null
+++ b/docs/doxygen/html/xb__test__lock2_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_lock2.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_lock2.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__lock2_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__lock_8cpp.html b/docs/doxygen/html/xb__test__lock_8cpp.html
new file mode 100644
index 0000000..ad9919a
--- /dev/null
+++ b/docs/doxygen/html/xb__test__lock_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_lock.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_lock.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__lock_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__log_8cpp.html b/docs/doxygen/html/xb__test__log_8cpp.html
new file mode 100644
index 0000000..d3fdba6
--- /dev/null
+++ b/docs/doxygen/html/xb__test__log_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_log.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_log.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__log_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__mdx_8cpp.html b/docs/doxygen/html/xb__test__mdx_8cpp.html
new file mode 100644
index 0000000..9ddc1da
--- /dev/null
+++ b/docs/doxygen/html/xb__test__mdx_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_mdx.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_mdx.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__mdx_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__ndx2_8cpp.html b/docs/doxygen/html/xb__test__ndx2_8cpp.html
new file mode 100644
index 0000000..b92ae09
--- /dev/null
+++ b/docs/doxygen/html/xb__test__ndx2_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.0.2/src/tests/xb_test_ndx2.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_ndx2.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__ndx2_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__ndx_8cpp.html b/docs/doxygen/html/xb__test__ndx_8cpp.html
new file mode 100644
index 0000000..89882be
--- /dev/null
+++ b/docs/doxygen/html/xb__test__ndx_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_ndx.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_ndx.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__ndx_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__sql_8cpp.html b/docs/doxygen/html/xb__test__sql_8cpp.html
new file mode 100644
index 0000000..919c01c
--- /dev/null
+++ b/docs/doxygen/html/xb__test__sql_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_sql.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_sql.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__sql_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__string_8cpp.html b/docs/doxygen/html/xb__test__string_8cpp.html
new file mode 100644
index 0000000..87d816d
--- /dev/null
+++ b/docs/doxygen/html/xb__test__string_8cpp.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_string.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#define-members">Macros</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_string.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a42f8c497a1968074f38bf5055c650dca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__string_8cpp.html#a42f8c497a1968074f38bf5055c650dca">VERBOSE</a></td></tr>
+<tr class="separator:a42f8c497a1968074f38bf5055c650dca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:aabf71bc9adb6daf457b2ea8879ae537f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__string_8cpp.html#aabf71bc9adb6daf457b2ea8879ae537f">main</a> (int argCnt, char **av=NULL)</td></tr>
+<tr class="separator:aabf71bc9adb6daf457b2ea8879ae537f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="a42f8c497a1968074f38bf5055c650dca" name="a42f8c497a1968074f38bf5055c650dca"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a42f8c497a1968074f38bf5055c650dca">&#9670;&nbsp;</a></span>VERBOSE</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define VERBOSE</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="aabf71bc9adb6daf457b2ea8879ae537f" name="aabf71bc9adb6daf457b2ea8879ae537f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aabf71bc9adb6daf457b2ea8879ae537f">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em> = <code>NULL</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__tblmgr_8cpp.html b/docs/doxygen/html/xb__test__tblmgr_8cpp.html
new file mode 100644
index 0000000..100eadb
--- /dev/null
+++ b/docs/doxygen/html/xb__test__tblmgr_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_tblmgr.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_tblmgr.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__tblmgr_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__tdx_8cpp.html b/docs/doxygen/html/xb__test__tdx_8cpp.html
new file mode 100644
index 0000000..67c96f4
--- /dev/null
+++ b/docs/doxygen/html/xb__test__tdx_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_tdx.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_tdx.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__tdx_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__uda_8cpp.html b/docs/doxygen/html/xb__test__uda_8cpp.html
new file mode 100644
index 0000000..d73026e
--- /dev/null
+++ b/docs/doxygen/html/xb__test__uda_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_uda.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_uda.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__uda_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__test__xbase_8cpp.html b/docs/doxygen/html/xb__test__xbase_8cpp.html
new file mode 100644
index 0000000..ad5ebb9
--- /dev/null
+++ b/docs/doxygen/html/xb__test__xbase_8cpp.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/tests/xb_test_xbase.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_d93a1d4020dea85bb71b237545b5e722.html">tests</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_test_xbase.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="tstfuncs_8cpp.html">tstfuncs.cpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a1470527971db41f828c26074cde7e15a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__test__xbase_8cpp.html#a1470527971db41f828c26074cde7e15a">main</a> (int argCnt, char **av)</td></tr>
+<tr class="separator:a1470527971db41f828c26074cde7e15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a1470527971db41f828c26074cde7e15a" name="a1470527971db41f828c26074cde7e15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1470527971db41f828c26074cde7e15a">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argCnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__undelall_8cpp.html b/docs/doxygen/html/xb__undelall_8cpp.html
new file mode 100644
index 0000000..10f1f27
--- /dev/null
+++ b/docs/doxygen/html/xb__undelall_8cpp.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/utils/xb_undelall.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_undelall.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__undelall_8cpp.html#ae964ff8411b4fdcaf65cb5529aea4bef">PrintHelp</a> ()</td></tr>
+<tr class="separator:ae964ff8411b4fdcaf65cb5529aea4bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fae5968f70747445d63f63065fb7ef3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__undelall_8cpp.html#a1fae5968f70747445d63f63065fb7ef3">PrintVersion</a> ()</td></tr>
+<tr class="separator:a1fae5968f70747445d63f63065fb7ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__undelall_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
+<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0ddf1224851353fc92bfbff6f499fa97" name="a0ddf1224851353fc92bfbff6f499fa97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ddf1224851353fc92bfbff6f499fa97">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>argc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>argv</em>[]&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae964ff8411b4fdcaf65cb5529aea4bef" name="ae964ff8411b4fdcaf65cb5529aea4bef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae964ff8411b4fdcaf65cb5529aea4bef">&#9670;&nbsp;</a></span>PrintHelp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintHelp </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1fae5968f70747445d63f63065fb7ef3" name="a1fae5968f70747445d63f63065fb7ef3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1fae5968f70747445d63f63065fb7ef3">&#9670;&nbsp;</a></span>PrintVersion()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void PrintVersion </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xb__zap_8cpp.html b/docs/doxygen/html/xb__zap_8cpp.html
new file mode 100644
index 0000000..793d67e
--- /dev/null
+++ b/docs/doxygen/html/xb__zap_8cpp.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.1/src/utils/xb_zap.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_313caf1132e152dd9b58bea13a4052ca.html">utils</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xb_zap.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;<a class="el" href="xbase_8h_source.html">xbase.h</a>&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a0c99d968a34e803d378692bde2e3f18f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xb__zap_8cpp.html#a0c99d968a34e803d378692bde2e3f18f">main</a> (int ac, char **av)</td></tr>
+<tr class="separator:a0c99d968a34e803d378692bde2e3f18f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a0c99d968a34e803d378692bde2e3f18f" name="a0c99d968a34e803d378692bde2e3f18f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c99d968a34e803d378692bde2e3f18f">&#9670;&nbsp;</a></span>main()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>ac</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>av</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbalttbl_8cpp.html b/docs/doxygen/html/xbalttbl_8cpp.html
new file mode 100644
index 0000000..21799cb
--- /dev/null
+++ b/docs/doxygen/html/xbalttbl_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/sql/xbalttbl.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbalttbl.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbase_8h.html b/docs/doxygen/html/xbase_8h.html
new file mode 100644
index 0000000..055fcc5
--- /dev/null
+++ b/docs/doxygen/html/xbase_8h.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbase.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbase.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;xbconfig.h&gt;</code><br />
+<code>#include &lt;stdio.h&gt;</code><br />
+<code>#include &lt;errno.h&gt;</code><br />
+<code>#include &lt;time.h&gt;</code><br />
+<code>#include &lt;math.h&gt;</code><br />
+<code>#include &lt;iomanip&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbretcod_8h_source.html">xbretcod.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbtypes_8h_source.html">xbtypes.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbstring_8h_source.html">xbstring.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbssv_8h_source.html">xbssv.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbdate_8h_source.html">xbdate.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbtblmgr_8h_source.html">xbtblmgr.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbxbase_8h_source.html">xbxbase.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xblnknod_8h_source.html">xblnknod.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xblnklst_8h_source.html">xblnklst.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xblnklstord_8h_source.html">xblnklstord.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbfile_8h_source.html">xbfile.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xblog_8h_source.html">xblog.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbmemo_8h_source.html">xbmemo.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbbcd_8h_source.html">xbbcd.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbuda_8h_source.html">xbuda.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbexpnode_8h_source.html">xbexpnode.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbexp_8h_source.html">xbexp.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbtag_8h_source.html">xbtag.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbblkread_8h_source.html">xbblkread.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbdbf_8h_source.html">xbdbf.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbindex_8h_source.html">xbindex.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbfilter_8h_source.html">xbfilter.h</a>&gt;</code><br />
+<code>#include &lt;<a class="el" href="xbsql_8h_source.html">xbsql.h</a>&gt;</code><br />
+</div>
+<p><a href="xbase_8h_source.html">Go to the source code of this file.</a></p>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbase_8h_source.html b/docs/doxygen/html/xbase_8h_source.html
new file mode 100644
index 0000000..9d6988f
--- /dev/null
+++ b/docs/doxygen/html/xbase_8h_source.html
@@ -0,0 +1,202 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbase.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbase.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbase_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbase.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"></span> </div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Xbase64 Software Library</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"></span> </div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">Copyright (c) 1997,2003,2014,2022,2023 Gary A Kunkel</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"></span> </div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"></span> </div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"></span> </div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"></span> </div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;xbconfig.h&gt;</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &lt;errno.h&gt;</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &lt;time.h&gt;</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &lt;math.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#ifdef HAVE_INTTYPES_H</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include &lt;inttypes.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#ifdef HAVE_STRING_H</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include &lt;string.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#ifdef HAVE_STRINGS_H</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include &lt;strings.h&gt;</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment">// #ifdef STDC_HEADERS</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#ifdef HAVE_STDARGS_H</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#include &lt;stdargs.h&gt;</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#ifdef HAVE_CTYPE_H</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor">#include &lt;ctype.h&gt;</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="preprocessor">#ifdef HAVE_PWD_H</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="preprocessor">#include &lt;pwd.h&gt;</span></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="preprocessor">#ifdef HAVE_STDARG_H</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="preprocessor">#include &lt;stdarg.h&gt;</span></div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor">#ifdef HAVE_STAT_H</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="preprocessor">#include &lt;sys/stat.h&gt;</span></div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="preprocessor">#ifdef HAVE_FCNTL_H</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="preprocessor">#include &lt;fcntl.h&gt;</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="preprocessor">#ifdef HAVE_UNISTD_H</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="preprocessor">#include &lt;unistd.h&gt;</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="preprocessor">#ifdef HAVE_VARARGS_H</span></div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="preprocessor">#ifndef HAVE_STDARG_H</span></div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="preprocessor">#include &lt;varargs.h&gt;</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="preprocessor">#ifdef HAVE_WINDOWS_H</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="preprocessor">#include &lt;windows.h&gt;</span></div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="preprocessor">#include &lt;io.h&gt;</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="preprocessor">#include &lt;iomanip&gt;</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="preprocessor">#include &lt;<a class="code" href="xbretcod_8h.html">xbretcod.h</a>&gt;</span></div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="preprocessor">#include &lt;<a class="code" href="xbtypes_8h.html">xbtypes.h</a>&gt;</span></div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="preprocessor">#include &lt;<a class="code" href="xbstring_8h.html">xbstring.h</a>&gt;</span></div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="preprocessor">#include &lt;<a class="code" href="xbssv_8h.html">xbssv.h</a>&gt;</span></div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="preprocessor">#include &lt;<a class="code" href="xbdate_8h.html">xbdate.h</a>&gt;</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="preprocessor">#include &lt;<a class="code" href="xbtblmgr_8h.html">xbtblmgr.h</a>&gt;</span></div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="preprocessor">#include &lt;<a class="code" href="xbxbase_8h.html">xbxbase.h</a>&gt;</span></div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="preprocessor">#include &lt;<a class="code" href="xblnknod_8h.html">xblnknod.h</a>&gt;</span></div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="preprocessor">#include &lt;<a class="code" href="xblnklst_8h.html">xblnklst.h</a>&gt;</span></div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="preprocessor">#include &lt;<a class="code" href="xblnklstord_8h.html">xblnklstord.h</a>&gt;</span></div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="preprocessor">#include &lt;<a class="code" href="xbfile_8h.html">xbfile.h</a>&gt;</span></div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="preprocessor">#include &lt;<a class="code" href="xblog_8h.html">xblog.h</a>&gt;</span></div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="preprocessor">#include &lt;<a class="code" href="xbmemo_8h.html">xbmemo.h</a>&gt;</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="preprocessor">#include &lt;<a class="code" href="xbbcd_8h.html">xbbcd.h</a>&gt;</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor">#include &lt;<a class="code" href="xbuda_8h.html">xbuda.h</a>&gt;</span></div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="preprocessor">#include &lt;<a class="code" href="xbexpnode_8h.html">xbexpnode.h</a>&gt;</span></div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="preprocessor">#include &lt;<a class="code" href="xbexp_8h.html">xbexp.h</a>&gt;</span></div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="preprocessor">#include &lt;<a class="code" href="xbtag_8h.html">xbtag.h</a>&gt;</span></div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor">#include &lt;<a class="code" href="xbblkread_8h.html">xbblkread.h</a>&gt;</span></div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="preprocessor">#include &lt;<a class="code" href="xbdbf_8h.html">xbdbf.h</a>&gt;</span> <span class="comment">/* dbf base class */</span></div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="preprocessor">#include &lt;<a class="code" href="xbindex_8h.html">xbindex.h</a>&gt;</span> <span class="comment">/* index base class */</span></div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="preprocessor">#include &lt;<a class="code" href="xbfilter_8h.html">xbfilter.h</a>&gt;</span></div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="preprocessor">#include &lt;<a class="code" href="xbsql_8h.html">xbsql.h</a>&gt;</span></div>
+<div class="ttc" id="axbbcd_8h_html"><div class="ttname"><a href="xbbcd_8h.html">xbbcd.h</a></div></div>
+<div class="ttc" id="axbblkread_8h_html"><div class="ttname"><a href="xbblkread_8h.html">xbblkread.h</a></div></div>
+<div class="ttc" id="axbdate_8h_html"><div class="ttname"><a href="xbdate_8h.html">xbdate.h</a></div></div>
+<div class="ttc" id="axbdbf_8h_html"><div class="ttname"><a href="xbdbf_8h.html">xbdbf.h</a></div></div>
+<div class="ttc" id="axbexp_8h_html"><div class="ttname"><a href="xbexp_8h.html">xbexp.h</a></div></div>
+<div class="ttc" id="axbexpnode_8h_html"><div class="ttname"><a href="xbexpnode_8h.html">xbexpnode.h</a></div></div>
+<div class="ttc" id="axbfile_8h_html"><div class="ttname"><a href="xbfile_8h.html">xbfile.h</a></div></div>
+<div class="ttc" id="axbfilter_8h_html"><div class="ttname"><a href="xbfilter_8h.html">xbfilter.h</a></div></div>
+<div class="ttc" id="axbindex_8h_html"><div class="ttname"><a href="xbindex_8h.html">xbindex.h</a></div></div>
+<div class="ttc" id="axblnklst_8h_html"><div class="ttname"><a href="xblnklst_8h.html">xblnklst.h</a></div></div>
+<div class="ttc" id="axblnklstord_8h_html"><div class="ttname"><a href="xblnklstord_8h.html">xblnklstord.h</a></div></div>
+<div class="ttc" id="axblnknod_8h_html"><div class="ttname"><a href="xblnknod_8h.html">xblnknod.h</a></div></div>
+<div class="ttc" id="axblog_8h_html"><div class="ttname"><a href="xblog_8h.html">xblog.h</a></div></div>
+<div class="ttc" id="axbmemo_8h_html"><div class="ttname"><a href="xbmemo_8h.html">xbmemo.h</a></div></div>
+<div class="ttc" id="axbretcod_8h_html"><div class="ttname"><a href="xbretcod_8h.html">xbretcod.h</a></div></div>
+<div class="ttc" id="axbsql_8h_html"><div class="ttname"><a href="xbsql_8h.html">xbsql.h</a></div></div>
+<div class="ttc" id="axbssv_8h_html"><div class="ttname"><a href="xbssv_8h.html">xbssv.h</a></div></div>
+<div class="ttc" id="axbstring_8h_html"><div class="ttname"><a href="xbstring_8h.html">xbstring.h</a></div></div>
+<div class="ttc" id="axbtag_8h_html"><div class="ttname"><a href="xbtag_8h.html">xbtag.h</a></div></div>
+<div class="ttc" id="axbtblmgr_8h_html"><div class="ttname"><a href="xbtblmgr_8h.html">xbtblmgr.h</a></div></div>
+<div class="ttc" id="axbtypes_8h_html"><div class="ttname"><a href="xbtypes_8h.html">xbtypes.h</a></div></div>
+<div class="ttc" id="axbuda_8h_html"><div class="ttname"><a href="xbuda_8h.html">xbuda.h</a></div></div>
+<div class="ttc" id="axbxbase_8h_html"><div class="ttname"><a href="xbxbase_8h.html">xbxbase.h</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbbcd_8cpp.html b/docs/doxygen/html/xbbcd_8cpp.html
new file mode 100644
index 0000000..588a841
--- /dev/null
+++ b/docs/doxygen/html/xbbcd_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbbcd.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbbcd.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbbcd_8h.html b/docs/doxygen/html/xbbcd_8h.html
new file mode 100644
index 0000000..e5f224b
--- /dev/null
+++ b/docs/doxygen/html/xbbcd_8h.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbbcd.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbbcd.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbbcd_8h_source.html">Go to the source code of this file.</a></p>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbbcd_8h_source.html b/docs/doxygen/html/xbbcd_8h_source.html
new file mode 100644
index 0000000..adb27a6
--- /dev/null
+++ b/docs/doxygen/html/xbbcd_8h_source.html
@@ -0,0 +1,172 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbbcd.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbbcd.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbbcd_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbbcd.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014, 2018, 2019, 2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#ifndef __XB_BCD_H__</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#define __XB_BCD_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#ifdef XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">// structure for bcd value</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment">// next structure superceeded. Different compilers allocate different</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment">// sizes to structures with bit fields, can&#39;t count on the size</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">struct XBDLLEXPORT xbBcdStrucOld {</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment"> unsigned SigDigits : 8; // significant digit count</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"> unsigned Filler : 2; // always set to 1</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment"> unsigned EncDigits : 5; // encoded digit count</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment"> unsigned Sign : 1; // +/- sign</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment"> unsigned char Data[10];</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment">};</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="keyword">struct </span>XBDLLEXPORT xbBcdStruct {</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> cSigDigits; <span class="comment">// significant digit count</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> cEncDigits; <span class="comment">// encoded digit count</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> cData[10]; <span class="comment">// data</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span>};</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="keyword">struct </span>XBDLLEXPORT xbByteSplit {</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">unsigned</span> c1 : 4;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">unsigned</span> c2 : 4;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span>};</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="keyword">class </span>XBDLLEXPORT xbBcd {</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> xbBcd( <span class="keyword">const</span> xbString &amp;sIn );</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> xbBcd( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn );</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> xbBcd( <span class="keyword">const</span> <span class="keywordtype">void</span> *vBcd12In );</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">void</span> Set( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn );</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">void</span> Set( <span class="keyword">const</span> <span class="keywordtype">void</span> *cBcd12In );</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">void</span> Set( <span class="keyword">const</span> xbString &amp;sIn );</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">void</span> ToString( xbString &amp;sOut );</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">void</span> ToDouble( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dOut );</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">void</span> ToBcd( xbBcdStruct &amp;bcdOut );</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">void</span> ToChar( <span class="keywordtype">char</span> *cOut );</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="comment">// const unsigned char * GetBcd() const;</span></div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">void</span> StringToBcd( <span class="keyword">const</span> xbString &amp;sStringIn );</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> xbInt16 Compare( <span class="keyword">const</span> xbBcd &amp;bcdIn );</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> xbInt16 Compare( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> d );</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *GetData() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">const</span> <span class="keywordtype">void</span> * GetBcd() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">void</span> ctor();</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> GetEncDigitsNoSign() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">unsigned</span> GetSign() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">unsigned</span> GetSigDigits() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">unsigned</span> GetActualSigDigits() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="comment">// xbBcdStruc bcdOld;</span></div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> xbBcdStruct bcd;</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span>};</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>} <span class="comment">/* namespace xb */</span></div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="preprocessor">#endif </span><span class="comment">/* XB_INDEX_SUPPORT */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="preprocessor">#endif </span><span class="comment">/* __XB_BCD_H__ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_a25f47b226ce924a5c78f97989b0744a2"><div class="ttname"><a href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb::xbDouble</a></div><div class="ttdeci">double xbDouble</div><div class="ttdef"><b>Definition:</b> xbtypes.h:23</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbblkread_8h.html b/docs/doxygen/html/xbblkread_8h.html
new file mode 100644
index 0000000..dca115e
--- /dev/null
+++ b/docs/doxygen/html/xbblkread_8h.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbblkread.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> </div>
+ <div class="headertitle"><div class="title">xbblkread.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbblkread_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbblkread_8h_source.html b/docs/doxygen/html/xbblkread_8h_source.html
new file mode 100644
index 0000000..95e7c3e
--- /dev/null
+++ b/docs/doxygen/html/xbblkread_8h_source.html
@@ -0,0 +1,145 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbblkread.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbblkread.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbblkread_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbblkread.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#ifndef __XB_BLKREAD_H__</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#define __XB_BLKREAD_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifdef XB_BLOCKREAD_SUPPORT</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keyword">class </span>XBDLLEXPORT xbBlockRead {</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> xbBlockRead( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> * d );</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> ~xbBlockRead();</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">void</span> DumpReadBlockInternals();</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> xbInt16 Init( xbUInt32 ulBlkSize = 0 );</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> xbUInt32 GetBlockFirstRecNo() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> xbUInt32 GetBlockRecCnt() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> xbUInt32 GetBlockSize() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> xbInt16 GetRecord( xbUInt32 ulRecNo ); <span class="comment">// retrieve a data record from a block to RecBuf</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> xbInt16 SetBlockSize( xbUInt32 ulBlkSize );</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> xbInt16 GetBlockForRecNo( xbUInt32 ulRecNo ); <span class="comment">// retrieve block from disk for a given record number</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">char</span> *pBlock; <span class="comment">// block pointer</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> xbUInt32 ulBlkSize; <span class="comment">// block size in bytes</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> xbUInt32 ulFirstBlkRec; <span class="comment">// first recod number in the block</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> xbUInt32 ulRecCnt; <span class="comment">// number of records in block</span></div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> xbUInt32 ulMaxRecs; <span class="comment">// max number of records block can handle</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bEof; <span class="comment">// EOF flag</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf; <span class="comment">// reference to associated dbf file</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="comment">// xbXBase *xbase; // reference to main xbXBase structure</span></div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> time_t tFmTime; <span class="comment">// file modify time at time of block read</span></div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span>};</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="preprocessor">#endif </span><span class="comment">// XB_BLOCKREAD</span></div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span>} <span class="comment">/* namespace */</span></div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="preprocessor">#endif </span><span class="comment">/* __XB_BLOCKREAD_H__ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+<div class="ttc" id="anamespacexb_html_ab2eae4b4732466698a7fdd89d77ba53b"><div class="ttname"><a href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xb::xbDbf</a></div><div class="ttdeci">class XBDLLEXPORT xbDbf</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:28</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbblockread_8cpp.html b/docs/doxygen/html/xbblockread_8cpp.html
new file mode 100644
index 0000000..e4c9a2f
--- /dev/null
+++ b/docs/doxygen/html/xbblockread_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbblockread.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbblockread.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbcrix_8cpp.html b/docs/doxygen/html/xbcrix_8cpp.html
new file mode 100644
index 0000000..e844b33
--- /dev/null
+++ b/docs/doxygen/html/xbcrix_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.2/src/sql/xbcrix.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbcrix.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbcrtbl_8cpp.html b/docs/doxygen/html/xbcrtbl_8cpp.html
new file mode 100644
index 0000000..c4e3a34
--- /dev/null
+++ b/docs/doxygen/html/xbcrtbl_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/sql/xbcrtbl.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbcrtbl.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbcrtbl_8save2_8cpp.html b/docs/doxygen/html/xbcrtbl_8save2_8cpp.html
new file mode 100644
index 0000000..5875287
--- /dev/null
+++ b/docs/doxygen/html/xbcrtbl_8save2_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.2/src/sql/xbcrtbl.save2.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbcrtbl.save2.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbcrtbl_8save_8cpp.html b/docs/doxygen/html/xbcrtbl_8save_8cpp.html
new file mode 100644
index 0000000..20b4367
--- /dev/null
+++ b/docs/doxygen/html/xbcrtbl_8save_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.2/src/sql/xbcrtbl.save.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbcrtbl.save.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbdate_8cpp.html b/docs/doxygen/html/xbdate_8cpp.html
new file mode 100644
index 0000000..3ac1b41
--- /dev/null
+++ b/docs/doxygen/html/xbdate_8cpp.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbdate.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> </div>
+ <div class="headertitle"><div class="title">xbdate.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+<code>#include &lt;time.h&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbdate_8h.html b/docs/doxygen/html/xbdate_8h.html
new file mode 100644
index 0000000..39d4265
--- /dev/null
+++ b/docs/doxygen/html/xbdate_8h.html
@@ -0,0 +1,165 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbdate.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#define-members">Macros</a> </div>
+ <div class="headertitle"><div class="title">xbdate.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbdate_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDate.html">xb::xbDate</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classxb_1_1xbDate.html" title="xbDate class.">xbDate</a> class. <a href="classxb_1_1xbDate.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a8f22704d3fd93fa85dd93b6c699e8178"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdate_8h.html#a8f22704d3fd93fa85dd93b6c699e8178">XB_FMT_WEEK</a>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:a8f22704d3fd93fa85dd93b6c699e8178"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeacf2f7cc897ab5bd64781c0fb52b75d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdate_8h.html#aeacf2f7cc897ab5bd64781c0fb52b75d">XB_FMT_MONTH</a>&#160;&#160;&#160;2</td></tr>
+<tr class="separator:aeacf2f7cc897ab5bd64781c0fb52b75d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa29d78982a9e007874af1c4f4e4d1aa4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdate_8h.html#aa29d78982a9e007874af1c4f4e4d1aa4">XB_FMT_YEAR</a>&#160;&#160;&#160;3</td></tr>
+<tr class="separator:aa29d78982a9e007874af1c4f4e4d1aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a119f32fda399e2ebc2d734012a130e8f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdate_8h.html#a119f32fda399e2ebc2d734012a130e8f">JUL_OFFSET</a>&#160;&#160;&#160;1721425L</td></tr>
+<tr class="separator:a119f32fda399e2ebc2d734012a130e8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="a119f32fda399e2ebc2d734012a130e8f" name="a119f32fda399e2ebc2d734012a130e8f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a119f32fda399e2ebc2d734012a130e8f">&#9670;&nbsp;</a></span>JUL_OFFSET</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define JUL_OFFSET&#160;&#160;&#160;1721425L</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aeacf2f7cc897ab5bd64781c0fb52b75d" name="aeacf2f7cc897ab5bd64781c0fb52b75d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeacf2f7cc897ab5bd64781c0fb52b75d">&#9670;&nbsp;</a></span>XB_FMT_MONTH</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_FMT_MONTH&#160;&#160;&#160;2</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8f22704d3fd93fa85dd93b6c699e8178" name="a8f22704d3fd93fa85dd93b6c699e8178"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8f22704d3fd93fa85dd93b6c699e8178">&#9670;&nbsp;</a></span>XB_FMT_WEEK</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_FMT_WEEK&#160;&#160;&#160;1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa29d78982a9e007874af1c4f4e4d1aa4" name="aa29d78982a9e007874af1c4f4e4d1aa4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa29d78982a9e007874af1c4f4e4d1aa4">&#9670;&nbsp;</a></span>XB_FMT_YEAR</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_FMT_YEAR&#160;&#160;&#160;3</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbdate_8h_source.html b/docs/doxygen/html/xbdate_8h_source.html
new file mode 100644
index 0000000..10178d8
--- /dev/null
+++ b/docs/doxygen/html/xbdate_8h_source.html
@@ -0,0 +1,184 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbdate.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbdate.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbdate_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbdate.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#ifndef __XB_XBDATE_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define __XB_XBDATE_H__</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#pragma interface</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="xbdate_8h.html#a8f22704d3fd93fa85dd93b6c699e8178"> 27</a></span><span class="preprocessor">#define XB_FMT_WEEK 1</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="xbdate_8h.html#aeacf2f7cc897ab5bd64781c0fb52b75d"> 28</a></span><span class="preprocessor">#define XB_FMT_MONTH 2</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="xbdate_8h.html#aa29d78982a9e007874af1c4f4e4d1aa4"> 29</a></span><span class="preprocessor">#define XB_FMT_YEAR 3</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">// next value is added to the date calculation to match dbase calculation</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment">// first valid dbase date is 01/01/0001</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="xbdate_8h.html#a119f32fda399e2ebc2d734012a130e8f"> 33</a></span><span class="preprocessor">#define JUL_OFFSET 1721425L</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="classxb_1_1xbDate.html"> 62</a></span><span class="keyword">class </span>XBDLLEXPORT <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> : <span class="keyword">public</span> <a class="code hl_class" href="classxb_1_1xbSsv.html">xbSsv</a> {</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a>();</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * Date8 );</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a>( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Date8 );</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a>( xbInt32 lJulDate );</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a>( xbUInt16 iInit ); <span class="comment">// Constructor used to set the static variables, also defaults to sysdate</span></div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <a class="code hl_class" href="classxb_1_1xbDate.html">~xbDate</a>();</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;d );</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">void</span> operator+=( xbInt32 i );</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">void</span> operator-=( xbInt32 i );</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">void</span> operator++( xbInt32 i );</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">void</span> operator--( xbInt32 i );</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> </div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> xbInt32 operator-( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp; ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * operator-( xbInt32 i );</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * operator+( xbInt32 i );</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator==( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp; ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator!=( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp; ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator&lt; ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp; ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator&gt; ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp; ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator&lt;=( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp; ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator&gt;=( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp; ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> xbInt16 CalcRollingCenturyForYear( xbInt16 year ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> xbInt16 CenturyOf() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> xbInt16 CharDayOf( <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOutCharDay );</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> xbInt16 CharMonthOf( <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOutCharMonth );</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> DateIsValid ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sDate8 ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> xbInt16 DayOf( xbInt16 iFormat ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> xbInt16 CTOD( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sCtodInDate );</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> xbInt16 FormatDate( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFmtIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFmtOut );</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *Str() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsLeapYear( xbInt16 iYear ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsLeapYear() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsNull() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> xbInt32 JulianDays() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> xbInt16 JulToDate8( xbInt32 lJulDate );</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> xbInt16 LastDayOfMonth();</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> xbInt16 MonthOf() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> xbInt16 Set( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Date8 );</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> xbInt16 Sysdate();</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> xbInt16 YearOf() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="preprocessor">#ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">void</span> Dump( <span class="keyword">const</span> <span class="keywordtype">char</span> * title );</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">void</span> DumpDateTables();</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">void</span> SetDateTables();</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> sDate8; <span class="comment">// CCYYMMDD date format ie; 20140718</span></div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="comment">// Null date is identified by sDate.Len() &lt; 8</span></div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">static</span> <span class="keywordtype">int</span> iAggregatedDaysInMonths[2][13];</div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">static</span> <span class="keywordtype">int</span> iDaysInMonths[2][13];</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span>};</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span>} <span class="comment">/* namespace */</span></div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="preprocessor">#endif </span><span class="comment">/*__XB_XBDATE_H__ */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
+<div class="ttc" id="aclassxb_1_1xbDate_html"><div class="ttname"><a href="classxb_1_1xbDate.html">xb::xbDate</a></div><div class="ttdoc">xbDate class.</div><div class="ttdef"><b>Definition:</b> xbdate.h:62</div></div>
+<div class="ttc" id="aclassxb_1_1xbSsv_html"><div class="ttname"><a href="classxb_1_1xbSsv.html">xb::xbSsv</a></div><div class="ttdoc">Class for handling shared system variables.</div><div class="ttdef"><b>Definition:</b> xbssv.h:59</div></div>
+<div class="ttc" id="aclassxb_1_1xbString_html"><div class="ttname"><a href="classxb_1_1xbString.html">xb::xbString</a></div><div class="ttdoc">Class for handling string data.</div><div class="ttdef"><b>Definition:</b> xbstring.h:50</div></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbdbf3_8cpp.html b/docs/doxygen/html/xbdbf3_8cpp.html
new file mode 100644
index 0000000..5adadaa
--- /dev/null
+++ b/docs/doxygen/html/xbdbf3_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbdbf3.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbdbf3.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbdbf4_8cpp.html b/docs/doxygen/html/xbdbf4_8cpp.html
new file mode 100644
index 0000000..5395036
--- /dev/null
+++ b/docs/doxygen/html/xbdbf4_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbdbf4.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbdbf4.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbdbf_8cpp.html b/docs/doxygen/html/xbdbf_8cpp.html
new file mode 100644
index 0000000..c4ea1d7
--- /dev/null
+++ b/docs/doxygen/html/xbdbf_8cpp.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbdbf.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> </div>
+ <div class="headertitle"><div class="title">xbdbf.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbdbf_8h.html b/docs/doxygen/html/xbdbf_8h.html
new file mode 100644
index 0000000..19a18aa
--- /dev/null
+++ b/docs/doxygen/html/xbdbf_8h.html
@@ -0,0 +1,456 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbdbf.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#define-members">Macros</a> </div>
+ <div class="headertitle"><div class="title">xbdbf.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbdbf_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxb_1_1xbSchema.html">xb::xbSchema</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schema used for defining tables with CreateTable methods. <a href="structxb_1_1xbSchema.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbDbf.html">xb::xbDbf</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for handling dbf files/tables. <a href="classxb_1_1xbDbf.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a20f739b9d9dc6a002a246a999e76aeaa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa">XB_CHAR_FLD</a>&#160;&#160;&#160;'C'</td></tr>
+<tr class="separator:a20f739b9d9dc6a002a246a999e76aeaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f6d5073af761bc1a806a2c7b1c1d886"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a2f6d5073af761bc1a806a2c7b1c1d886">XB_LOGICAL_FLD</a>&#160;&#160;&#160;'L'</td></tr>
+<tr class="separator:a2f6d5073af761bc1a806a2c7b1c1d886"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9fb6d69cc5edc94d36ae403c22ec1c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6">XB_NUMERIC_FLD</a>&#160;&#160;&#160;'N'</td></tr>
+<tr class="separator:ae9fb6d69cc5edc94d36ae403c22ec1c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f685e6f5fe804b2174725a27ce73adc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a7f685e6f5fe804b2174725a27ce73adc">XB_DATE_FLD</a>&#160;&#160;&#160;'D'</td></tr>
+<tr class="separator:a7f685e6f5fe804b2174725a27ce73adc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a23fa19b19cb43bd6dcc59a5a3f6c30ad"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a23fa19b19cb43bd6dcc59a5a3f6c30ad">XB_MEMO_FLD</a>&#160;&#160;&#160;'M'</td></tr>
+<tr class="separator:a23fa19b19cb43bd6dcc59a5a3f6c30ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a96ab4218d70ab603b4866354ce8c18cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a96ab4218d70ab603b4866354ce8c18cd">XB_FLOAT_FLD</a>&#160;&#160;&#160;'F'</td></tr>
+<tr class="separator:a96ab4218d70ab603b4866354ce8c18cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a843ca4569326dbd1d0647899b0eb512f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a843ca4569326dbd1d0647899b0eb512f">XB_CLOSED</a>&#160;&#160;&#160;0</td></tr>
+<tr class="separator:a843ca4569326dbd1d0647899b0eb512f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a6dafbb07cac744eb14094efa739409"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a9a6dafbb07cac744eb14094efa739409">XB_OPEN</a>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:a9a6dafbb07cac744eb14094efa739409"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a26e7eeda69f32bc88b08a208ca9e7991"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a26e7eeda69f32bc88b08a208ca9e7991">XB_UPDATED</a>&#160;&#160;&#160;2</td></tr>
+<tr class="separator:a26e7eeda69f32bc88b08a208ca9e7991"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a395a2e101a793bacabf6bc079d178e29"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a395a2e101a793bacabf6bc079d178e29">XB_LOCK</a>&#160;&#160;&#160;0</td></tr>
+<tr class="separator:a395a2e101a793bacabf6bc079d178e29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21389b73e7b4e7e185fa635b9e354c2e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a21389b73e7b4e7e185fa635b9e354c2e">XB_UNLOCK</a>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:a21389b73e7b4e7e185fa635b9e354c2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c08d01bd69e295b001bd00a228d8106"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a4c08d01bd69e295b001bd00a228d8106">LK_DBASE</a>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:a4c08d01bd69e295b001bd00a228d8106"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01d6d7910b0da2170eb904a97d864a41"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a01d6d7910b0da2170eb904a97d864a41">LK_CLIPPER</a>&#160;&#160;&#160;2</td></tr>
+<tr class="separator:a01d6d7910b0da2170eb904a97d864a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65e29186276222f460a7171803e07adf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a65e29186276222f460a7171803e07adf">LK_FOX</a>&#160;&#160;&#160;3</td></tr>
+<tr class="separator:a65e29186276222f460a7171803e07adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a42aea0ccd94f7422c8e0d7422dce85a4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a42aea0ccd94f7422c8e0d7422dce85a4">LK_XBASE64</a>&#160;&#160;&#160;9</td></tr>
+<tr class="separator:a42aea0ccd94f7422c8e0d7422dce85a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8bd17730da3ba5c55a6a07bc482dd0e4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a8bd17730da3ba5c55a6a07bc482dd0e4">XB_ALL_RECS</a>&#160;&#160;&#160;0</td></tr>
+<tr class="separator:a8bd17730da3ba5c55a6a07bc482dd0e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c44bb25bf2e23a3a9d3d2312df0b592"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a1c44bb25bf2e23a3a9d3d2312df0b592">XB_ACTIVE_RECS</a>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:a1c44bb25bf2e23a3a9d3d2312df0b592"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc0a441854ed92b9d65d1181a97cad43"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#acc0a441854ed92b9d65d1181a97cad43">XB_DELETED_RECS</a>&#160;&#160;&#160;2</td></tr>
+<tr class="separator:acc0a441854ed92b9d65d1181a97cad43"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fe10b307878b4612b04c2c876a4a592"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a6fe10b307878b4612b04c2c876a4a592">XB_OVERLAY</a>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:a6fe10b307878b4612b04c2c876a4a592"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b797840abdb3291373d15978103a778"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a7b797840abdb3291373d15978103a778">XB_DONTOVERLAY</a>&#160;&#160;&#160;0</td></tr>
+<tr class="separator:a7b797840abdb3291373d15978103a778"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada1115f596131888c04df61546b198c4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#ada1115f596131888c04df61546b198c4">XB_CHAREOF</a>&#160;&#160;&#160;'\x1A' /* end of DBF */</td></tr>
+<tr class="separator:ada1115f596131888c04df61546b198c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35d56cac7959c1e5c761684ced3f1e17"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbdbf_8h.html#a35d56cac7959c1e5c761684ced3f1e17">XB_CHARHDR</a>&#160;&#160;&#160;'\x0D' /* header terminator */</td></tr>
+<tr class="separator:a35d56cac7959c1e5c761684ced3f1e17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="a01d6d7910b0da2170eb904a97d864a41" name="a01d6d7910b0da2170eb904a97d864a41"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a01d6d7910b0da2170eb904a97d864a41">&#9670;&nbsp;</a></span>LK_CLIPPER</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LK_CLIPPER&#160;&#160;&#160;2</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4c08d01bd69e295b001bd00a228d8106" name="a4c08d01bd69e295b001bd00a228d8106"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4c08d01bd69e295b001bd00a228d8106">&#9670;&nbsp;</a></span>LK_DBASE</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LK_DBASE&#160;&#160;&#160;1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a65e29186276222f460a7171803e07adf" name="a65e29186276222f460a7171803e07adf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a65e29186276222f460a7171803e07adf">&#9670;&nbsp;</a></span>LK_FOX</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LK_FOX&#160;&#160;&#160;3</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a42aea0ccd94f7422c8e0d7422dce85a4" name="a42aea0ccd94f7422c8e0d7422dce85a4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a42aea0ccd94f7422c8e0d7422dce85a4">&#9670;&nbsp;</a></span>LK_XBASE64</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LK_XBASE64&#160;&#160;&#160;9</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1c44bb25bf2e23a3a9d3d2312df0b592" name="a1c44bb25bf2e23a3a9d3d2312df0b592"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1c44bb25bf2e23a3a9d3d2312df0b592">&#9670;&nbsp;</a></span>XB_ACTIVE_RECS</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_ACTIVE_RECS&#160;&#160;&#160;1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8bd17730da3ba5c55a6a07bc482dd0e4" name="a8bd17730da3ba5c55a6a07bc482dd0e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8bd17730da3ba5c55a6a07bc482dd0e4">&#9670;&nbsp;</a></span>XB_ALL_RECS</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_ALL_RECS&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a20f739b9d9dc6a002a246a999e76aeaa" name="a20f739b9d9dc6a002a246a999e76aeaa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a20f739b9d9dc6a002a246a999e76aeaa">&#9670;&nbsp;</a></span>XB_CHAR_FLD</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_CHAR_FLD&#160;&#160;&#160;'C'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ada1115f596131888c04df61546b198c4" name="ada1115f596131888c04df61546b198c4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ada1115f596131888c04df61546b198c4">&#9670;&nbsp;</a></span>XB_CHAREOF</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_CHAREOF&#160;&#160;&#160;'\x1A' /* end of DBF */</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a35d56cac7959c1e5c761684ced3f1e17" name="a35d56cac7959c1e5c761684ced3f1e17"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a35d56cac7959c1e5c761684ced3f1e17">&#9670;&nbsp;</a></span>XB_CHARHDR</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_CHARHDR&#160;&#160;&#160;'\x0D' /* header terminator */</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a843ca4569326dbd1d0647899b0eb512f" name="a843ca4569326dbd1d0647899b0eb512f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a843ca4569326dbd1d0647899b0eb512f">&#9670;&nbsp;</a></span>XB_CLOSED</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_CLOSED&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7f685e6f5fe804b2174725a27ce73adc" name="a7f685e6f5fe804b2174725a27ce73adc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7f685e6f5fe804b2174725a27ce73adc">&#9670;&nbsp;</a></span>XB_DATE_FLD</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_DATE_FLD&#160;&#160;&#160;'D'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="acc0a441854ed92b9d65d1181a97cad43" name="acc0a441854ed92b9d65d1181a97cad43"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acc0a441854ed92b9d65d1181a97cad43">&#9670;&nbsp;</a></span>XB_DELETED_RECS</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_DELETED_RECS&#160;&#160;&#160;2</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7b797840abdb3291373d15978103a778" name="a7b797840abdb3291373d15978103a778"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7b797840abdb3291373d15978103a778">&#9670;&nbsp;</a></span>XB_DONTOVERLAY</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_DONTOVERLAY&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a96ab4218d70ab603b4866354ce8c18cd" name="a96ab4218d70ab603b4866354ce8c18cd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a96ab4218d70ab603b4866354ce8c18cd">&#9670;&nbsp;</a></span>XB_FLOAT_FLD</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_FLOAT_FLD&#160;&#160;&#160;'F'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a395a2e101a793bacabf6bc079d178e29" name="a395a2e101a793bacabf6bc079d178e29"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a395a2e101a793bacabf6bc079d178e29">&#9670;&nbsp;</a></span>XB_LOCK</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_LOCK&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2f6d5073af761bc1a806a2c7b1c1d886" name="a2f6d5073af761bc1a806a2c7b1c1d886"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2f6d5073af761bc1a806a2c7b1c1d886">&#9670;&nbsp;</a></span>XB_LOGICAL_FLD</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_LOGICAL_FLD&#160;&#160;&#160;'L'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a23fa19b19cb43bd6dcc59a5a3f6c30ad" name="a23fa19b19cb43bd6dcc59a5a3f6c30ad"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a23fa19b19cb43bd6dcc59a5a3f6c30ad">&#9670;&nbsp;</a></span>XB_MEMO_FLD</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_MEMO_FLD&#160;&#160;&#160;'M'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae9fb6d69cc5edc94d36ae403c22ec1c6" name="ae9fb6d69cc5edc94d36ae403c22ec1c6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae9fb6d69cc5edc94d36ae403c22ec1c6">&#9670;&nbsp;</a></span>XB_NUMERIC_FLD</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_NUMERIC_FLD&#160;&#160;&#160;'N'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9a6dafbb07cac744eb14094efa739409" name="a9a6dafbb07cac744eb14094efa739409"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9a6dafbb07cac744eb14094efa739409">&#9670;&nbsp;</a></span>XB_OPEN</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_OPEN&#160;&#160;&#160;1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6fe10b307878b4612b04c2c876a4a592" name="a6fe10b307878b4612b04c2c876a4a592"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6fe10b307878b4612b04c2c876a4a592">&#9670;&nbsp;</a></span>XB_OVERLAY</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_OVERLAY&#160;&#160;&#160;1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a21389b73e7b4e7e185fa635b9e354c2e" name="a21389b73e7b4e7e185fa635b9e354c2e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a21389b73e7b4e7e185fa635b9e354c2e">&#9670;&nbsp;</a></span>XB_UNLOCK</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_UNLOCK&#160;&#160;&#160;1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a26e7eeda69f32bc88b08a208ca9e7991" name="a26e7eeda69f32bc88b08a208ca9e7991"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a26e7eeda69f32bc88b08a208ca9e7991">&#9670;&nbsp;</a></span>XB_UPDATED</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_UPDATED&#160;&#160;&#160;2</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbdbf_8h_source.html b/docs/doxygen/html/xbdbf_8h_source.html
new file mode 100644
index 0000000..4013491
--- /dev/null
+++ b/docs/doxygen/html/xbdbf_8h_source.html
@@ -0,0 +1,614 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbdbf.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbdbf.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbdbf_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbdbf.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022,2023 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#ifndef __XB_XBDBF_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define __XB_XBDBF_H__</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">//#ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">//#pragma interface</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">//#endif</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment">/*****************************/</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment">/* Field Types */</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a20f739b9d9dc6a002a246a999e76aeaa"> 29</a></span><span class="preprocessor">#define XB_CHAR_FLD &#39;C&#39;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a2f6d5073af761bc1a806a2c7b1c1d886"> 30</a></span><span class="preprocessor">#define XB_LOGICAL_FLD &#39;L&#39;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#ae9fb6d69cc5edc94d36ae403c22ec1c6"> 31</a></span><span class="preprocessor">#define XB_NUMERIC_FLD &#39;N&#39;</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a7f685e6f5fe804b2174725a27ce73adc"> 32</a></span><span class="preprocessor">#define XB_DATE_FLD &#39;D&#39;</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a23fa19b19cb43bd6dcc59a5a3f6c30ad"> 33</a></span><span class="preprocessor">#define XB_MEMO_FLD &#39;M&#39;</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a96ab4218d70ab603b4866354ce8c18cd"> 34</a></span><span class="preprocessor">#define XB_FLOAT_FLD &#39;F&#39;</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment">/*****************************/</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment">/* File Status Codes */</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a843ca4569326dbd1d0647899b0eb512f"> 39</a></span><span class="preprocessor">#define XB_CLOSED 0</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a9a6dafbb07cac744eb14094efa739409"> 40</a></span><span class="preprocessor">#define XB_OPEN 1</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a26e7eeda69f32bc88b08a208ca9e7991"> 41</a></span><span class="preprocessor">#define XB_UPDATED 2</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="comment">/*****************************/</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="comment">/* File Access Modes */</span></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="comment">// #define XB_SINGLE_USER 0 // file buffering on</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment">// #define XB_MULTI_USER 1 // file buffering off</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment">/*****************************/</span></div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment">/* File Lock Functions */</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a395a2e101a793bacabf6bc079d178e29"> 51</a></span><span class="preprocessor">#define XB_LOCK 0</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a21389b73e7b4e7e185fa635b9e354c2e"> 52</a></span><span class="preprocessor">#define XB_UNLOCK 1</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a4c08d01bd69e295b001bd00a228d8106"> 54</a></span><span class="preprocessor">#define LK_DBASE 1</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a01d6d7910b0da2170eb904a97d864a41"> 55</a></span><span class="preprocessor">#define LK_CLIPPER 2 </span><span class="comment">// future</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a65e29186276222f460a7171803e07adf"> 56</a></span><span class="preprocessor">#define LK_FOX 3 </span><span class="comment">// future</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a42aea0ccd94f7422c8e0d7422dce85a4"> 57</a></span><span class="preprocessor">#define LK_XBASE64 9 </span><span class="comment">// future</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment">/*****************************/</span></div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment">/* Record retrieve options */</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a8bd17730da3ba5c55a6a07bc482dd0e4"> 61</a></span><span class="preprocessor">#define XB_ALL_RECS 0</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a1c44bb25bf2e23a3a9d3d2312df0b592"> 62</a></span><span class="preprocessor">#define XB_ACTIVE_RECS 1</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#acc0a441854ed92b9d65d1181a97cad43"> 63</a></span><span class="preprocessor">#define XB_DELETED_RECS 2</span></div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment">/*****************************/</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment">/* Other defines */</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a6fe10b307878b4612b04c2c876a4a592"> 69</a></span><span class="preprocessor">#define XB_OVERLAY 1</span></div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a7b797840abdb3291373d15978103a778"> 70</a></span><span class="preprocessor">#define XB_DONTOVERLAY 0</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#ada1115f596131888c04df61546b198c4"> 71</a></span><span class="preprocessor">#define XB_CHAREOF &#39;\x1A&#39; </span><span class="comment">/* end of DBF */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="xbdbf_8h.html#a35d56cac7959c1e5c761684ced3f1e17"> 72</a></span><span class="preprocessor">#define XB_CHARHDR &#39;\x0D&#39; </span><span class="comment">/* header terminator */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="structxb_1_1xbSchema.html"> 95</a></span><span class="keyword">struct </span>XBDLLEXPORT <a class="code hl_struct" href="structxb_1_1xbSchema.html">xbSchema</a> {</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="structxb_1_1xbSchema.html#a514183856094123fd37df67885b4681e"> 96</a></span> <span class="keywordtype">char</span> cFieldName[11];</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="structxb_1_1xbSchema.html#a1d612b2ed5dc0b0289c9e91b3cda3a25"> 97</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structxb_1_1xbSchema.html#a1d612b2ed5dc0b0289c9e91b3cda3a25">cType</a>;</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="structxb_1_1xbSchema.html#a2da554af25ef628acf59bb52996056ac"> 98</a></span> xbInt16 <a class="code hl_variable" href="structxb_1_1xbSchema.html#a2da554af25ef628acf59bb52996056ac">iFieldLen</a>; <span class="comment">/* fields are stored as one byte on record*/</span></div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="structxb_1_1xbSchema.html#a55bab3bb69dee3508d168c93e182d4b9"> 99</a></span> xbInt16 <a class="code hl_variable" href="structxb_1_1xbSchema.html#a55bab3bb69dee3508d168c93e182d4b9">iNoOfDecs</a>;</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span>};</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="keyword">struct </span>XBDLLEXPORT xbSchemaRec {</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">char</span> cFieldName[11]; <span class="comment">/* ASCIIZ field name */</span></div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">char</span> cType; <span class="comment">/* field type */</span></div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">char</span> *pAddress; <span class="comment">/* pointer to field in record buffer 1 */</span></div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> cFieldLen; <span class="comment">/* fields are stored as one byte on record */</span></div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> cNoOfDecs;</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">char</span> *pAddress2; <span class="comment">/* pointer to field in record buffer 2 */</span></div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> xbInt16 iLongFieldLen; <span class="comment">/* to handle long field lengths */</span></div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> cIxFlag; <span class="comment">/* DBase IV Index field flag */</span></div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span>};</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="preprocessor">#ifdef XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="keyword">class </span>XBDLLEXPORT xbIx;</div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="comment">// structure for file list, each open DBF file can have one or more index files</span></div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="keyword">struct </span>XBDLLEXPORT xbIxList {</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> xbIxList *next;</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> xbIx *ix;</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> xbString *sFmt;</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span>};</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="preprocessor">#endif </span><span class="comment">// XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="comment"></span> </div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html"> 150</a></span><span class="keyword">class </span>XBDLLEXPORT <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> : <span class="keyword">public</span> <a class="code hl_class" href="classxb_1_1xbFile.html">xbFile</a> {</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> </div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a>( <a class="code hl_class" href="classxb_1_1xbXBase.html">xbXBase</a> *x );</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keyword">virtual</span> <a class="code hl_class" href="classxb_1_1xbDbf.html">~xbDbf</a>();</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">virtual</span> xbInt16 Abort();</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keyword">virtual</span> xbInt16 AppendRecord();</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keyword">virtual</span> xbInt16 BlankRecord();</div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keyword">virtual</span> xbInt16 Commit();</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keyword">virtual</span> xbInt16 Close();</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">virtual</span> xbInt16 CopyDbfStructure( <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> *dNewTable, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTableAlias, xbInt16 iOverlay, xbInt16 iShareMode );</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a73e41bfe679dd06ab16c436652df93f1"> 162</a></span> <span class="keyword">virtual</span> xbInt16 <a class="code hl_function" href="classxb_1_1xbDbf.html#a73e41bfe679dd06ab16c436652df93f1">CreateTable</a> ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sAlias, <a class="code hl_struct" href="structxb_1_1xbSchema.html">xbSchema</a> *pSchema, xbInt16 iOverlay, xbInt16 iShareMode ) = 0;</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keyword">virtual</span> xbInt16 DeleteTable ();</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keyword">virtual</span> xbInt16 DeleteAll ( xbInt16 iOption );</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keyword">virtual</span> xbInt16 DeleteAllRecords ();</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">virtual</span> xbInt16 DeleteRecord ();</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keyword">virtual</span> xbInt16 DumpHeader ( xbInt16 iOption );</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keyword">virtual</span> xbInt16 DumpRecord ( xbUInt32 ulRecNo, xbInt16 iOutputDest = 0, xbInt16 iOutputFmt = 0 );</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keyword">virtual</span> xbInt16 GetAutoCommit () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">virtual</span> xbInt16 GetAutoCommit ( xbInt16 iOption ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">virtual</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetBof ();</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keyword">virtual</span> xbUInt32 GetCurRecNo () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keyword">virtual</span> xbInt16 GetDbfStatus () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keyword">virtual</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetEof ();</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">virtual</span> xbInt32 GetFieldCnt () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keyword">virtual</span> xbInt16 GetFirstRecord ();</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <span class="keyword">virtual</span> xbInt16 GetFirstRecord ( xbInt16 iOption );</div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#ad56be2756b7a9f8318d9ba5cf215dafb"> 178</a></span> <span class="keyword">virtual</span> xbUInt16 <a class="code hl_function" href="classxb_1_1xbDbf.html#ad56be2756b7a9f8318d9ba5cf215dafb">GetHeaderLen</a> () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="keyword">virtual</span> xbInt16 GetLastRecord ();</div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">virtual</span> xbInt16 GetLastRecord ( xbInt16 iOption );</div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">virtual</span> xbInt16 GetNextRecord ();</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">virtual</span> xbInt16 GetNextRecord ( xbInt16 iOption );</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keyword">virtual</span> xbInt16 GetNextRecord ( xbInt16 iOption, xbUInt32 ulStartRec );</div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">virtual</span> xbInt16 GetPrevRecord ();</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keyword">virtual</span> xbInt16 GetPrevRecord ( xbInt16 iOption );</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">virtual</span> xbInt16 GetRecord ( xbUInt32 ulRecNo );</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> </div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="comment">// virtual xbUInt32 GetRecordCount ();</span></div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keyword">virtual</span> xbInt16 GetRecordCnt ( xbUInt32 &amp; ulRecCnt );</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> </div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">virtual</span> <span class="keywordtype">char</span> * GetRecordBuf ( xbInt16 iOpt = 0 ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">virtual</span> xbUInt16 GetRecordLen () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;GetTblAlias() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a49212a9eb17f7fa9f303e08d5fc50fc6"> 195</a></span> <span class="keyword">virtual</span> xbInt16 <a class="code hl_function" href="classxb_1_1xbDbf.html#a49212a9eb17f7fa9f303e08d5fc50fc6">GetVersion</a> () <span class="keyword">const</span> = 0; </div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">virtual</span> <a class="code hl_class" href="classxb_1_1xbXBase.html">xbXBase</a> *GetXbasePtr () <span class="keyword">const</span>; <span class="comment">// return xbase pointer</span></div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> </div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">virtual</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> MemoFieldsExist () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> </div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">virtual</span> xbInt16 Open ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName );</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">virtual</span> xbInt16 Open ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sAlias );</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a4d018cbf44d8d8b2145c9acab02c8adf"> 203</a></span> <span class="keyword">virtual</span> xbInt16 <a class="code hl_function" href="classxb_1_1xbDbf.html#a4d018cbf44d8d8b2145c9acab02c8adf">Open</a> ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sAlias, xbInt16 iOpenMode, xbInt16 iShareMode ) = 0;</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">virtual</span> xbInt16 Pack ();</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="keyword">virtual</span> xbInt16 Pack ( xbUInt32 &amp;ulDeletedRecCnt );</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> </div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> </div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="keyword">virtual</span> xbInt16 PutRecord (); <span class="comment">// Put record to current location</span></div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keyword">virtual</span> xbInt16 PutRecord ( xbUInt32 ulRecNo );</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span><span class="comment">// virtual xbInt16 ReadHeader ( xbInt16 iFilePositionOption, xbInt16 iReadOption );</span></div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">virtual</span> xbInt16 RecordDeleted ( xbInt16 iOpt = 0 ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#aeeeb2eb5fabcd0f91d457df07b0e0708"> 212</a></span> <span class="keyword">virtual</span> xbInt16 <a class="code hl_function" href="classxb_1_1xbDbf.html#aeeeb2eb5fabcd0f91d457df07b0e0708">Rename</a> ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> sNewName ) = 0;</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> </div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">virtual</span> xbInt16 SetAutoCommit ( xbInt16 iAutoCommit );</div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keyword">virtual</span> xbInt16 UndeleteAllRecords();</div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="keyword">virtual</span> xbInt16 UndeleteRecord ();</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">virtual</span> xbInt16 Zap ();</div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> </div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="comment">/* field methods */</span></div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="comment">//virtual xbInt16 GetRawField( xbInt16 iFieldNo, char *Buf, xbUInt32 BufSize, xbInt16 iRecBufSw ) const;</span></div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="keyword">virtual</span> xbInt16 GetField(xbInt16 iFieldNo, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldValue, xbInt16 iRecBufSw ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">virtual</span> xbInt16 GetField(xbInt16 iFieldNo, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldValue) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keyword">virtual</span> xbInt16 GetField(<span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldValue) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">virtual</span> xbInt16 GetFieldDecimal( xbInt16 iFieldNo, xbInt16 &amp;iFieldDecimal ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keyword">virtual</span> xbInt16 GetFieldDecimal( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, xbInt16 &amp;iFieldDecimal ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <span class="keyword">virtual</span> xbInt16 GetFieldLen( xbInt16 iFieldNo, xbInt16 &amp;iFieldLen ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keyword">virtual</span> xbInt16 GetFieldLen( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, xbInt16 &amp;iFieldLen ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <span class="keyword">virtual</span> xbInt16 GetFieldName( xbInt16 iFieldNo, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> </div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <span class="keyword">virtual</span> xbInt16 GetFieldNo( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, xbInt16 &amp;iFieldNo ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="keyword">virtual</span> xbInt16 GetFieldNo( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> </div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <span class="keyword">virtual</span> xbInt16 GetFieldType( xbInt16 iFieldNo, <span class="keywordtype">char</span> &amp;cFieldType ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <span class="keyword">virtual</span> xbInt16 GetFieldType( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <span class="keywordtype">char</span> &amp;cFieldType ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="keyword">virtual</span> xbInt16 PutField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldData );</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <span class="keyword">virtual</span> xbInt16 PutField( xbInt16 iFieldNo, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldData );</div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> </div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> <span class="keyword">virtual</span> xbInt16 PutLogicalField( xbInt16 iFieldNo, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldData );</div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="keyword">virtual</span> xbInt16 PutLogicalField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldData );</div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <span class="keyword">virtual</span> xbInt16 GetLogicalField( xbInt16 iFieldNo, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldData ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="keyword">virtual</span> xbInt16 GetLogicalField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldData) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> </div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keyword">virtual</span> xbInt16 PutLogicalField( xbInt16 iFieldNo, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bFieldData );</div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="keyword">virtual</span> xbInt16 PutLogicalField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bFieldData );</div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keyword">virtual</span> xbInt16 GetLogicalField( xbInt16 iFieldNo, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bFieldData ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">virtual</span> xbInt16 GetLogicalField( xbInt16 iFieldNo, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bFieldData, xbInt16 iRecBufSw ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keyword">virtual</span> xbInt16 GetLogicalField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bFieldData) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> </div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keyword">virtual</span> xbInt16 GetLongField( xbInt16 iFieldNo, xbInt32 &amp;lFieldValue ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keyword">virtual</span> xbInt16 GetLongField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, xbInt32 &amp;lFieldValue ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="keyword">virtual</span> xbInt16 PutLongField( xbInt16 iFieldNo, xbInt32 lFieldValue );</div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="keyword">virtual</span> xbInt16 PutLongField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, xbInt32 lFieldValue );</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> </div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <span class="keyword">virtual</span> xbInt16 GetULongField( xbInt16 iFieldNo, xbUInt32 &amp;lFieldValue ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <span class="keyword">virtual</span> xbInt16 GetULongField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, xbUInt32 &amp;lFieldValue ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">virtual</span> xbInt16 PutULongField( xbInt16 iFieldNo, xbUInt32 lFieldValue );</div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">virtual</span> xbInt16 PutULongField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldNo, xbUInt32 lFieldValue );</div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> </div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <span class="keyword">virtual</span> xbInt16 GetDoubleField( xbInt16 FieldNo, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dFieldValue ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keyword">virtual</span> xbInt16 GetDoubleField( xbInt16 FieldNo, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dFieldValue, xbInt16 iRecBufSw ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keyword">virtual</span> xbInt16 GetDoubleField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dFieldValue ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">virtual</span> xbInt16 PutDoubleField( xbInt16 FieldNo, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dFieldValue );</div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> <span class="keyword">virtual</span> xbInt16 PutDoubleField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;FieldName, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dFieldValue );</div>
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> </div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <span class="keyword">virtual</span> xbInt16 GetFloatField( xbInt16 iFieldNo, <a class="code hl_typedef" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a> &amp;fFieldValue ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="keyword">virtual</span> xbInt16 GetFloatField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="code hl_typedef" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a> &amp;fFieldValue ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="keyword">virtual</span> xbInt16 PutFloatField( xbInt16 iFieldNo, <a class="code hl_typedef" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a> fFieldValue );</div>
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="keyword">virtual</span> xbInt16 PutFloatField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="code hl_typedef" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a> fFieldValue );</div>
+<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> </div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> <span class="keyword">virtual</span> xbInt16 GetDateField( xbInt16 iFieldNo, <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dt ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="keyword">virtual</span> xbInt16 GetDateField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dt ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> <span class="keyword">virtual</span> xbInt16 PutDateField( xbInt16 iFieldNo, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dt );</div>
+<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <span class="keyword">virtual</span> xbInt16 PutDateField( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dt );</div>
+<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> </div>
+<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <span class="keyword">virtual</span> xbInt16 GetNullSts( xbInt16 iFieldNo, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bIsNull ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> <span class="keyword">virtual</span> xbInt16 GetNullSts( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bIsNull ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> <span class="keyword">virtual</span> xbInt16 GetNullSts( xbInt16 iFieldNo, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bIsNull, xbInt16 iRecBufSw ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> </div>
+<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> </div>
+<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> </div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span><span class="preprocessor"> #ifdef XB_MEMO_SUPPORT</span></div>
+<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> <span class="keyword">virtual</span> xbInt16 GetMemoFieldCnt () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <span class="keyword">virtual</span> xbMemo *GetMemoPtr ();</div>
+<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <span class="keyword">virtual</span> xbUInt32 GetCreateMemoBlockSize() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> <span class="keyword">virtual</span> xbInt16 GetMemoField ( xbInt16 iFldNo, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sMemoData );</div>
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> <span class="keyword">virtual</span> xbInt16 GetMemoField ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp; sFldName, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sMemoData );</div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <span class="keyword">virtual</span> xbInt16 GetMemoFieldLen ( xbInt16 iFldNo, xbUInt32 &amp;ulMemoFieldLen );</div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <span class="keyword">virtual</span> xbInt16 GetMemoFieldLen ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp; sFldName, xbUInt32 &amp;ulMemoFieldLen );</div>
+<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> <span class="keyword">virtual</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> MemoFieldExists ( xbInt16 iFieldNo ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> <span class="keyword">virtual</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> MemoFieldExists ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFieldName ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <span class="keyword">virtual</span> xbInt16 SetCreateMemoBlockSize( xbUInt32 ulBlockSize ) = 0;</div>
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <span class="keyword">virtual</span> xbInt16 UpdateMemoField ( xbInt16 iFldNo, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sMemoData );</div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <span class="keyword">virtual</span> xbInt16 UpdateMemoField ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp; sFldName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sMemoData );</div>
+<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span><span class="preprocessor"> #endif </span><span class="comment">// XB_MEMO_SUPPORT</span></div>
+<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> </div>
+<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> </div>
+<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span><span class="preprocessor"> #ifdef XB_LOCKING_SUPPORT</span></div>
+<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> <span class="keyword">virtual</span> xbInt16 LockTable ( xbInt16 iLockFunction );</div>
+<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <span class="keyword">virtual</span> xbInt16 LockRecord ( xbInt16 iLockFunction, xbUInt32 ulRecNo );</div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> <span class="keyword">virtual</span> xbInt16 LockAppend ( xbInt16 iLockFunction );</div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <span class="keyword">virtual</span> xbInt16 LockHeader ( xbInt16 iLockFunction );</div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> </div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span><span class="preprocessor"> #ifdef XB_MEMO_SUPPORT</span></div>
+<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <span class="keyword">virtual</span> xbInt16 LockMemo ( xbInt16 iLockFunction );</div>
+<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> <span class="keyword">virtual</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetMemoLocked () <span class="keyword">const</span>; </div>
+<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span><span class="preprocessor"> #endif </span><span class="comment">// XB_MEMO_LOCK</span></div>
+<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> </div>
+<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span><span class="preprocessor"> #ifdef XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <span class="keyword">virtual</span> xbInt16 LockIndices ( xbInt16 iLockFunction );</div>
+<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span><span class="preprocessor"> #endif </span><span class="comment">// XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> </div>
+<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> xbInt16 GetAutoLock () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <span class="keywordtype">void</span> SetAutoLock ( xbInt16 iAutoLock );</div>
+<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> xbInt16 GetLockFlavor () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keywordtype">void</span> SetLockFlavor ( xbInt16 iLockFlavor );</div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetTableLocked () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetHeaderLocked () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> xbUInt32 GetAppendLocked () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> xbLinkListNode&lt;xbUInt32&gt; * GetFirstRecLock () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> </div>
+<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <span class="keywordtype">void</span> DumpTableLockStatus() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span><span class="preprocessor"> #endif </span><span class="comment">// XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span><span class="preprocessor"> #endif </span><span class="comment">// XB_LOCKING_SUPPORT</span></div>
+<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> </div>
+<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> </div>
+<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span><span class="preprocessor"> #ifdef XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> <span class="keyword">virtual</span> xbInt16 CheckTagIntegrity( xbInt16 iTagOpt, xbInt16 iOutputOpt );</div>
+<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <span class="keyword">virtual</span> xbInt16 CloseIndexFile( xbIx *pIx );</div>
+<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> <span class="keyword">virtual</span> xbInt16 CreateTag( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIxType, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sKey, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFilter, </div>
+<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverLay, xbIx **xbIxOut, <span class="keywordtype">void</span> **vpTagOut );</div>
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> <span class="keyword">virtual</span> xbInt16 DeleteTag( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIxType, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sName );</div>
+<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> <span class="keyword">virtual</span> xbInt16 DeleteAllIndexFiles();</div>
+<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <span class="keyword">virtual</span> xbInt16 Find( <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sKey );</div>
+<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> <span class="keyword">virtual</span> xbInt16 Find( <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dtKey );</div>
+<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> <span class="keyword">virtual</span> xbInt16 Find( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dKey );</div>
+<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> <span class="keyword">virtual</span> xbIx *GetCurIx() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> *GetCurTag() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> </div>
+<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> <span class="keyword">virtual</span> xbInt16 GetFirstKey();</div>
+<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <span class="keyword">virtual</span> xbInt16 GetNextKey();</div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <span class="keyword">virtual</span> xbInt16 GetPrevKey();</div>
+<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> <span class="keyword">virtual</span> xbInt16 GetLastKey();</div>
+<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> </div>
+<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;GetCurIxType() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;GetCurTagName() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> <span class="keyword">virtual</span> xbIxList *GetIxList() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> <span class="keyword">virtual</span> xbInt32 GetPhysicalIxCnt () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> xbLinkListNode&lt;xbTag *&gt; *GetTagList () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> </div>
+<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> <span class="keyword">virtual</span> xbInt16 OpenIndex( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIxType, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIndexName );</div>
+<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> <span class="keyword">virtual</span> xbInt16 Reindex( xbInt16 iTagOpt = 0, xbInt16 iErrorOpt = 1, xbIx **pIx = NULL, <span class="keywordtype">void</span> **vpTag = NULL );</div>
+<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> <span class="keyword">virtual</span> xbInt16 SetCurTag( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTagName );</div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetCurTag( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIxType, xbIx *pIx, <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> </div>
+<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span><span class="preprocessor"> #endif </span><span class="comment">// XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> </div>
+<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span><span class="preprocessor"> #ifdef XB_INF_SUPPORT</span></div>
+<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> <span class="keyword">virtual</span> xbInt16 AssociateIndex( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sType, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sName, xbInt16 iOption );</div>
+<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> xbLinkListNode&lt;xbString&gt; *GetInfList() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span><span class="preprocessor"> #endif </span><span class="comment">// XB_INF_SUPPORT</span></div>
+<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> </div>
+<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> <span class="comment">//#ifdef XB_MDX_SUPPORT</span></div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <span class="comment">//virtual xbInt16 GetCreateMdxBlockSize() const;</span></div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> <span class="comment">//virtual xbInt16 SetCreateMdxBlockSize( xbInt16 ulBlockSize );</span></div>
+<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> <span class="comment">//#endif</span></div>
+<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> </div>
+<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span><span class="preprocessor"> #ifdef XB_BLOCKREAD_SUPPORT</span></div>
+<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> xbInt16 DisableBlockReadProcessing();</div>
+<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> xbInt16 EnableBlockReadProcessing();</div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetBlockReadStatus() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span><span class="preprocessor"> #endif </span><span class="comment">// XB_BLOCKREAD_SUPPORT</span></div>
+<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> </div>
+<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span><span class="preprocessor"> #ifdef XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> <span class="keyword">friend</span> <span class="keyword">class </span>xbIx;</div>
+<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> <span class="keyword">friend</span> <span class="keyword">class </span>xbIxMdx;</div>
+<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> <span class="keyword">friend</span> <span class="keyword">class </span>xbIxTdx;</div>
+<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> </div>
+<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> xbInt16 AddIndex( xbIx *ix, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFmt );</div>
+<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> <span class="keywordtype">void</span> ClearTagList();</div>
+<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> xbInt16 RemoveIndex( xbIx * ix );</div>
+<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> <span class="keywordtype">void</span> UpdateSchemaIxFlag( xbInt16 iFldNo, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> cVal );</div>
+<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> </div>
+<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> </div>
+<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> <span class="keyword">virtual</span> xbInt16 UpdateTagList ();</div>
+<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span><span class="preprocessor"> #endif </span><span class="comment">// XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> </div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> <span class="keyword">virtual</span> xbInt16 ReadHeader ( xbInt16 iFilePositionOption, xbInt16 iReadOption );</div>
+<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> </div>
+<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> </div>
+<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span><span class="preprocessor"> #ifdef XB_INF_SUPPORT</span></div>
+<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> <span class="keyword">virtual</span> xbInt16 GetInfFileName( <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sNdxIdxFileName );</div>
+<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span><span class="preprocessor"> #endif </span><span class="comment">// XB_INF_SUPPORT</span></div>
+<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> </div>
+<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span><span class="preprocessor"> #ifdef XB_BLOCKREAD_SUPPORT</span></div>
+<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> <span class="keyword">friend</span> <span class="keyword">class </span>xbBlockRead;</div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span><span class="preprocessor"> #endif </span><span class="comment">// XB_BLOCKREAD_SUPPORT</span></div>
+<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> </div>
+<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> </div>
+<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span><span class="preprocessor"> #ifdef XB_LOCKING_SUPPORT</span></div>
+<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> <span class="keywordtype">void</span> SetHeaderLocked ( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bTableLocked );</div>
+<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> <span class="keywordtype">void</span> SetTableLocked ( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bTableLocked );</div>
+<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span><span class="preprocessor"> #endif </span><span class="comment">// XB_LOCKING_SUPORT</span></div>
+<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> </div>
+<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span><span class="preprocessor"> #ifdef XB_MEMO_SUPPORT</span></div>
+<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> xbInt16 iMemoFieldCnt; <span class="comment">// Memo field cnt in the table</span></div>
+<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> xbMemo *Memo; <span class="comment">// Pointer to memo class</span></div>
+<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> xbUInt32 ulCreateMemoBlockSize; <span class="comment">// blocksize to use when creating dbt file</span></div>
+<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> </div>
+<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span><span class="preprocessor"> #ifdef XB_INF_SUPPORT</span></div>
+<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> <span class="keyword">virtual</span> xbInt16 DeleteInfData();</div>
+<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> <span class="keyword">virtual</span> xbInt16 LoadInfData();</div>
+<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> <span class="keyword">virtual</span> xbInt16 SaveInfData();</div>
+<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span><span class="preprocessor"> #endif </span><span class="comment">// XB_INF_SUPPORT</span></div>
+<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> </div>
+<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span><span class="comment"> #ifdef XB_MDX_SUPPORT</span></div>
+<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span><span class="comment"> xbInt16 iCreateMdxBlockSize;</span></div>
+<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span><span class="comment"> #endif // XB_MDX_SUPPORT</span></div>
+<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> </div>
+<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> <span class="keyword">virtual</span> xbInt16 GetRawField( xbInt16 iFieldNo, <span class="keywordtype">char</span> *Buf, xbUInt32 BufSize, xbInt16 iRecBufSw ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a7e63e852418f337eb7c44de5dcd50323"> 427</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> InitVars(); </div>
+<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#aba5dcac3b4092261bc1669740cdd669d"> 428</a></span> <span class="keyword">virtual</span> xbInt16 SetVersion() = 0;</div>
+<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> <span class="keyword">virtual</span> xbInt16 ValidateSchema( <a class="code hl_struct" href="structxb_1_1xbSchema.html">xbSchema</a> * s ) = 0;</div>
+<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> xbInt16 WriteHeader( xbInt16 iPositionOption, xbInt16 iWriteOption );</div>
+<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> </div>
+<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#afcd99924606be0a9e1e25180bcd1abf8"> 432</a></span> </div>
+<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#ab506450954bc86e7bf1d7c4efe681f43"> 433</a></span> xbUInt32 ulCurRec; <span class="comment">// Current record or zero</span></div>
+<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> xbInt16 iAutoCommit; <span class="comment">// Auto commit updates if not explicitly performed before moving off record?</span></div>
+<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> <span class="comment">// -1 --&gt; Use DBMS default</span></div>
+<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> <span class="comment">// 0 --&gt; No auto update on this table, regardless of DBMS setting</span></div>
+<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> <span class="comment">// 1 --&gt; Auto update on this table, regardless of DBMS setting</span></div>
+<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a15f495446f0d75bcf2fa89e3b699d388"> 438</a></span> </div>
+<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> xbInt16 iFileVersion; <span class="comment">// xBase file version - which class is in play</span></div>
+<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> </div>
+<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a73f9c792d0a769e2e604c1855245a276"> 441</a></span> </div>
+<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a5056757614c39f725cc775332494966a"> 442</a></span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> sAlias; <span class="comment">// table alias</span></div>
+<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a6d8e193da3ca414eef1e8866ec5ca81b"> 443</a></span> xbInt16 iNoOfFields;</div>
+<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> xbInt16 iDbfStatus; <span class="comment">// 0 = closed</span></div>
+<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> <span class="comment">// 1 = open</span></div>
+<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> <span class="comment">// 2 = updates pending</span></div>
+<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#ad8c8b5eb12063bb898da1b2cc02cfce7"> 447</a></span> </div>
+<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a8a9b3bce0b741e73473d3ebbd6e6f1cd"> 448</a></span> xbSchemaRec *SchemaPtr; <span class="comment">// Pointer to field data</span></div>
+<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a353ebfc8a2960ef827f429ec74025606"> 449</a></span> <span class="keywordtype">char</span> *RecBuf; <span class="comment">// Pointer to record buffer</span></div>
+<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> <span class="keywordtype">char</span> *RecBuf2; <span class="comment">// Pointer to original rec buf allocation</span></div>
+<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> </div>
+<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> </div>
+<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a3a262abf658e5fa968b57ef457a69470"> 453</a></span><span class="comment">/* Next several variables are database header fields, up through dbase V */</span></div>
+<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a4fcd6a86ddd32d4a9d76a4074573440a"> 454</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> cVersion;</div>
+<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a9340a5e8ee53eb0f3b6601eec2d71e1b"> 455</a></span> <span class="keywordtype">char</span> cUpdateYY;</div>
+<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a6021789d314cd41488991e708fcd0df2"> 456</a></span> <span class="keywordtype">char</span> cUpdateMM;</div>
+<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#acb594ab61dd35b17bdf28394083f8e87"> 457</a></span> <span class="keywordtype">char</span> cUpdateDD;</div>
+<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a62f5fa9149ae0f6dc75642823de66918"> 458</a></span> xbUInt32 ulNoOfRecs;</div>
+<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a1760e222567e2c849f9c799b9d896e91"> 459</a></span> xbUInt16 uiHeaderLen;</div>
+<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#ac3c89fc3bc6a6abf385478a8adbed970"> 460</a></span> xbUInt16 uiRecordLen;</div>
+<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#a8734e799707582f022fc341d515650f4"> 461</a></span> <span class="keywordtype">char</span> cTransactionFlag;</div>
+<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#ad59074633641e03647e54d2b66c9102b"> 462</a></span> <span class="keywordtype">char</span> cEncryptionFlag;</div>
+<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"><a class="line" href="classxb_1_1xbDbf.html#aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1"> 463</a></span> <span class="keywordtype">char</span> cIndexFlag;</div>
+<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> <span class="keywordtype">char</span> cLangDriver; <span class="comment">// dbase 7 sets to 1B</span></div>
+<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> </div>
+<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> </div>
+<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> </div>
+<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> <span class="keywordtype">void</span> ResetNoOfRecords(); </div>
+<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> </div>
+<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> </div>
+<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span><span class="preprocessor"> #ifdef XB_LOCKING_SUPPORT</span></div>
+<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> xbInt16 iAutoLock; <span class="comment">// 0 - autolock off, 1 - autolock on</span></div>
+<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> xbInt16 iLockFlavor;</div>
+<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bTableLocked; <span class="comment">// is the table locked</span></div>
+<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bHeaderLocked; <span class="comment">// is the header locked</span></div>
+<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> xbUInt32 ulAppendLocked; <span class="comment">// record number of the new record for the append lock operation</span></div>
+<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> xbLinkListOrd&lt;xbUInt32&gt; lloRecLocks; <span class="comment">// ordered link list of locked records</span></div>
+<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> </div>
+<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span><span class="preprocessor"> #ifdef XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> xbIxList *ixList; <span class="comment">// pointer to a list of indices associated with the table</span></div>
+<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> xbIx *pCurIx; <span class="comment">// Pointer to current index class</span></div>
+<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> <span class="keywordtype">void</span> *vpCurIxTag; <span class="comment">// Pointer to current tag</span></div>
+<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> sCurIxType; <span class="comment">// Current index type</span></div>
+<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> xbLinkList&lt;xbTag *&gt; llTags; <span class="comment">// linked list of open tags</span></div>
+<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span><span class="preprocessor"> #endif </span><span class="comment">// XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span> </div>
+<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span><span class="preprocessor"> #ifdef XB_INF_SUPPORT</span></div>
+<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> xbLinkList&lt;xbString&gt; llInfData; <span class="comment">// linked list of strings containing ndx file entries</span></div>
+<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span><span class="preprocessor"> #endif </span><span class="comment">// XB_INF_SUPPORT</span></div>
+<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> </div>
+<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span><span class="preprocessor"> #ifdef XB_BLOCKREAD_SUPPORT</span></div>
+<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> xbBlockRead *pRb;</div>
+<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bBlockReadEnabled; <span class="comment">// if true, then block read mode is on</span></div>
+<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> </div>
+<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> </div>
+<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> </div>
+<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span>};</div>
+<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> </div>
+<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> </div>
+<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span><span class="preprocessor">#ifdef XB_DBF3_SUPPORT</span></div>
+<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> </div>
+<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span><span class="keyword">class </span>XBDLLEXPORT xbDbf3 : <span class="keyword">public</span> <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> {</div>
+<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> xbDbf3(<a class="code hl_class" href="classxb_1_1xbXBase.html">xbXBase</a> *x);</div>
+<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> ~xbDbf3();</div>
+<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> <span class="keyword">virtual</span> xbInt16 CreateTable ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sAlias, <a class="code hl_struct" href="structxb_1_1xbSchema.html">xbSchema</a> *, xbInt16 iOverlay, xbInt16 iShareMode );</div>
+<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> <span class="keyword">virtual</span> xbInt16 GetVersion () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> <span class="keyword">virtual</span> xbInt16 Open ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sAlias, xbInt16 iOpenMode, xbInt16 iShareMode );</div>
+<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> <span class="keyword">virtual</span> xbInt16 Rename ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> sNewName );</div>
+<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> </div>
+<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span><span class="preprocessor"> #ifdef XB_MEMO_SUPPORT</span></div>
+<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> <span class="keyword">virtual</span> xbInt16 SetCreateMemoBlockSize( xbUInt32 iBlockSize );</div>
+<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> </div>
+<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> xbInt16 SetVersion ();</div>
+<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> <span class="keyword">virtual</span> xbInt16 ValidateSchema( <a class="code hl_struct" href="structxb_1_1xbSchema.html">xbSchema</a> *s );</div>
+<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> </div>
+<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> </div>
+<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span>};</div>
+<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span><span class="preprocessor">#endif </span><span class="comment">/* XB_DBF3_SUPPORT */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span> </div>
+<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> </div>
+<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span><span class="preprocessor">#ifdef XB_DBF4_SUPPORT</span></div>
+<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> </div>
+<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span><span class="keyword">class </span>XBDLLEXPORT xbDbf4 : <span class="keyword">public</span> <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> {</div>
+<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> xbDbf4( <a class="code hl_variable" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a> *x );</div>
+<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span> </div>
+<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> ~xbDbf4();</div>
+<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> </div>
+<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> <span class="keyword">virtual</span> xbInt16 CreateTable ( <span class="keyword">const</span> xbString &amp;sTableName, <span class="keyword">const</span> xbString &amp;sAlias, xbSchema *, xbInt16 iOverlay, xbInt16 iShareMode );</div>
+<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> <span class="keyword">virtual</span> xbInt16 GetVersion () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> <span class="keyword">virtual</span> xbInt16 Open ( <span class="keyword">const</span> xbString &amp;sTableName, <span class="keyword">const</span> xbString &amp;sAlias, xbInt16 iOpenMode, xbInt16 iShareMode );</div>
+<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> <span class="keyword">virtual</span> xbInt16 Rename ( <span class="keyword">const</span> xbString sNewName );</div>
+<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> </div>
+<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span><span class="preprocessor"> #ifdef XB_MEMO_SUPPORT</span></div>
+<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> <span class="keyword">virtual</span> xbInt16 SetCreateMemoBlockSize( xbUInt32 iBlockSize );</div>
+<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> </div>
+<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> <span class="comment">// void InitVars ();</span></div>
+<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> xbInt16 SetVersion();</div>
+<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> <span class="keyword">virtual</span> xbInt16 ValidateSchema ( xbSchema *s );</div>
+<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span> </div>
+<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span> </div>
+<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span>};</div>
+<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span> </div>
+<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span><span class="preprocessor">#endif </span><span class="comment">/* XB_DBF4_SUPPORT */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span> </div>
+<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span>} <span class="comment">/* namespace xb */</span></div>
+<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span><span class="preprocessor">#endif </span><span class="comment">/* __XB_DBF_H__ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclassxb_1_1xbDate_html"><div class="ttname"><a href="classxb_1_1xbDate.html">xb::xbDate</a></div><div class="ttdoc">xbDate class.</div><div class="ttdef"><b>Definition:</b> xbdate.h:62</div></div>
+<div class="ttc" id="aclassxb_1_1xbDbf_html"><div class="ttname"><a href="classxb_1_1xbDbf.html">xb::xbDbf</a></div><div class="ttdoc">Base class for handling dbf files/tables.</div><div class="ttdef"><b>Definition:</b> xbdbf.h:150</div></div>
+<div class="ttc" id="aclassxb_1_1xbDbf_html_a49212a9eb17f7fa9f303e08d5fc50fc6"><div class="ttname"><a href="classxb_1_1xbDbf.html#a49212a9eb17f7fa9f303e08d5fc50fc6">xb::xbDbf::GetVersion</a></div><div class="ttdeci">virtual xbInt16 GetVersion() const =0</div></div>
+<div class="ttc" id="aclassxb_1_1xbDbf_html_a4d018cbf44d8d8b2145c9acab02c8adf"><div class="ttname"><a href="classxb_1_1xbDbf.html#a4d018cbf44d8d8b2145c9acab02c8adf">xb::xbDbf::Open</a></div><div class="ttdeci">virtual xbInt16 Open(const xbString &amp;sTableName, const xbString &amp;sAlias, xbInt16 iOpenMode, xbInt16 iShareMode)=0</div></div>
+<div class="ttc" id="aclassxb_1_1xbDbf_html_a73e41bfe679dd06ab16c436652df93f1"><div class="ttname"><a href="classxb_1_1xbDbf.html#a73e41bfe679dd06ab16c436652df93f1">xb::xbDbf::CreateTable</a></div><div class="ttdeci">virtual xbInt16 CreateTable(const xbString &amp;sTableName, const xbString &amp;sAlias, xbSchema *pSchema, xbInt16 iOverlay, xbInt16 iShareMode)=0</div></div>
+<div class="ttc" id="aclassxb_1_1xbDbf_html_ad56be2756b7a9f8318d9ba5cf215dafb"><div class="ttname"><a href="classxb_1_1xbDbf.html#ad56be2756b7a9f8318d9ba5cf215dafb">xb::xbDbf::GetHeaderLen</a></div><div class="ttdeci">virtual xbUInt16 GetHeaderLen() const</div></div>
+<div class="ttc" id="aclassxb_1_1xbDbf_html_aeeeb2eb5fabcd0f91d457df07b0e0708"><div class="ttname"><a href="classxb_1_1xbDbf.html#aeeeb2eb5fabcd0f91d457df07b0e0708">xb::xbDbf::Rename</a></div><div class="ttdeci">virtual xbInt16 Rename(const xbString sNewName)=0</div></div>
+<div class="ttc" id="aclassxb_1_1xbFile_html"><div class="ttname"><a href="classxb_1_1xbFile.html">xb::xbFile</a></div><div class="ttdoc">Class for handling low level file I/O.</div><div class="ttdef"><b>Definition:</b> xbfile.h:56</div></div>
+<div class="ttc" id="aclassxb_1_1xbString_html"><div class="ttname"><a href="classxb_1_1xbString.html">xb::xbString</a></div><div class="ttdoc">Class for handling string data.</div><div class="ttdef"><b>Definition:</b> xbstring.h:50</div></div>
+<div class="ttc" id="aclassxb_1_1xbXBase_html"><div class="ttname"><a href="classxb_1_1xbXBase.html">xb::xbXBase</a></div><div class="ttdoc">xbXbase class.</div><div class="ttdef"><b>Definition:</b> xbxbase.h:123</div></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_a25f47b226ce924a5c78f97989b0744a2"><div class="ttname"><a href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb::xbDouble</a></div><div class="ttdeci">double xbDouble</div><div class="ttdef"><b>Definition:</b> xbtypes.h:23</div></div>
+<div class="ttc" id="anamespacexb_html_a83aa6a550398db55973aa9fb4257e66e"><div class="ttname"><a href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xb::xbFloat</a></div><div class="ttdeci">float xbFloat</div><div class="ttdef"><b>Definition:</b> xbtypes.h:22</div></div>
+<div class="ttc" id="anamespacexb_html_a97858ddeb1c4b0100f3edc1a46d3a8b0"><div class="ttname"><a href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xb::xbXBase</a></div><div class="ttdeci">class XBDLLEXPORT xbXBase</div><div class="ttdef"><b>Definition:</b> xbssv.h:27</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+<div class="ttc" id="anamespacexb_html_ab2eae4b4732466698a7fdd89d77ba53b"><div class="ttname"><a href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xb::xbDbf</a></div><div class="ttdeci">class XBDLLEXPORT xbDbf</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:28</div></div>
+<div class="ttc" id="astructxb_1_1xbSchema_html"><div class="ttname"><a href="structxb_1_1xbSchema.html">xb::xbSchema</a></div><div class="ttdoc">Schema used for defining tables with CreateTable methods.</div><div class="ttdef"><b>Definition:</b> xbdbf.h:95</div></div>
+<div class="ttc" id="astructxb_1_1xbSchema_html_a1d612b2ed5dc0b0289c9e91b3cda3a25"><div class="ttname"><a href="structxb_1_1xbSchema.html#a1d612b2ed5dc0b0289c9e91b3cda3a25">xb::xbSchema::cType</a></div><div class="ttdeci">char cType</div><div class="ttdef"><b>Definition:</b> xbdbf.h:97</div></div>
+<div class="ttc" id="astructxb_1_1xbSchema_html_a2da554af25ef628acf59bb52996056ac"><div class="ttname"><a href="structxb_1_1xbSchema.html#a2da554af25ef628acf59bb52996056ac">xb::xbSchema::iFieldLen</a></div><div class="ttdeci">xbInt16 iFieldLen</div><div class="ttdef"><b>Definition:</b> xbdbf.h:98</div></div>
+<div class="ttc" id="astructxb_1_1xbSchema_html_a55bab3bb69dee3508d168c93e182d4b9"><div class="ttname"><a href="structxb_1_1xbSchema.html#a55bab3bb69dee3508d168c93e182d4b9">xb::xbSchema::iNoOfDecs</a></div><div class="ttdeci">xbInt16 iNoOfDecs</div><div class="ttdef"><b>Definition:</b> xbdbf.h:99</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbdelete_8cpp.html b/docs/doxygen/html/xbdelete_8cpp.html
new file mode 100644
index 0000000..bab3b1c
--- /dev/null
+++ b/docs/doxygen/html/xbdelete_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/sql/xbdelete.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbdelete.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbdrpix_8cpp.html b/docs/doxygen/html/xbdrpix_8cpp.html
new file mode 100644
index 0000000..059570b
--- /dev/null
+++ b/docs/doxygen/html/xbdrpix_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/sql/xbdrpix.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbdrpix.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbdrptbl_8cpp.html b/docs/doxygen/html/xbdrptbl_8cpp.html
new file mode 100644
index 0000000..2ccae0e
--- /dev/null
+++ b/docs/doxygen/html/xbdrptbl_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/sql/xbdrptbl.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbdrptbl.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbexp_8cpp.html b/docs/doxygen/html/xbexp_8cpp.html
new file mode 100644
index 0000000..55a0b2e
--- /dev/null
+++ b/docs/doxygen/html/xbexp_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbexp.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbexp.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbexp_8h.html b/docs/doxygen/html/xbexp_8h.html
new file mode 100644
index 0000000..f57f73c
--- /dev/null
+++ b/docs/doxygen/html/xbexp_8h.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbexp.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#define-members">Macros</a> </div>
+ <div class="headertitle"><div class="title">xbexp.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbexp_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a6e9d2ccba2b3ac6e44ab411ffda488c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbexp_8h.html#a6e9d2ccba2b3ac6e44ab411ffda488c2">XB_NULL_DATE</a>&#160;&#160;&#160;21474835648</td></tr>
+<tr class="separator:a6e9d2ccba2b3ac6e44ab411ffda488c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="a6e9d2ccba2b3ac6e44ab411ffda488c2" name="a6e9d2ccba2b3ac6e44ab411ffda488c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e9d2ccba2b3ac6e44ab411ffda488c2">&#9670;&nbsp;</a></span>XB_NULL_DATE</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_NULL_DATE&#160;&#160;&#160;21474835648</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbexp_8h_source.html b/docs/doxygen/html/xbexp_8h_source.html
new file mode 100644
index 0000000..9f7ff76
--- /dev/null
+++ b/docs/doxygen/html/xbexp_8h_source.html
@@ -0,0 +1,243 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbexp.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbexp.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbexp_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbexp.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#ifndef __XB_EXP_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define __XB_EXP_H__</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">// #ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">// #pragma interface</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">// #endif</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="xbexp_8h.html#a6e9d2ccba2b3ac6e44ab411ffda488c2"> 25</a></span><span class="preprocessor">#define XB_NULL_DATE 21474835648</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#ifdef XB_FUNCTION_SUPPORT</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#define XB_EXP_CHAR &#39;C&#39;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#define XB_EXP_DATE &#39;D&#39;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#define XB_EXP_LOGICAL &#39;L&#39;</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#define XB_EXP_NUMERIC &#39;N&#39;</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#define XB_EXP_UNKNOWN &#39;U&#39;</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#ifdef XB_EXPRESSION_SUPPORT</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#define XB_EXP_CONSTANT &#39;C&#39;</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#define XB_EXP_FUNCTION &#39;F&#39;</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#define XB_EXP_FIELD &#39;D&#39;</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor">#define XB_EXP_OPERATOR &#39;O&#39;</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="preprocessor">#define XB_EXP_NOTROOT &#39;N&#39; </span><span class="comment">// not root node, needs further parsing</span></div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor">#define XB_EXP_PRE_OPERATOR &#39;B&#39; </span><span class="comment">// (B)efore) pre increment, pre decrement</span></div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="preprocessor">#define XB_EXP_POST_OPERATOR &#39;A&#39; </span><span class="comment">// (A)fter) post increment, pre decrement</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="preprocessor">#define XB_END_OF_EXPRESSION -100</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="comment">// #define XB_UNBALANCED_PARENS -101</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment">// #define XB_UNBALANCED_QUOTES -102</span></div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="keyword">struct </span>XBDLLEXPORT xbExpToken {</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> xbString sExpression; <span class="comment">// in - expression to pull next token from</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// out - remainder of the expression after token removed</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> xbString sToken; <span class="comment">// next token pulled from the expression</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">char</span> cNodeType; <span class="comment">// one of XB_EXP_CONSTANT, XB_EXP_FUNCTION, XB_EXP_FIELD, XB_EXP_OPERATOR, XB_EXP_NOTROOT</span></div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">char</span> cReturnType; <span class="comment">// one of XB_EXP_CHAR, XB_EXP_DATE, XB_EXP_LOGICAL, XB_EXP_NUMERIC, XB_EXP_UNKNOWN</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> xbInt16 iSts; <span class="comment">// return status after retrieving or attempting next token from expression</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="comment">// 0 = no error</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="comment">// XB_END_OF_EXPRESSION</span></div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="comment">// XB_UNBALANCED_PARENS</span></div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="comment">// XB_UNBALANCED_QUOTES</span></div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">char</span> cPrevNodeType; <span class="comment">// previous node type</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">char</span> cPrevReturnType; <span class="comment">// previous return type</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="comment">// constructor</span></div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> xbExpToken() { cNodeType = 0; cReturnType = 0; iSts = 0; cPrevNodeType = 0; cPrevReturnType = 0; }</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span>};</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment">/************************************************************************/</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="keyword">class </span>XBDLLEXPORT xbExp{</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> xbExp( <a class="code hl_variable" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a> * );</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> xbExp( <a class="code hl_variable" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a> *, <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> * );</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">virtual</span> ~xbExp();</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">void</span> ClearTreeHandle();</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> </div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">void</span> DumpTree( xbInt16 iOption );</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">void</span> DumpToken( xbExpToken &amp;t, xbInt16 iOption = 0 );</div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> </div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> xbInt16 GetResultLen() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">char</span> GetReturnType() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> xbInt16 GetBoolResult( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bResult );</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> xbInt16 GetDateResult( xbDate &amp;dtResult );</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> xbInt16 GetNumericResult( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dResult );</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> xbInt16 GetStringResult( xbString &amp;sResult );</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> xbInt16 GetStringResult( <span class="keywordtype">char</span> * vpResult, xbUInt32 ulLen );</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> xbExpNode *GetTreeHandle();</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> xbInt16 ParseExpression( <span class="keyword">const</span> xbString &amp;sExpression );</div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> xbInt16 ParseExpression( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf, <span class="keyword">const</span> xbString &amp;sExpression );</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> xbInt16 ProcessExpression();</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> xbInt16 ProcessExpression( xbInt16 iRecBufSw );</div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> xbInt16 GetNextToken( xbExpToken &amp;t );</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> xbInt16 OperatorWeight( <span class="keyword">const</span> xbString &amp;sOperator );</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> xbExpNode *GetNextNode( xbExpNode * n ) <span class="keyword">const</span>; <span class="comment">// traverses the tree from bottom left node, right, then up</span></div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">private</span>: <span class="comment">// methods</span></div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> </div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="comment">// xbInt16 CalcExpressionResultLen();</span></div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> xbInt16 CalcFunctionResultLen( xbExpNode *n ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> xbInt16 CalcCharNodeLen( xbExpNode *n );</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> xbInt16 CheckParensAndQuotes( <span class="keyword">const</span> xbString &amp;sExpression );</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> xbInt16 GetExpressionResultLen() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> </div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> xbInt16 GetTokenCharConstant ( xbExpToken &amp;t );</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> xbInt16 GetTokenDatabaseField ( xbExpToken &amp;t );</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> xbInt16 GetTokenDateConstant ( xbExpToken &amp;t );</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> xbInt16 GetTokenFunction ( xbExpToken &amp;t );</div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> xbInt16 GetTokenLogicalConstant( xbExpToken &amp;t );</div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> xbInt16 GetTokenNumericConstant( xbExpToken &amp;t );</div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> xbInt16 GetTokenOperator ( xbExpToken &amp;t );</div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> xbInt16 GetTokenParen ( xbExpToken &amp;t );</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> </div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsFunction ( <span class="keyword">const</span> xbString &amp;sExp, <span class="keywordtype">char</span> &amp;cReturnType );</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsLogicalConstant ( <span class="keyword">const</span> xbString &amp;sExp );</div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsNumericConstant ( <span class="keyword">const</span> xbString &amp;sExp, <span class="keywordtype">char</span> cPrevNodeType );</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsOperator ( <span class="keyword">const</span> xbString &amp;sExp );</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keywordtype">char</span> IsTokenSeparator ( <span class="keywordtype">char</span> c );</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsWhiteSpace ( <span class="keywordtype">char</span> c );</div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> </div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> xbInt16 ParseExpression ( <span class="keyword">const</span> xbString &amp;sExpression, xbInt16 iWeight );</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> xbInt16 ParseExpressionConstant( xbExpToken &amp;t, xbExpNode *n );</div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> xbInt16 ParseExpressionFunction( xbExpToken &amp;t, xbExpNode *n, xbInt16 iWeight );</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> xbInt16 ParseExpressionFunctionParms( <span class="keyword">const</span> xbString &amp;sParms, xbLinkList&lt;xbString&gt; &amp;llParms );</div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> xbInt16 ParseExpressionField ( xbExpToken &amp;t, xbExpNode *n );</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> xbInt16 ParseExpressionOperator( xbExpToken &amp;t, xbExpNode *n, xbInt16 iWeight );</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> </div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> xbInt16 ProcessExpressionFunction( xbExpNode *n, xbInt16 iRecBufSw = 0 );</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> xbInt16 ProcessExpressionOperator( xbExpNode *n );</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keyword">private</span>: <span class="comment">// fields</span></div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <a class="code hl_variable" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a> *xbase;</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf;</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> xbExpNode *nTree; <span class="comment">// pointer to tree of expNodes</span></div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="comment">// xbInt16 iExpLen; // size of expression result</span></div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> </div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span>};</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> </div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span><span class="comment">/* Expression handler */</span></div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> </div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> </div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span>};</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span><span class="preprocessor">#endif </span><span class="comment">// XB_EXPRESSION_SUPPORT</span></div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span><span class="preprocessor">#endif </span><span class="comment">// __XB_EXP_H__</span></div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_a25f47b226ce924a5c78f97989b0744a2"><div class="ttname"><a href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb::xbDouble</a></div><div class="ttdeci">double xbDouble</div><div class="ttdef"><b>Definition:</b> xbtypes.h:23</div></div>
+<div class="ttc" id="anamespacexb_html_a97858ddeb1c4b0100f3edc1a46d3a8b0"><div class="ttname"><a href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xb::xbXBase</a></div><div class="ttdeci">class XBDLLEXPORT xbXBase</div><div class="ttdef"><b>Definition:</b> xbssv.h:27</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+<div class="ttc" id="anamespacexb_html_ab2eae4b4732466698a7fdd89d77ba53b"><div class="ttname"><a href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xb::xbDbf</a></div><div class="ttdeci">class XBDLLEXPORT xbDbf</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:28</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbexpnode_8cpp.html b/docs/doxygen/html/xbexpnode_8cpp.html
new file mode 100644
index 0000000..1b0480b
--- /dev/null
+++ b/docs/doxygen/html/xbexpnode_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbexpnode.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbexpnode.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbexpnode_8h.html b/docs/doxygen/html/xbexpnode_8h.html
new file mode 100644
index 0000000..a9e458c
--- /dev/null
+++ b/docs/doxygen/html/xbexpnode_8h.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbexpnode.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbexpnode.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbexpnode_8h_source.html">Go to the source code of this file.</a></p>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbexpnode_8h_source.html b/docs/doxygen/html/xbexpnode_8h_source.html
new file mode 100644
index 0000000..8e5db2b
--- /dev/null
+++ b/docs/doxygen/html/xbexpnode_8h_source.html
@@ -0,0 +1,190 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbexpnode.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbexpnode.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbexpnode_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbexpnode.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#ifndef __XB_EXPNODE_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define __XB_EXPNODE_H__</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">// #ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">// #pragma interface</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">// #endif</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#ifdef XB_EXPRESSION_SUPPORT</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">//class XBDLLEXPORT xbDbf;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">/************************************************************************/</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="keyword">class </span>XBDLLEXPORT xbExpNode {</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> xbExpNode();</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> xbExpNode( xbString &amp;sNodeText, <span class="keywordtype">char</span> cReturnType, <span class="keywordtype">char</span> cNodeType );</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> xbExpNode( xbString &amp;sNodeText, <span class="keywordtype">char</span> cNodeType );</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> xbExpNode( <span class="keywordtype">char</span> cNodeType );</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">virtual</span> ~xbExpNode();</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> xbInt16 AddChild( xbExpNode *n );</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> xbExpNode *GetChild( xbUInt32 ulChildNo ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> xbUInt32 GetChildCnt() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> xbUInt32 GetChildNo() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *GetDbf() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> xbInt16 GetFieldNo() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> xbExpNode *GetFirstNode();</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> xbExpNode *GetNextNode() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">void</span> GetNodeText( xbString &amp;sNodeText ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">char</span> GetNodeType() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> xbExpNode *GetParent() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> xbString &amp;GetStringResult();</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetBoolResult() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> GetNumericResult() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> xbUInt32 GetResultLen() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> xbExpNode *GetRightSibling() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">char</span> GetReturnType() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> xbInt16 GetWeight() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> HasRightSibling() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsOperator() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsUnaryOperator() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">void</span> RemoveLastChild();</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">void</span> SetResultLen( xbUInt32 ulResultLen );</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">void</span> SetDbfInfo( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf );</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">void</span> SetDbfInfo( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf, xbInt16 iFieldNo );</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">void</span> SetNodeText( xbString &amp;sNodeText );</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">void</span> SetNodeType( <span class="keywordtype">char</span> cNodeType );</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">void</span> SetParent( xbExpNode *n );</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">void</span> SetResult( xbString &amp;sResult );</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">void</span> SetResult( xbDate &amp;dtResult );</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">void</span> SetResult( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bResult );</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">void</span> SetResult( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dResult );</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">void</span> SetReturnType( <span class="keywordtype">char</span> cReturnType );</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">void</span> SetWeight( xbInt16 iWeight );</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">void</span> DumpNode( xbInt16 iOption ) <span class="keyword">const</span>; <span class="comment">// 0 = no children, 1 = and children</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> xbString sNodeText; <span class="comment">// expression text</span></div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">char</span> cReturnType; <span class="comment">// one of: XB_EXP_CHAR, XB_EXP_DATE, XB_EXP_LOGICAL, XB_EXP_NUMERIC</span></div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">char</span> cNodeType; <span class="comment">// one of: XB_EXP_CONSTANT, XB_EXP_FUNCTION, XB_EXP_FIELD, XB_EXP_OPERATOR</span></div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> xbString sResult; <span class="comment">// char result, and operator</span></div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dResult; <span class="comment">// numeric and bool results</span></div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> xbExpNode * nParent; <span class="comment">// pointer to parent</span></div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> xbLinkList&lt;xbExpNode *&gt; llChildren; <span class="comment">// linked list of descendent nodes</span></div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf; <span class="comment">// pointer to dbf, used for field, RECNO() and RECCOUNT()</span></div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> xbInt16 iFieldNo; <span class="comment">// field no if DBF field</span></div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> xbUInt32 ulResultLen; <span class="comment">// for string results, accumulated length of character operations</span></div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="comment">// includes the sum of all nodes under this + this</span></div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="comment">// date = 8, numeric = 4, logical = 1</span></div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> xbInt16 iWeight; <span class="comment">// used for building the tree of nodes, assigned to operators</span></div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="comment">// the higher the number, the lower it goes on the tree</span></div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span>};</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="comment">/************************************************************************/</span></div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment">/* Expression handler */</span></div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span>};</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="preprocessor">#endif </span><span class="comment">// XB_EXPRESSION_SUPPORT</span></div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="preprocessor">#endif </span><span class="comment">// __XB_EXP_H__</span></div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_a25f47b226ce924a5c78f97989b0744a2"><div class="ttname"><a href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb::xbDouble</a></div><div class="ttdeci">double xbDouble</div><div class="ttdef"><b>Definition:</b> xbtypes.h:23</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+<div class="ttc" id="anamespacexb_html_ab2eae4b4732466698a7fdd89d77ba53b"><div class="ttname"><a href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xb::xbDbf</a></div><div class="ttdeci">class XBDLLEXPORT xbDbf</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:28</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbfields_8cpp.html b/docs/doxygen/html/xbfields_8cpp.html
new file mode 100644
index 0000000..8bd16cd
--- /dev/null
+++ b/docs/doxygen/html/xbfields_8cpp.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbfields.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> </div>
+ <div class="headertitle"><div class="title">xbfields.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbfile_8cpp.html b/docs/doxygen/html/xbfile_8cpp.html
new file mode 100644
index 0000000..a5c6c9b
--- /dev/null
+++ b/docs/doxygen/html/xbfile_8cpp.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbfile.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> </div>
+ <div class="headertitle"><div class="title">xbfile.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbfile_8h.html b/docs/doxygen/html/xbfile_8h.html
new file mode 100644
index 0000000..fb36f75
--- /dev/null
+++ b/docs/doxygen/html/xbfile_8h.html
@@ -0,0 +1,181 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbfile.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#define-members">Macros</a> </div>
+ <div class="headertitle"><div class="title">xbfile.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbfile_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbFile.html">xb::xbFile</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class for handling low level file I/O. <a href="classxb_1_1xbFile.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:ae58c73e0ba237fcf67ee20feea6c2743"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbfile_8h.html#ae58c73e0ba237fcf67ee20feea6c2743">XB_READ</a>&#160;&#160;&#160;0</td></tr>
+<tr class="separator:ae58c73e0ba237fcf67ee20feea6c2743"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af991a288c327f6857e90156ea734a633"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbfile_8h.html#af991a288c327f6857e90156ea734a633">XB_READ_WRITE</a>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:af991a288c327f6857e90156ea734a633"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abbf99e259c2f31572c886da6d85b1359"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbfile_8h.html#abbf99e259c2f31572c886da6d85b1359">XB_WRITE</a>&#160;&#160;&#160;2</td></tr>
+<tr class="separator:abbf99e259c2f31572c886da6d85b1359"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ec4d60a008c667d9861e3b3814f0232"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbfile_8h.html#a9ec4d60a008c667d9861e3b3814f0232">XB_SINGLE_USER</a>&#160;&#160;&#160;0</td></tr>
+<tr class="separator:a9ec4d60a008c667d9861e3b3814f0232"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05c0fc99ba71cf953d046d12f3f874bc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbfile_8h.html#a05c0fc99ba71cf953d046d12f3f874bc">XB_MULTI_USER</a>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:a05c0fc99ba71cf953d046d12f3f874bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="a05c0fc99ba71cf953d046d12f3f874bc" name="a05c0fc99ba71cf953d046d12f3f874bc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a05c0fc99ba71cf953d046d12f3f874bc">&#9670;&nbsp;</a></span>XB_MULTI_USER</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_MULTI_USER&#160;&#160;&#160;1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae58c73e0ba237fcf67ee20feea6c2743" name="ae58c73e0ba237fcf67ee20feea6c2743"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae58c73e0ba237fcf67ee20feea6c2743">&#9670;&nbsp;</a></span>XB_READ</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_READ&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af991a288c327f6857e90156ea734a633" name="af991a288c327f6857e90156ea734a633"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af991a288c327f6857e90156ea734a633">&#9670;&nbsp;</a></span>XB_READ_WRITE</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_READ_WRITE&#160;&#160;&#160;1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9ec4d60a008c667d9861e3b3814f0232" name="a9ec4d60a008c667d9861e3b3814f0232"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9ec4d60a008c667d9861e3b3814f0232">&#9670;&nbsp;</a></span>XB_SINGLE_USER</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_SINGLE_USER&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abbf99e259c2f31572c886da6d85b1359" name="abbf99e259c2f31572c886da6d85b1359"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abbf99e259c2f31572c886da6d85b1359">&#9670;&nbsp;</a></span>XB_WRITE</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_WRITE&#160;&#160;&#160;2</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbfile_8h_source.html b/docs/doxygen/html/xbfile_8h_source.html
new file mode 100644
index 0000000..033b9d6
--- /dev/null
+++ b/docs/doxygen/html/xbfile_8h_source.html
@@ -0,0 +1,266 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbfile.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbfile.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbfile_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbfile.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#ifndef __XB_FILE_H__</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#define __XB_FILE_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#pragma interface</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">/*****************************/</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">/* File Open Modes */</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="xbfile_8h.html#ae58c73e0ba237fcf67ee20feea6c2743"> 25</a></span><span class="preprocessor">#define XB_READ 0</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="xbfile_8h.html#af991a288c327f6857e90156ea734a633"> 26</a></span><span class="preprocessor">#define XB_READ_WRITE 1</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="xbfile_8h.html#abbf99e259c2f31572c886da6d85b1359"> 27</a></span><span class="preprocessor">#define XB_WRITE 2</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">/*****************************/</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">/* File Access Modes */</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="xbfile_8h.html#a9ec4d60a008c667d9861e3b3814f0232"> 31</a></span><span class="preprocessor">#define XB_SINGLE_USER 0 </span><span class="comment">// file buffering on</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="xbfile_8h.html#a05c0fc99ba71cf953d046d12f3f874bc"> 32</a></span><span class="preprocessor">#define XB_MULTI_USER 1 </span><span class="comment">// file buffering off</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="classxb_1_1xbFile.html"> 56</a></span><span class="keyword">class </span>XBDLLEXPORT <a class="code hl_class" href="classxb_1_1xbFile.html">xbFile</a> : <span class="keyword">public</span> <a class="code hl_class" href="classxb_1_1xbSsv.html">xbSsv</a> {</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <a class="code hl_class" href="classxb_1_1xbFile.html">xbFile</a>( <a class="code hl_class" href="classxb_1_1xbXBase.html">xbXBase</a> * x );</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <a class="code hl_class" href="classxb_1_1xbFile.html">~xbFile</a>();</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; GetDirectory() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; GetFileName() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; GetFqFileName() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> xbInt16 CreateUniqueFileName( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sDirIn, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sExtIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFqnOut, xbInt16 iOption = 0 );</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> xbInt16 DetermineXbaseTableVersion( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> cFileTypeByte ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> xbInt16 DetermineXbaseMemoVersion( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> cFileTypeByte ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> eGetDouble ( <span class="keyword">const</span> <span class="keywordtype">char</span> *p ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> xbInt32 eGetInt32 ( <span class="keyword">const</span> <span class="keywordtype">char</span> *p ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> xbUInt32 eGetUInt32 ( <span class="keyword">const</span> <span class="keywordtype">char</span> *p ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> xbInt16 eGetInt16 ( <span class="keyword">const</span> <span class="keywordtype">char</span> *p ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> xbUInt16 eGetUInt16 ( <span class="keyword">const</span> <span class="keywordtype">char</span> *p ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">void</span> ePutDouble ( <span class="keywordtype">char</span> *p, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> d );</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">void</span> ePutInt32 ( <span class="keywordtype">char</span> *p, xbInt32 l );</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">void</span> ePutUInt32 ( <span class="keywordtype">char</span> *p, xbUInt32 ul );</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">void</span> ePutInt16 ( <span class="keywordtype">char</span> *p, xbInt16 s );</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">void</span> ePutUInt16 ( <span class="keywordtype">char</span> *p, xbUInt16 s );</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> FileExists () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> FileExists ( xbInt16 iOption ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> FileExists ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> FileExists ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 iOption ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> FileIsOpen () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> xbUInt32 GetBlockSize () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> xbInt16 GetFileDirPart ( <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileDirPartOut ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> xbInt16 GetFileDirPart ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sCompleteFileNameIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileDirPartOut ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> xbInt16 GetFileExtPart ( <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileExtPartOut ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> xbInt16 GetFileExtPart ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sCompleteFileNameIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileExtPartOut ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> xbInt16 GetFileMtime ( time_t &amp;mtime );</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> xbInt16 GetFileNamePart( <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileNamePartOut ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> xbInt16 GetFileNamePart( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sCompleteFileNameIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileNamePartOut ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> xbInt16 GetFileSize ( xbUInt64 &amp;ullFileSize );</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> xbInt16 GetFileType ( <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileType ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> xbInt16 GetOpenMode () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> xbInt16 GetShareMode () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> </div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> xbInt16 GetXbaseFileTypeByte( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 &amp;iVersion );</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> xbInt16 GetXbaseFileTypeByte( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> &amp;cFileTypeByte );</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> xbInt16 GetXbaseFileTypeByte( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> &amp;cFileTypeByte, xbInt16 &amp;iVersion );</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> xbInt16 NameSuffixMissing( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 iOption ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> xbInt16 ReadBlock ( xbUInt32 ulBlockNo, <span class="keywordtype">size_t</span> readSize, <span class="keywordtype">void</span> *buf );</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> xbInt16 ReadBlock ( xbUInt32 ulBlockNo, xbUInt32 ulBlockSize, <span class="keywordtype">size_t</span> readSize, <span class="keywordtype">void</span> *buf );</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> xbInt16 SetBlockSize ( xbUInt32 ulBlockSize );</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">void</span> SetDirectory ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sDirectory);</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">void</span> SetFileName ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName );</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">void</span> SetFqFileName ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFqName );</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> xbInt16 SetHomeFolders();</div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> xbInt16 WriteBlock ( xbUInt32 ulBlockNo, <span class="keywordtype">size_t</span> writeSize, <span class="keywordtype">void</span> *buf );</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> xbInt16 xbFclose ();</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> xbInt16 xbFeof ();</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> xbInt16 xbFflush ();</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> xbInt16 xbFgetc ( xbInt32 &amp;c );</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> xbInt16 xbFgetc ( <span class="keywordtype">char</span> &amp;c );</div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> xbInt16 xbFgets ( <span class="keywordtype">size_t</span> lSize, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sLine );</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="classxb_1_1xbFile.html#a7cdfef5ede9ac98d44a28a6b7a70972c"> 131</a></span> xbInt16 <a class="code hl_function" href="classxb_1_1xbFile.html#a7cdfef5ede9ac98d44a28a6b7a70972c">xbFopen</a> ( xbInt16 iOpenMode );</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> xbInt16 xbFopen ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOpenMode, xbInt16 iShareMode );</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> xbInt16 xbFopen ( xbInt16 iOpenMode, xbInt16 iShareMode );</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> xbInt16 xbFopen ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sMode, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 iShareMode );</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> </div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> xbInt16 xbFputc ( xbInt32 c );</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> xbInt16 xbFputc ( xbInt32 c, xbInt32 iNoTimes );</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> xbInt16 xbFputs ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s );</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> xbInt16 xbFread ( <span class="keywordtype">void</span> *ptr, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> nmemb );</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> xbInt16 xbFseek ( xbInt64 llOffset, xbInt32 whence );</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">size_t</span> xbFtell ();</div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">void</span> xbFTurnOffFileBuffering();</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> xbInt16 xbReadUntil ( <span class="keyword">const</span> <span class="keywordtype">char</span> cDelim, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> xbInt16 xbRemove ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName, xbInt16 iOption );</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> xbInt16 xbRemove ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFileName );</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> xbInt16 xbRemove ();</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> xbInt16 xbRename ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOldName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sNewName );</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">void</span> xbRewind ();</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> </div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> xbInt16 xbFwrite ( <span class="keyword">const</span> <span class="keywordtype">void</span> *ptr, <span class="keywordtype">size_t</span> lSize, <span class="keywordtype">size_t</span> lNmemb );</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> xbInt16 xbTruncate ( xbInt64 llSize );</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> </div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="preprocessor"> #ifdef XB_LOCKING_SUPPORT</span></div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> xbInt16 xbLock ( xbInt16 iFunction, xbInt64 llOffset, <span class="keywordtype">size_t</span> stLen );</div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> xbInt16 GetLockRetryCount() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">void</span> SetLockRetryCount( xbInt16 iLockRetries );</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> </div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> xbInt16 DumpBlockToDisk( xbUInt32 ulBlockNo, <span class="keywordtype">size_t</span> lBlockSize );</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> xbInt16 DumpMemToDisk ( <span class="keywordtype">char</span> *p, <span class="keywordtype">size_t</span> lBlockSize );</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> </div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> </div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"><a class="line" href="classxb_1_1xbFile.html#ae39a67ea391b46055d4ca299cb222004"> 171</a></span> <a class="code hl_class" href="classxb_1_1xbXBase.html">xbXBase</a> *<a class="code hl_variable" href="classxb_1_1xbFile.html#ae39a67ea391b46055d4ca299cb222004">xbase</a>; <span class="comment">/* pointer to the main structures */</span></div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> FILE *fp;</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> sFqFileName; <span class="comment">/* fully qualified file name */</span></div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> sFileName; <span class="comment">/* file name */</span></div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> sDirectory; <span class="comment">/* directory, ends with / or \ */</span></div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bFileOpen; <span class="comment">/* true if file is open */</span></div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> xbUInt32 ulBlockSize; <span class="comment">/* used for memo and index files */</span></div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> xbInt16 iOpenMode; <span class="comment">/* XB_READ || XB_READ_WRITE || XB_WRITE */</span></div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> xbInt16 iShareMode; <span class="comment">/* XB_SINGLE_USER || XB_MULTI_USER - set file buffering */</span></div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> xbInt32 iFileNo; <span class="comment">/* Library File No */</span></div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span><span class="preprocessor"> #ifdef XB_LOCKING_SUPPORT</span></div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> xbInt16 iLockRetries; <span class="comment">/* file override number of lock attempts */</span></div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> </div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span><span class="preprocessor"> #ifdef HAVE_SETENDOFFILE_F</span></div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> HANDLE fHandle;</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> </div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> </div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span>};</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> </div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span>} <span class="comment">/* namespace */</span></div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span><span class="preprocessor">#endif </span><span class="comment">/* __XBFILE_H__ */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
+<div class="ttc" id="aclassxb_1_1xbFile_html"><div class="ttname"><a href="classxb_1_1xbFile.html">xb::xbFile</a></div><div class="ttdoc">Class for handling low level file I/O.</div><div class="ttdef"><b>Definition:</b> xbfile.h:56</div></div>
+<div class="ttc" id="aclassxb_1_1xbFile_html_a7cdfef5ede9ac98d44a28a6b7a70972c"><div class="ttname"><a href="classxb_1_1xbFile.html#a7cdfef5ede9ac98d44a28a6b7a70972c">xb::xbFile::xbFopen</a></div><div class="ttdeci">xbInt16 xbFopen(xbInt16 iOpenMode)</div></div>
+<div class="ttc" id="aclassxb_1_1xbFile_html_ae39a67ea391b46055d4ca299cb222004"><div class="ttname"><a href="classxb_1_1xbFile.html#ae39a67ea391b46055d4ca299cb222004">xb::xbFile::xbase</a></div><div class="ttdeci">xbXBase * xbase</div><div class="ttdef"><b>Definition:</b> xbfile.h:171</div></div>
+<div class="ttc" id="aclassxb_1_1xbSsv_html"><div class="ttname"><a href="classxb_1_1xbSsv.html">xb::xbSsv</a></div><div class="ttdoc">Class for handling shared system variables.</div><div class="ttdef"><b>Definition:</b> xbssv.h:59</div></div>
+<div class="ttc" id="aclassxb_1_1xbString_html"><div class="ttname"><a href="classxb_1_1xbString.html">xb::xbString</a></div><div class="ttdoc">Class for handling string data.</div><div class="ttdef"><b>Definition:</b> xbstring.h:50</div></div>
+<div class="ttc" id="aclassxb_1_1xbXBase_html"><div class="ttname"><a href="classxb_1_1xbXBase.html">xb::xbXBase</a></div><div class="ttdoc">xbXbase class.</div><div class="ttdef"><b>Definition:</b> xbxbase.h:123</div></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_a25f47b226ce924a5c78f97989b0744a2"><div class="ttname"><a href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb::xbDouble</a></div><div class="ttdeci">double xbDouble</div><div class="ttdef"><b>Definition:</b> xbtypes.h:23</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbfilter_8cpp.html b/docs/doxygen/html/xbfilter_8cpp.html
new file mode 100644
index 0000000..78f8bce
--- /dev/null
+++ b/docs/doxygen/html/xbfilter_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbfilter.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbfilter.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbfilter_8h.html b/docs/doxygen/html/xbfilter_8h.html
new file mode 100644
index 0000000..516f562
--- /dev/null
+++ b/docs/doxygen/html/xbfilter_8h.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbfilter.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbfilter.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbfilter_8h_source.html">Go to the source code of this file.</a></p>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbfilter_8h_source.html b/docs/doxygen/html/xbfilter_8h_source.html
new file mode 100644
index 0000000..7c2d905
--- /dev/null
+++ b/docs/doxygen/html/xbfilter_8h_source.html
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbfilter.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbfilter.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbfilter_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbfilter.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">This class manages the user data area (UDA)</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"></span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#ifndef __XB_XBFILTER_H__</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#define __XB_XBFILTER_H__</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#pragma interface</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#ifdef XB_FILTER_SUPPORT</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment">//#ifdef XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">//class XBDLLEXPORT xbIx;</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment">//#endif // XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="keyword">class </span>XBDLLEXPORT xbFilter {</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> xbFilter( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf );</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> ~xbFilter();</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> xbInt16 Set( xbString &amp;sFilterExpression );</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> xbInt16 Set( <span class="keyword">const</span> <span class="keywordtype">char</span> *sFilterExpression );</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> xbInt16 GetFirstRecord( xbInt16 iOpt = 1 );</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> xbInt16 GetNextRecord ( xbInt16 iOpt = 1 );</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> xbInt16 GetPrevRecord ( xbInt16 iOpt = 1 );</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> xbInt16 GetLastRecord ( xbInt16 iOpt = 1 );</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">void</span> SetLimit( xbInt32 ulLimit );</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> xbInt32 GetLimit() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">void</span> ResetQryCnt();</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> xbInt32 GetQryCnt() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="preprocessor"> #ifdef XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> xbInt16 GetFirstRecordIx( xbInt16 iOpt = 1 );</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> xbInt16 GetNextRecordIx ( xbInt16 iOpt = 1 );</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> xbInt16 GetPrevRecordIx ( xbInt16 iOpt = 1 );</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> xbInt16 GetLastRecordIx ( xbInt16 iOpt = 1 );</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="preprocessor"> #endif </span><span class="comment">// XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment">// xbXBase *xbase;</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf;</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> xbExp *exp;</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> xbInt32 lLimit; <span class="comment">// max number rows returned</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> xbInt32 lCurQryCnt; <span class="comment">// current count of rows returned, neg# is moving from bottom to top</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="comment">// pos# is moving from top to bottom</span></div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="preprocessor"> #ifdef XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> xbIx *pIx; <span class="comment">// if index is set, the class uses the index tag, otherwise table</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">void</span> *vpTag;</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="preprocessor"> #endif </span><span class="comment">// XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span>};</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span>} <span class="comment">/* namespace */</span></div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="preprocessor">#endif </span><span class="comment">/* XB_FILTER_SUPPORT */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="preprocessor">#endif </span><span class="comment">/* __XBFILTER_H__ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_ab2eae4b4732466698a7fdd89d77ba53b"><div class="ttname"><a href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xb::xbDbf</a></div><div class="ttdeci">class XBDLLEXPORT xbDbf</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:28</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbfuncs_8cpp.html b/docs/doxygen/html/xbfuncs_8cpp.html
new file mode 100644
index 0000000..70eeaca
--- /dev/null
+++ b/docs/doxygen/html/xbfuncs_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbfuncs.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbfuncs.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbindex_8h.html b/docs/doxygen/html/xbindex_8h.html
new file mode 100644
index 0000000..3fc2b53
--- /dev/null
+++ b/docs/doxygen/html/xbindex_8h.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbindex.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbindex.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbindex_8h_source.html">Go to the source code of this file.</a></p>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbindex_8h_source.html b/docs/doxygen/html/xbindex_8h_source.html
new file mode 100644
index 0000000..81c93eb
--- /dev/null
+++ b/docs/doxygen/html/xbindex_8h_source.html
@@ -0,0 +1,600 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbindex.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbindex.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbindex_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbindex.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014, 2018, 2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#ifndef __XB_INDEX_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define __XB_INDEX_H__</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifdef XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#define XB_ADD_KEY 1</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#define XB_UPD_KEY 2</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#define XB_DEL_KEY 3</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment">// structure for index nodes, each node contains information regarding one block</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="keyword">struct </span>XBDLLEXPORT xbIxNode {</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> xbIxNode *npPrev; <span class="comment">// pointer to previous node in chain</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> xbIxNode *npNext; <span class="comment">// pointer to next node in chain</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> xbUInt32 iCurKeyNo; <span class="comment">// current key number in the node, 0 offset</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> xbUInt32 ulBlockNo; <span class="comment">// this block number</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> xbUInt32 ulBufSize; <span class="comment">// size of cpBlockData</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">char</span> *cpBlockData; <span class="comment">// pointer to memory version of block data stored in file</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span>};</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="keyword">class </span>XBDLLEXPORT xbIx : <span class="keyword">public</span> xbFile {</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> xbIx( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> * d );</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">virtual</span> ~xbIx();</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> </div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">virtual</span> xbInt16 CheckTagIntegrity( <span class="keywordtype">void</span> *vpTag, xbInt16 iOpt ) = 0;</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">virtual</span> xbInt16 Close();</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">virtual</span> xbInt16 CreateTag( <span class="keyword">const</span> xbString &amp;sName, <span class="keyword">const</span> xbString &amp;sKey, <span class="keyword">const</span> xbString &amp;sFilter, xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverlay, <span class="keywordtype">void</span> **vpTag ) = 0;</div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">virtual</span> xbInt16 FindKey( <span class="keywordtype">void</span> *vpTag, <span class="keyword">const</span> xbString &amp;sKey, xbInt16 iRetrieveSw );</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">virtual</span> xbInt16 FindKey( <span class="keywordtype">void</span> *vpTag, <span class="keyword">const</span> <span class="keywordtype">char</span> * cKey, xbInt32 lKeyLen, xbInt16 iRetrieveSw );</div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">virtual</span> xbInt16 FindKey( <span class="keywordtype">void</span> *vpTag, <span class="keyword">const</span> xbBcd &amp;bcd, xbInt16 iRetrieveSw );</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">virtual</span> xbInt16 FindKey( <span class="keywordtype">void</span> *vpTag, <span class="keyword">const</span> xbDate &amp;dtKey, xbInt16 iRetrieveSw );</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">virtual</span> xbInt16 FindKey( <span class="keywordtype">void</span> *vpTag, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dKey, xbInt16 iRetrieveSw );</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">virtual</span> xbInt16 FindKey( <span class="keywordtype">void</span> *vpTag, <span class="keyword">const</span> <span class="keywordtype">void</span> *vKey, xbInt32 lKeyLen, xbInt16 iRetrieveSw ) = 0;</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> *GetCurTag() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">virtual</span> <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *GetDbf() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">virtual</span> xbString &amp;GetKeyExpression( <span class="keyword">const</span> <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">virtual</span> xbString &amp;GetKeyFilter( <span class="keyword">const</span> <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">virtual</span> <span class="keywordtype">char</span> GetKeyType( <span class="keyword">const</span> <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">virtual</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetLocked() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">virtual</span> xbInt16 GetFirstKey( <span class="keywordtype">void</span> *vpTag, xbInt16 iRetrieveSw ) = 0;</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">virtual</span> xbInt16 GetFirstKey( <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">virtual</span> xbInt16 GetFirstKey();</div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keyword">virtual</span> xbInt16 GetLastKey( <span class="keywordtype">void</span> *vpTag, xbInt16 lRetrieveSw ) = 0;</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">virtual</span> xbInt16 GetLastKey( <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keyword">virtual</span> xbInt16 GetLastKey();</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> </div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">virtual</span> xbInt16 GetNextKey( <span class="keywordtype">void</span> *vpTag, xbInt16 iRetrieveSw ) = 0;</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">virtual</span> xbInt16 GetNextKey( <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keyword">virtual</span> xbInt16 GetNextKey();</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keyword">virtual</span> xbInt16 GetPrevKey( <span class="keywordtype">void</span> *vpTag, xbInt16 iRetrieveSw ) = 0;</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keyword">virtual</span> xbInt16 GetPrevKey( <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">virtual</span> xbInt16 GetPrevKey();</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> </div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> *GetTag( xbInt16 iTagNo ) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> *GetTag( xbString &amp;sTagName ) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keyword">virtual</span> xbInt16 GetTagCount() <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> </div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">virtual</span> xbString &amp;GetTagName( <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * GetTagName( <span class="keywordtype">void</span> *vpTag, xbInt16 iOpt ) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> GetTagName( <span class="keywordtype">void</span> *vpTag, xbString &amp;sTagName ) {};</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">virtual</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetUnique( <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keyword">virtual</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetSortOrder( <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keyword">virtual</span> xbInt16 Open( <span class="keyword">const</span> xbString &amp;sFileName );</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">virtual</span> xbInt16 SetCurTag( xbInt16 iTagNo ) = 0;</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">virtual</span> xbInt16 SetCurTag( xbString &amp;sTagName ) = 0;</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetCurTag( <span class="keywordtype">void</span> * vpCurTag );</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetLocked( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bLocked );</div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> </div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> TestStub( <span class="keywordtype">char</span> *s, <span class="keywordtype">void</span> *vpTag ) {};</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> </div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> </div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="keyword">virtual</span> xbInt16 Reindex( <span class="keywordtype">void</span> **vpTag ) = 0;</div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">virtual</span> xbInt16 DumpFreeBlocks( xbInt16 iOpt = 0 ) { <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>; }</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keyword">virtual</span> xbInt16 DumpHeader( xbInt16 iDestOpt = 0, xbInt16 iFmtOpt = 0 ) = 0;</div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">virtual</span> xbInt16 DumpIxForTag( <span class="keywordtype">void</span> *vpTag, xbInt16 iOutputOpt ) = 0;</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> DumpIxNodeChain( <span class="keywordtype">void</span> *vpTag, xbInt16 iOutputOpt ) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">virtual</span> xbInt16 DumpNode( <span class="keywordtype">void</span> * vpTag, xbIxNode * pNode, xbInt16 iOption ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">virtual</span> xbInt16 DumpTagBlocks( xbInt16 iOpt = 1, <span class="keywordtype">void</span> *vpTag = NULL ) = 0;</div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> </div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> </div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a>;</div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> </div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">virtual</span> xbInt16 AddKey( <span class="keywordtype">void</span> *vpTag, xbUInt32 ulRecNo ) = 0;</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">virtual</span> xbInt16 AddKeys( xbUInt32 ulRecNo );</div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">virtual</span> xbIxNode *AllocateIxNode( xbUInt32 ulBufSize = 0, xbInt16 iOption = 0 );</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keyword">virtual</span> xbInt16 BSearchBlock( <span class="keywordtype">char</span> cKeyType, xbIxNode *npNode, xbInt32 lKeyLen, <span class="keyword">const</span> <span class="keywordtype">void</span> *vpKey, xbInt32 lSearchKeyLen, xbInt16 &amp;iCompRc, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bDescending = <a class="code hl_define" href="xbtypes_8h.html#adc4b6ca5ad299f63675136d9e03938cc">xbFalse</a> ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">virtual</span> xbInt16 CheckForDupKeys();</div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keyword">virtual</span> xbInt16 CheckForDupKey( <span class="keywordtype">void</span> *vpTag ) = 0;</div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">virtual</span> xbInt16 CompareKey( <span class="keywordtype">char</span> cKeyType, <span class="keyword">const</span> <span class="keywordtype">void</span> *v1, <span class="keyword">const</span> <span class="keywordtype">void</span> *v2, <span class="keywordtype">size_t</span> lKeyLen ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">virtual</span> xbInt16 CreateKeys( xbInt16 iOpt );</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">virtual</span> xbInt16 CreateKey( <span class="keywordtype">void</span> * vpTag, xbInt16 iOpt ) = 0;</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">virtual</span> xbInt16 DeleteFromNode( <span class="keywordtype">void</span> *vpTag, xbIxNode * npNode, xbInt16 iSlotNo ) = 0;</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="keyword">virtual</span> xbInt16 DeleteKeys();</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">virtual</span> xbInt16 DeleteKey( <span class="keywordtype">void</span> *vpTag ) = 0;</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">virtual</span> xbInt16 DeleteTag( <span class="keywordtype">void</span> *vpTag ) = 0;</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> </div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keyword">virtual</span> xbInt16 FindKeyForCurRec( <span class="keywordtype">void</span> *vpTag ) = 0;</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <span class="keyword">virtual</span> xbIxNode *FreeNodeChain( xbIxNode *np );</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">virtual</span> xbInt16 GetBlock( <span class="keywordtype">void</span> *vpTag, xbUInt32 ulBlockNo, xbInt16 iOpt, xbUInt32 ulAddlBuf = 0 );</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">virtual</span> xbInt32 GetKeyCount( xbIxNode *npNode ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">virtual</span> <span class="keywordtype">char</span> *GetKeyData( xbIxNode *npNode, xbInt16 iKeyNo, xbInt16 iKeyItemLen ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">virtual</span> xbInt16 GetKeySts( <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keyword">virtual</span> xbInt16 GetLastKey( xbUInt32 ulNodeNo, <span class="keywordtype">void</span> *vpTag, xbInt16 lRetrieveSw ) = 0;</div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keyword">virtual</span> xbInt16 InsertNodeL( <span class="keywordtype">void</span> *vpTag, xbIxNode * npNode, xbInt16 iSlotNo, <span class="keywordtype">char</span> * cpKeyBuf, xbUInt32 uiPtr ) = 0;</div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="keyword">virtual</span> xbInt16 InsertNodeI( <span class="keywordtype">void</span> *vpTag, xbIxNode * npNode, xbInt16 iSlotNo, xbUInt32 uiPtr ) = 0;</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">virtual</span> xbInt16 KeyExists( <span class="keywordtype">void</span> * ) = 0;</div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> NodeFree( xbIxNode * ixNode );</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">virtual</span> xbInt16 ReadHeadBlock( xbInt16 iOpt = 0 ) = 0;</div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="comment">// virtual xbInt16 Reindex( void **vpTag ) = 0;</span></div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetDbf( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf );</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="keyword">virtual</span> xbInt16 SplitNodeL( <span class="keywordtype">void</span> *vpTag, xbIxNode * npLeft, xbIxNode *npRight, xbInt16 iSlotNo, <span class="keywordtype">char</span> *cpKeyBuf, xbUInt32 uiPtr ) = 0;</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">virtual</span> xbInt16 SplitNodeI( <span class="keywordtype">void</span> *vpTag, xbIxNode * npLeft, xbIxNode *npRight, xbInt16 iSlotNo, xbUInt32 uiPtr ) = 0;</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keyword">virtual</span> xbInt16 UpdateTagKey( <span class="keywordtype">char</span> cAction, <span class="keywordtype">void</span> *vpTag, xbUInt32 ulRecNo = 0 ) = 0;</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">virtual</span> xbInt16 WriteHeadBlock( xbInt16 iOption ) = 0;</div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> </div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf;</div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">char</span> *cNodeBuf; <span class="comment">// pointer to memory for processing in a block of index data</span></div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">void</span> *vpCurTag; <span class="comment">// pointer to active tag. Single index files have only one tag</span></div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> </div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> AppendNodeChain( <span class="keywordtype">void</span> *vpTag, xbIxNode *npNode ) = 0;</div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <span class="keyword">virtual</span> xbInt16 GetKeyPtr( <span class="keywordtype">void</span> *vpTag, xbInt16 iKeyNo, xbIxNode *npNode, xbUInt32 &amp;ulKeyPtr ) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <span class="keyword">virtual</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsLeaf( <span class="keywordtype">void</span> *vpTag, xbIxNode *npNode ) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <span class="comment">// virtual void SetCurNode( void *vpTag, xbIxNode *npNode ) = 0;</span></div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> </div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bLocked; <span class="comment">// index file locked?</span></div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span>};</div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> </div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span><span class="preprocessor">#ifdef XB_NDX_SUPPORT</span></div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> </div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span><span class="preprocessor">#define XB_NDX_BLOCK_SIZE 512</span></div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> </div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> </div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span><span class="keyword">struct </span>XBDLLEXPORT xbNdxTag {</div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> </div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="comment">// NDX File Header Fields</span></div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> xbUInt32 ulRootBlock; <span class="comment">// header node is 0</span></div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> xbUInt32 ulTotalBlocks; <span class="comment">// includes header node</span></div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keywordtype">char</span> cKeyType; <span class="comment">// C = Char, F = Numeric, D = Date</span></div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> xbInt16 iKeyLen; <span class="comment">// length of key data</span></div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> xbInt16 iKeysPerBlock; <span class="comment">// max number keys per block &lt;=100</span></div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> xbInt16 iKeyType; <span class="comment">// 00 = Char, 01 = Numeric</span></div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> xbInt16 iKeyItemLen; <span class="comment">// KeyLen + 8 bytes</span></div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <span class="keywordtype">char</span> cSerNo; <span class="comment">// rolling incrementing serial number +1 on each index update</span></div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> xbInt16 iUnique; <span class="comment">// True if unique</span></div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> xbString sKeyExpression; <span class="comment">// index expression</span></div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="comment">// end of NDX Header field</span></div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> </div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> xbExp *exp; <span class="comment">// pointer to expression for expression keys</span></div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> time_t tNodeChainTs; <span class="comment">// node chain time stamp</span></div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> xbIxNode *npNodeChain;</div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> xbIxNode *npCurNode;</div>
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keywordtype">char</span> *cpKeyBuf; <span class="comment">// key buffer, for searches and adds</span></div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <span class="keywordtype">char</span> *cpKeyBuf2; <span class="comment">// key buffer, for deletes</span></div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> xbString sTagName; <span class="comment">// tag name - is the file name without the extension</span></div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bFoundSts; <span class="comment">// key found? used to determine if new key should be added in XB_EMULATE_DBASE mode in AddKey</span></div>
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> </div>
+<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> </div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> xbInt16 iKeySts; <span class="comment">// key updated? set in method CreateKey, checked in AddKey and DeleteKey routines</span></div>
+<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="comment">// old key filtered new key filtered iKeySts</span></div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> <span class="comment">// Y Y XB_UPD_KEY 2 - update key if changed (delete and add)</span></div>
+<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <span class="comment">// Y N XB_DEL_KEY 3 - delete key</span></div>
+<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="comment">// N Y XB_ADD_KEY 1 - add key</span></div>
+<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <span class="comment">// N N 0 - no update</span></div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> </div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span>};</div>
+<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> </div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> </div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span><span class="keyword">class </span>XBDLLEXPORT xbIxNdx : <span class="keyword">public</span> xbIx {</div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> xbIxNdx( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> * d );</div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> ~xbIxNdx();</div>
+<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> xbInt16 CheckTagIntegrity( <span class="keywordtype">void</span> *vpTag, xbInt16 iOpt );</div>
+<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> xbInt16 CreateTag( <span class="keyword">const</span> xbString &amp;sName, <span class="keyword">const</span> xbString &amp;sKey, <span class="keyword">const</span> xbString &amp;sFilter, xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverlay, <span class="keywordtype">void</span> **vpTag );</div>
+<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> xbInt16 FindKey( <span class="keywordtype">void</span> *vpTag, <span class="keyword">const</span> <span class="keywordtype">void</span> *vpKey, xbInt32 lKeyLen, xbInt16 iRetrieveSw );</div>
+<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> xbInt16 GetFirstKey( <span class="keywordtype">void</span> *vpTag, xbInt16 iRetrieveSw );</div>
+<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> </div>
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> xbInt16 GetLastKey( <span class="keywordtype">void</span> *vpTag, xbInt16 iRetrieveSw = 1 );</div>
+<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> xbInt16 GetNextKey( <span class="keywordtype">void</span> *vpTag, xbInt16 iRetrieveSw = 1 );</div>
+<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> xbInt16 GetPrevKey( <span class="keywordtype">void</span> *vpTag, xbInt16 iRetrieveSw = 1 );</div>
+<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> xbInt32 GetKeyLen ( <span class="keyword">const</span> <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <span class="keywordtype">char</span> GetKeyType ( <span class="keyword">const</span> <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> xbString &amp;GetKeyExpression( <span class="keyword">const</span> <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> xbString &amp;GetKeyFilter( <span class="keyword">const</span> <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <span class="keywordtype">void</span> *GetTag( xbInt16 iTagNo ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <span class="keywordtype">void</span> *GetTag( xbString &amp;sTagName ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> xbString &amp;GetTagName( <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * GetTagName( <span class="keywordtype">void</span> *vpTag, xbInt16 iOpt ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> </div>
+<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> xbInt16 GetTagCount() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetUnique( <span class="keywordtype">void</span> *vpTag = NULL ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetSortOrder( <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> xbInt16 SetCurTag( xbInt16 iTagNo );</div>
+<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> xbInt16 SetCurTag( xbString &amp;sTagName );</div>
+<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> </div>
+<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> xbInt16 DumpTagBlocks( xbInt16 iOpt = 1, <span class="keywordtype">void</span> *vpTag = NULL );</div>
+<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> xbInt16 DumpHeader( xbInt16 iOpt = 0, xbInt16 iFmt = 0 );</div>
+<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> xbInt16 DumpIxForTag( <span class="keywordtype">void</span> *vpTag, xbInt16 iOutputOpt );</div>
+<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <span class="keywordtype">void</span> DumpIxNodeChain( <span class="keywordtype">void</span> *vpTag, xbInt16 iOutputOpt ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> xbInt16 DumpNode( <span class="keywordtype">void</span> * vpTag, xbIxNode * pNode, xbInt16 iOption ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> </div>
+<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> xbInt16 Reindex( <span class="keywordtype">void</span> **vpTag );</div>
+<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> </div>
+<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> </div>
+<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a>;</div>
+<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> xbInt16 AddKey( <span class="keywordtype">void</span> *vpTag, xbUInt32 ulRecNo );</div>
+<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> xbIxNode *AllocateIxNode( xbUInt32 ulBufSize = 0, xbInt16 iOption = 0 );</div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> xbInt16 CheckForDupKey( <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> xbIxNode *CreateIxNode( xbUInt32 ulBufSize );</div>
+<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> xbInt16 CreateKey( <span class="keywordtype">void</span> * vpTag, xbInt16 iOpt );</div>
+<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> xbInt16 DeleteFromNode( <span class="keywordtype">void</span> *vpTag, xbIxNode * npNode, xbInt16 iSlotNo );</div>
+<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> xbInt16 DeleteKey( <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> xbInt16 DeleteTag( <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> xbInt16 FindKeyForCurRec( <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> xbInt16 GetKeyTypeN( <span class="keyword">const</span> <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> xbInt16 GetKeySts( <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> xbInt16 GetLastKey( xbUInt32 ulNodeNo, <span class="keywordtype">void</span> *vpTag, xbInt16 iRetrieveSw = 1 );</div>
+<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> xbInt16 InsertNodeI( <span class="keywordtype">void</span> *vpTag, xbIxNode * npNode, xbInt16 iSlotNo, xbUInt32 uiPtr );</div>
+<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> xbInt16 InsertNodeL( <span class="keywordtype">void</span> *vpTag, xbIxNode * npNode, xbInt16 iSlotNo, <span class="keywordtype">char</span> * cpKeyBuf, xbUInt32 uiPtr );</div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> xbInt16 KeyExists( <span class="keywordtype">void</span> *vpTag = NULL );</div>
+<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> xbInt16 ReadHeadBlock(xbInt16 iOpt); <span class="comment">// read the header node of the disk NDX file</span></div>
+<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span><span class="comment">// xbInt16 Reindex( void **vpTag );</span></div>
+<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> xbInt16 SplitNodeI( <span class="keywordtype">void</span> *vpTag, xbIxNode * npLeft, xbIxNode *npRight, xbInt16 iSlotNo, xbUInt32 uiPtr );</div>
+<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> xbInt16 SplitNodeL( <span class="keywordtype">void</span> *vpTag, xbIxNode * npLeft, xbIxNode *npRight, xbInt16 iSlotNo, <span class="keywordtype">char</span> *cpKeyBuf, xbUInt32 uiPtr );</div>
+<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> xbInt16 UpdateTagKey( <span class="keywordtype">char</span> cAction, <span class="keywordtype">void</span> *vpTag, xbUInt32 ulRecNo = 0 );</div>
+<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> xbInt16 WriteHeadBlock( xbInt16 iOption );</div>
+<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> </div>
+<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> xbInt16 AddKeyNewRoot( xbNdxTag *npTag, xbIxNode *npLeft, xbIxNode *npRight );</div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">void</span> AppendNodeChain( <span class="keywordtype">void</span> *vpTag, xbIxNode *npNode );</div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> xbInt16 GetDbfPtr( <span class="keywordtype">void</span> *vpTag, xbInt16 iKeyNo, xbIxNode *npNode, xbUInt32 &amp;ulDbfPtr ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> xbInt16 GetKeyPtr( <span class="keywordtype">void</span> *vpTag, xbInt16 iKeyNo, xbIxNode *npNode, xbUInt32 &amp;ulKeyPtr ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> xbInt16 GetLastKeyForBlockNo( <span class="keywordtype">void</span> *vpTag, xbUInt32 ulBlockNo, <span class="keywordtype">char</span> *cpKeyBuf );</div>
+<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsLeaf( <span class="keywordtype">void</span> *vpTag, xbIxNode *npNode ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> xbInt16 KeySetPosAdd( xbNdxTag *npTag, xbUInt32 ulAddKeyRecNo );</div>
+<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> xbInt16 KeySetPosDel( xbNdxTag *npTag );</div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> xbNdxTag *ndxTag;</div>
+<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span>};</div>
+<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> </div>
+<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span><span class="preprocessor">#endif </span><span class="comment">/* XB_NDX_SUPPORT */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> </div>
+<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> </div>
+<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span><span class="preprocessor">#ifdef XB_MDX_SUPPORT</span></div>
+<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span><span class="comment">//#define XB_MDX_BLOCK_SIZE 1024</span></div>
+<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> </div>
+<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span><span class="keyword">struct </span>XBDLLEXPORT xbMdxTag {</div>
+<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> </div>
+<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> <span class="comment">// next 7 fields comprise the tag table entry</span></div>
+<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> xbUInt32 ulTagHdrPageNo; <span class="comment">// 512 byte page number, NOT block number</span></div>
+<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> <span class="keywordtype">char</span> cTagName[11];</div>
+<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> <span class="keywordtype">char</span> cKeyFmt; <span class="comment">// always 0x10 w/ DBase V7</span></div>
+<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> <span class="keywordtype">char</span> cLeftChild; <span class="comment">// cFwdTagThread</span></div>
+<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> <span class="keywordtype">char</span> cRightChild; <span class="comment">// cFwdTagThread2</span></div>
+<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> <span class="keywordtype">char</span> cParent; <span class="comment">// cBwdTagThread</span></div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> <span class="keywordtype">char</span> c2;</div>
+<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> <span class="keywordtype">char</span> cKeyType; <span class="comment">// C,D,N</span></div>
+<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> </div>
+<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> xbUInt32 ulRootPage; <span class="comment">// 512 byte page number, NOT block number</span></div>
+<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> xbUInt32 ulTagSize; <span class="comment">// Number of 512 byte pages allocated to the tag. Tag size of two is a single 1024 block</span></div>
+<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> </div>
+<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> <span class="keywordtype">char</span> cKeyFmt2; <span class="comment">// 0x10 - base</span></div>
+<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> <span class="comment">// 0x08 - descending</span></div>
+<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> <span class="comment">// 0x40 - unique</span></div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> <span class="keywordtype">char</span> cKeyType2;</div>
+<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> <span class="comment">// one unused byte fits here</span></div>
+<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> </div>
+<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> <span class="keywordtype">char</span> cTag11; <span class="comment">// dbase sets to 0x1B</span></div>
+<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> xbInt16 iKeyLen;</div>
+<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> xbInt16 iKeysPerBlock;</div>
+<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> xbInt16 iSecKeyType;</div>
+<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> xbInt16 iKeyItemLen; <span class="comment">// iKeyLen + 4</span></div>
+<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> </div>
+<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <span class="keywordtype">char</span> cSerialNo; <span class="comment">// Increments +1 for each tag update</span></div>
+<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> <span class="keywordtype">char</span> cUnique;</div>
+<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> xbString *sKeyExp; <span class="comment">// Key expression</span></div>
+<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <span class="keywordtype">char</span> cHasFilter; <span class="comment">// 0x00 or 0x01</span></div>
+<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> <span class="keywordtype">char</span> cHasKeys; <span class="comment">// 0x00 or 0x01</span></div>
+<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> xbUInt32 ulLeftChild; <span class="comment">// dbase 7 sets this to the root page on tag creation</span></div>
+<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> xbUInt32 ulRightChild; <span class="comment">// dbase 7 sets this to the root page on tag creation</span></div>
+<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> </div>
+<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> <span class="keywordtype">char</span> cTagYY;</div>
+<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> <span class="keywordtype">char</span> cTagMM;</div>
+<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> <span class="keywordtype">char</span> cTagDD;</div>
+<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> </div>
+<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> <span class="keywordtype">char</span> cKeyFmt3; <span class="comment">// dbase 7 sets this 0x01 if discreet field or 0x00 if calculated or combination field key expression on tag creation</span></div>
+<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> </div>
+<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> xbString *sFiltExp; <span class="comment">// Filter expression</span></div>
+<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> </div>
+<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> time_t tNodeChainTs;</div>
+<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> xbIxNode *npNodeChain;</div>
+<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> xbIxNode *npCurNode;</div>
+<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> xbExp *exp; <span class="comment">// pointer to expression for expression based tags</span></div>
+<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> xbExp *filter; <span class="comment">// pointer to expression for index filter</span></div>
+<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> </div>
+<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> <span class="keywordtype">char</span> *cpKeyBuf; <span class="comment">// key buffer</span></div>
+<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> <span class="keywordtype">char</span> *cpKeyBuf2; <span class="comment">// key buffer</span></div>
+<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> xbString *sTagName; <span class="comment">// string tag name</span></div>
+<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> </div>
+<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> </div>
+<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> xbMdxTag *next;</div>
+<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bFoundSts; <span class="comment">// key found? used to determine if new key should be added in XB_EMULATE_DBASE mode in AddKey</span></div>
+<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> </div>
+<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> </div>
+<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> xbInt16 iKeySts; <span class="comment">// key updated? set in method CreateKey, checked in AddKey and DeleteKey routines</span></div>
+<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> <span class="comment">// old key filtered new key filtered iKeySts</span></div>
+<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> <span class="comment">// Y Y XB_UPD_KEY 2 - update key if changed (delete and add)</span></div>
+<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> <span class="comment">// Y N XB_DEL_KEY 3 - delete key</span></div>
+<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> <span class="comment">// N Y XB_ADD_KEY 1 - add key</span></div>
+<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> <span class="comment">// N N 0 - no update</span></div>
+<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> </div>
+<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> </div>
+<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span>};</div>
+<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> </div>
+<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> </div>
+<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span><span class="keyword">class </span>XBDLLEXPORT xbIxMdx : <span class="keyword">public</span> xbIx {</div>
+<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> xbIxMdx( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> * d );</div>
+<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> ~xbIxMdx();</div>
+<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> <span class="keyword">virtual</span> xbInt16 CheckTagIntegrity( <span class="keywordtype">void</span> *vpTag, xbInt16 iOpt );</div>
+<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> <span class="keyword">virtual</span> xbInt16 CreateTag( <span class="keyword">const</span> xbString &amp;sName, <span class="keyword">const</span> xbString &amp;sKey, <span class="keyword">const</span> xbString &amp;sFilter, xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverlay, <span class="keywordtype">void</span> **vpTag );</div>
+<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> <span class="keyword">virtual</span> xbInt16 FindKey( <span class="keywordtype">void</span> *vpTag, <span class="keyword">const</span> <span class="keywordtype">void</span> *vKey, xbInt32 lKeyLen, xbInt16 iRetrieveSw );</div>
+<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> <span class="keyword">virtual</span> xbInt16 FindKey( <span class="keywordtype">void</span> *vpTag, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dKey, xbInt16 iRetrieveSw );</div>
+<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> <span class="keyword">virtual</span> xbInt16 GetFirstKey( <span class="keywordtype">void</span> *vpTag, xbInt16 lRetrieveSw );</div>
+<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> <span class="keyword">virtual</span> xbString &amp;GetKeyExpression( <span class="keyword">const</span> <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> <span class="keyword">virtual</span> xbString &amp;GetKeyFilter( <span class="keyword">const</span> <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> <span class="keyword">virtual</span> <span class="keywordtype">char</span> GetKeyType( <span class="keyword">const</span> <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> <span class="keyword">virtual</span> xbInt16 GetLastKey( <span class="keywordtype">void</span> *vpTag, xbInt16 lRetrieveSw );</div>
+<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> <span class="keyword">virtual</span> xbInt16 GetNextKey( <span class="keywordtype">void</span> *vpTag, xbInt16 lRetrieveSw );</div>
+<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> <span class="keyword">virtual</span> xbInt16 GetPrevKey( <span class="keywordtype">void</span> *vpTag, xbInt16 lRetrieveSw );</div>
+<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> <span class="keyword">virtual</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetReuseEmptyNodesSw() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> <span class="keyword">virtual</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetSortOrder( <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> *GetTag( xbInt16 iTagNo ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> *GetTag( xbString &amp;sTagName ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> <span class="keyword">virtual</span> xbInt16 GetTagCount() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> </div>
+<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> <span class="keyword">virtual</span> xbString &amp;GetTagName( <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * GetTagName( <span class="keywordtype">void</span> *vpTag, xbInt16 iOpt ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> GetTagName( <span class="keywordtype">void</span> *vpTag, xbString &amp;sTagName );</div>
+<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> </div>
+<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> <span class="keyword">virtual</span> xbInt16 GetUnique( <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> <span class="keyword">virtual</span> xbInt16 SetCurTag( xbInt16 iTagNo );</div>
+<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> <span class="keyword">virtual</span> xbInt16 SetCurTag( xbString &amp;sTagName );</div>
+<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> <span class="keywordtype">void</span> SetReuseEmptyNodesSw( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bReuse );</div>
+<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> </div>
+<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <span class="keywordtype">void</span> TestStub( <span class="keywordtype">char</span> *s, <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> </div>
+<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> </div>
+<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> <span class="keyword">virtual</span> xbInt16 Reindex( <span class="keywordtype">void</span> **vpTag );</div>
+<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> </div>
+<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> </div>
+<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a>;</div>
+<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> </div>
+<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> xbInt16 AddKey( <span class="keywordtype">void</span> *vpTag, xbUInt32 ulRecNo );</div>
+<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> xbIxNode *AllocateIxNode( xbMdxTag * mpTag, xbUInt32 ulBufSize, xbUInt32 ulBlock2 );</div>
+<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> <span class="keywordtype">void</span> CalcBtreePointers();</div>
+<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> <span class="keywordtype">char</span> CalcTagKeyFmt( xbExp &amp;exp );</div>
+<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> </div>
+<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span> xbInt16 CheckForDupKey( <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> <span class="keyword">virtual</span> xbInt16 Close();</div>
+<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> xbInt16 CreateKey( <span class="keywordtype">void</span> * vpTag, xbInt16 iOpt );</div>
+<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> xbInt16 DeleteFromNode( <span class="keywordtype">void</span> *vpTag, xbIxNode * npNode, xbInt16 iSlotNo );</div>
+<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> xbInt16 DeleteKey( <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span> </div>
+<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> <span class="keyword">virtual</span> xbInt16 DeleteTag( <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> </div>
+<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> xbInt16 FindKeyForCurRec( <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> xbInt16 GetKeySts( <span class="keywordtype">void</span> *vpTag ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> xbInt16 GetLastKey( xbUInt32 ulBlockNo, <span class="keywordtype">void</span> *vpTag, xbInt16 lRetrieveSw );</div>
+<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> <span class="keywordtype">void</span> *GetTagTblPtr() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> </div>
+<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> xbInt16 HarvestTagNodes( xbMdxTag *mpTag, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bRecycleRoot = <a class="code hl_define" href="xbtypes_8h.html#adc4b6ca5ad299f63675136d9e03938cc">xbFalse</a> );</div>
+<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> <span class="keywordtype">void</span> Init( xbInt16 iOpt = 0 );</div>
+<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> xbInt16 InsertNodeI( <span class="keywordtype">void</span> *vpTag, xbIxNode *npNode, xbInt16 iSlotNo, xbUInt32 uiPtr );</div>
+<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> xbInt16 InsertNodeL( <span class="keywordtype">void</span> *vpTag, xbIxNode *npNode, xbInt16 iSlotNo, <span class="keywordtype">char</span> *cpKeyBuf, xbUInt32 uiPtr );</div>
+<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> xbInt16 KeyExists( <span class="keywordtype">void</span> * );</div>
+<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> xbInt16 LoadTagTable();</div>
+<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> xbInt16 ReadHeadBlock(xbInt16 iOpt); <span class="comment">// read the header node of the disk file</span></div>
+<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> <span class="comment">//virtual xbInt16 Reindex( void **vpTag );</span></div>
+<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> xbInt16 SplitNodeI( <span class="keywordtype">void</span> *vpTag, xbIxNode * npLeft, xbIxNode *npRight, xbInt16 iSlotNo, xbUInt32 uiPtr );</div>
+<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> xbInt16 SplitNodeL( <span class="keywordtype">void</span> *vpTag, xbIxNode * npLeft, xbIxNode *npRight, xbInt16 iSlotNo, <span class="keywordtype">char</span> *cpKeyBuf, xbUInt32 uiPtr );</div>
+<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> xbInt16 UpdateTagKey( <span class="keywordtype">char</span> cAction, <span class="keywordtype">void</span> *vpTag, xbUInt32 ulRecNo = 0 );</div>
+<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> xbInt16 WriteHeadBlock( xbInt16 iOption );</div>
+<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> </div>
+<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> xbInt16 DumpTagBlocks( xbInt16 iOpt = 1, <span class="keywordtype">void</span> *vpTag = NULL );</div>
+<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> xbInt16 DumpFreeBlocks( xbInt16 iOpt = 0 );</div>
+<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> xbInt16 DumpHeader( xbInt16 iOpt = 0, xbInt16 iFmtOpt = 0 );</div>
+<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> xbInt16 DumpIxForTag( <span class="keywordtype">void</span> *vpTag, xbInt16 iOutputOpt );</div>
+<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> <span class="keywordtype">void</span> DumpIxNodeChain( <span class="keywordtype">void</span> *vpTag, xbInt16 iOutputOpt ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> </div>
+<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> </div>
+<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> xbMdxTag *mdxTagTbl;</div>
+<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> </div>
+<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span><span class="comment">// MDX File Header Fields</span></div>
+<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> <span class="keywordtype">char</span> cVersion;</div>
+<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> <span class="keywordtype">char</span> cCreateYY;</div>
+<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> <span class="keywordtype">char</span> cCreateMM;</div>
+<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> <span class="keywordtype">char</span> cCreateDD;</div>
+<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> xbString sFileName;</div>
+<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> xbInt16 iBlockFactor; <span class="comment">// 1-32 #of 512 byte segments in a block</span></div>
+<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> </div>
+<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> <span class="comment">// use file version</span></div>
+<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span> <span class="comment">// xbInt16 iBlockSize; // Stored at the xbFile level</span></div>
+<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> </div>
+<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> <span class="keywordtype">char</span> cProdIxFlag;</div>
+<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span> <span class="keywordtype">char</span> cTagEntryCnt;</div>
+<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> xbInt16 iTagLen;</div>
+<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> xbInt16 iTagUseCnt;</div>
+<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> <span class="keywordtype">char</span> cNextTag; <span class="comment">// byte 28 +1</span></div>
+<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> <span class="keywordtype">char</span> c1B; <span class="comment">// always 0x1B</span></div>
+<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> xbUInt32 ulPageCnt; <span class="comment">// number of 512 byte pages in the mdx file</span></div>
+<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> xbUInt32 ulFirstFreePage; <span class="comment">// page number corresponding to the next free block</span></div>
+<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> xbUInt32 ulNoOfBlockAvail; <span class="comment">// might be improperly named?? not sure how it is used</span></div>
+<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> <span class="keywordtype">char</span> cUpdateYY;</div>
+<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> <span class="keywordtype">char</span> cUpdateMM;</div>
+<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> <span class="keywordtype">char</span> cUpdateDD;</div>
+<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> <span class="comment">// end of MDX Header fields</span></div>
+<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> </div>
+<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> </div>
+<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bReuseEmptyNodes; <span class="comment">// Reuese empty MDX nodes when all keys deleted?</span></div>
+<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> <span class="comment">// DBase 7.x and MS ODBC drivers do not reuse empty nodes, leaves them stranded in the file</span></div>
+<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span> <span class="comment">// Codebase 6.x reuses empty nodes.</span></div>
+<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> <span class="comment">// Setting this to True will reuse empty nodes in the same manner Codebase 6.x reuses them.</span></div>
+<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span> </div>
+<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span> </div>
+<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span> xbInt16 AddKeyNewRoot( xbMdxTag *npTag, xbIxNode *npLeft, xbIxNode *npRight );</div>
+<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span> <span class="keywordtype">void</span> AppendNodeChain( <span class="keywordtype">void</span> *vpTag, xbIxNode *npNode );</div>
+<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span> xbUInt32 BlockToPage( xbUInt32 ulBlockNo );</div>
+<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span> xbMdxTag *ClearTagTable();</div>
+<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span> xbInt16 DumpBlock( xbInt16 iOpt, xbUInt32 ulBlockNo, xbMdxTag * mpTag );</div>
+<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span> xbInt16 GetDbfPtr( <span class="keywordtype">void</span> *vpTag, xbInt16 iKeyNo, xbIxNode *npNode, xbUInt32 &amp;ulDbfPtr ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span> xbInt16 GetKeyPtr( <span class="keywordtype">void</span> *vpTag, xbInt16 iKeyNo, xbIxNode *npNode, xbUInt32 &amp;ulKeyPtr ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span> xbInt16 GetLastKeyForBlockNo( <span class="keywordtype">void</span> *vpTag, xbUInt32 ulBlockNo, <span class="keywordtype">char</span> *cpKeyBuf );</div>
+<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span> xbInt16 HarvestEmptyNode( xbMdxTag *mpTag, xbIxNode *npNode, xbInt16 iOpt, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bHarvestRoot = <a class="code hl_define" href="xbtypes_8h.html#adc4b6ca5ad299f63675136d9e03938cc">xbFalse</a> );</div>
+<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsLeaf( <span class="keywordtype">void</span> *vpTag, xbIxNode *npNode ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span> xbInt16 KeySetPosAdd( xbMdxTag *mpTag, xbUInt32 ulAddKeyRecNo );</div>
+<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span> xbInt16 KeySetPosDel( xbMdxTag *mpTag );</div>
+<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span> xbInt16 LoadTagDetail( xbInt16 iOption, xbMdxTag *tte );</div>
+<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span> xbUInt32 PageToBlock( xbUInt32 ulPageNo );</div>
+<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span> xbInt16 TagSerialNo( xbInt16 iOption, xbMdxTag *mpTag );</div>
+<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> xbInt16 UpdateTagSize( xbMdxTag *mpTag, xbUInt32 ulTagSz );</div>
+<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> </div>
+<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span> xbInt16 PrintKey( <span class="keywordtype">void</span> *vpTag, xbIxNode *npNode, xbInt16 iKeyNo, xbInt16 iDepth, <span class="keywordtype">char</span> cType, xbInt16 iOutputOpt );</div>
+<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> </div>
+<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> </div>
+<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> };</div>
+<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span><span class="preprocessor"> #endif </span><span class="comment">/* XB_MDX_SUPPORT */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span> </div>
+<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span> </div>
+<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span><span class="preprocessor">#ifdef XB_TDX_SUPPORT</span></div>
+<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span> </div>
+<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span><span class="keyword">class </span>XBDLLEXPORT xbIxTdx : <span class="keyword">public</span> xbIxMdx {</div>
+<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span> xbIxTdx( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> * d );</div>
+<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"> 596</span> ~xbIxTdx();</div>
+<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span> </div>
+<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"> 598</span> xbInt16 CreateTag( <span class="keyword">const</span> xbString &amp;sName, <span class="keyword">const</span> xbString &amp;sKey, <span class="keyword">const</span> xbString &amp;sFilter, xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverlay, <span class="keywordtype">void</span> **vpTag );</div>
+<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span> </div>
+<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"> 600</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a>;</div>
+<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span> xbInt16 Close();</div>
+<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span> xbInt16 DeleteTag( <span class="keywordtype">void</span> *vpTag );</div>
+<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span> </div>
+<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span>};</div>
+<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span> </div>
+<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"> 608</span><span class="preprocessor">#endif </span><span class="comment">/* XB_TDX_SUPPORT */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span> </div>
+<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span> </div>
+<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span> } <span class="comment">/* namespace xb */</span></div>
+<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span><span class="preprocessor"> #endif </span><span class="comment">/* XB_INDEX_SUPPORT */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span><span class="preprocessor">#endif </span><span class="comment">/* __XB_INDEX_H__ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_a25f47b226ce924a5c78f97989b0744a2"><div class="ttname"><a href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb::xbDouble</a></div><div class="ttdeci">double xbDouble</div><div class="ttdef"><b>Definition:</b> xbtypes.h:23</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+<div class="ttc" id="anamespacexb_html_ab2eae4b4732466698a7fdd89d77ba53b"><div class="ttname"><a href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xb::xbDbf</a></div><div class="ttdeci">class XBDLLEXPORT xbDbf</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:28</div></div>
+<div class="ttc" id="axbretcod_8h_html_ac720d5b4ec45bfd606f5865d40816e23"><div class="ttname"><a href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a></div><div class="ttdeci">#define XB_NO_ERROR</div><div class="ttdef"><b>Definition:</b> xbretcod.h:24</div></div>
+<div class="ttc" id="axbtypes_8h_html_adc4b6ca5ad299f63675136d9e03938cc"><div class="ttname"><a href="xbtypes_8h.html#adc4b6ca5ad299f63675136d9e03938cc">xbFalse</a></div><div class="ttdeci">#define xbFalse</div><div class="ttdef"><b>Definition:</b> xbtypes.h:29</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbinsert_8cpp.html b/docs/doxygen/html/xbinsert_8cpp.html
new file mode 100644
index 0000000..e460688
--- /dev/null
+++ b/docs/doxygen/html/xbinsert_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/sql/xbinsert.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbinsert.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbixbase_8cpp.html b/docs/doxygen/html/xbixbase_8cpp.html
new file mode 100644
index 0000000..150f9fd
--- /dev/null
+++ b/docs/doxygen/html/xbixbase_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbixbase.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbixbase.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbixmdx_8cpp.html b/docs/doxygen/html/xbixmdx_8cpp.html
new file mode 100644
index 0000000..f6dc5f6
--- /dev/null
+++ b/docs/doxygen/html/xbixmdx_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbixmdx.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbixmdx.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbixndx_8cpp.html b/docs/doxygen/html/xbixndx_8cpp.html
new file mode 100644
index 0000000..fd2aad2
--- /dev/null
+++ b/docs/doxygen/html/xbixndx_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbixndx.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbixndx.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbixtdx_8cpp.html b/docs/doxygen/html/xbixtdx_8cpp.html
new file mode 100644
index 0000000..77685ef
--- /dev/null
+++ b/docs/doxygen/html/xbixtdx_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbixtdx.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbixtdx.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xblnklst_8h.html b/docs/doxygen/html/xblnklst_8h.html
new file mode 100644
index 0000000..0208dc2
--- /dev/null
+++ b/docs/doxygen/html/xblnklst_8h.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xblnklst.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xblnklst.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xblnklst_8h_source.html">Go to the source code of this file.</a></p>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xblnklst_8h_source.html b/docs/doxygen/html/xblnklst_8h_source.html
new file mode 100644
index 0000000..8e0e24a
--- /dev/null
+++ b/docs/doxygen/html/xblnklst_8h_source.html
@@ -0,0 +1,341 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xblnklst.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xblnklst.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xblnklst_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xblnklst.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#ifndef __XB_XBLNKLST_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define __XB_XBLNKLST_H__</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifdef XB_LINKLIST_SUPPORT</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">class </span>XBDLLEXPORT xbLinkList {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> xbLinkList();</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> ~xbLinkList();</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> xbLinkListNode&lt;xbNodeType&gt; *GetHeadNode() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> xbLinkListNode&lt;xbNodeType&gt; *GetEndNode() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> xbLinkListNode&lt;xbNodeType&gt; *GetNodeForNo( xbUInt32 ulNodeNo ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">void</span> Clear();</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> xbUInt32 GetNodeCnt () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> xbInt16 InsertAtEnd ( <span class="keyword">const</span> xbNodeType &amp;xbLLN );</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> xbInt16 InsertAtFront ( <span class="keyword">const</span> xbNodeType &amp;xbLLN );</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> xbInt16 RemoveByVal ( <span class="keyword">const</span> xbNodeType &amp;xbLLN );</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> xbInt16 RemoveFromEnd ();</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> xbInt16 RemoveFromEnd ( xbNodeType &amp;xbLLN );</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> xbInt16 RemoveFromFront( xbNodeType &amp;xbLLN );</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> xbInt16 SearchFor ( <span class="keyword">const</span> xbNodeType &amp;xbLLN );</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> xbUInt32 ulNodeCnt;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> xbLinkListNode&lt;xbNodeType&gt; *llStartPtr;</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> xbLinkListNode&lt;xbNodeType&gt; *llEndPtr;</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span>};</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span>xbLinkList&lt;xbNodeType&gt;::xbLinkList(){</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> ulNodeCnt = 0;</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> llStartPtr = NULL;</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> llEndPtr = NULL;</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span>}</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span>xbLinkList&lt;xbNodeType&gt;::~xbLinkList(){</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> Clear();</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span>}</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="keywordtype">void</span> xbLinkList&lt;xbNodeType&gt;::Clear(){</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> xbLinkListNode&lt;xbNodeType&gt; *cPtr = llStartPtr, *tPtr;</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">for</span>( xbUInt32 i = 0; i &lt; ulNodeCnt; i++ ){</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> tPtr = cPtr;</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> cPtr = cPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">delete</span> tPtr;</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> }</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> ulNodeCnt = 0;</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> llStartPtr = NULL;</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> llEndPtr = NULL;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span>}</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span>xbLinkListNode&lt;xbNodeType&gt; *xbLinkList&lt;xbNodeType&gt;::GetHeadNode()<span class="keyword"> const</span>{</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">return</span> llStartPtr;</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span>}</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span>xbLinkListNode&lt;xbNodeType&gt; *xbLinkList&lt;xbNodeType&gt;::GetEndNode()<span class="keyword"> const</span>{</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">return</span> llEndPtr;</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span>}</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span>xbLinkListNode&lt;xbNodeType&gt; *xbLinkList&lt;xbNodeType&gt;::GetNodeForNo( xbUInt32 ulNo )<span class="keyword"> const</span>{</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> xbLinkListNode&lt;xbNodeType&gt; *cPtr = llStartPtr;</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> xbUInt32 i;</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">for</span>( i = 0; i &lt; ulNo &amp;&amp; i &lt; ulNodeCnt; i++ )</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> cPtr = cPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">if</span>( i == ulNo )</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> cPtr;</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">else</span> </div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span>}</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span>xbUInt32 xbLinkList&lt;xbNodeType&gt;::GetNodeCnt()<span class="keyword"> const</span>{</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">return</span> ulNodeCnt;</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span>}</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span>xbInt16 xbLinkList&lt;xbNodeType&gt;::InsertAtFront( <span class="keyword">const</span> xbNodeType &amp; ntKey ){</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> xbLinkListNode&lt;xbNodeType&gt; *p = <span class="keyword">new</span> xbLinkListNode&lt;xbNodeType&gt;( ntKey );</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">if</span>( p == 0 )</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ae687fc7d872ba0475a8477e4447f9b54">XB_NO_MEMORY</a>;</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">if</span>( ulNodeCnt &gt; 0 ){</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> llStartPtr-&gt;SetPrevNode( p );</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> p-&gt;SetNextNode( llStartPtr );</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> llEndPtr = p;</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> }</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> llStartPtr = p;</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> ulNodeCnt++;</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span>}</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> </div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span>xbInt16 xbLinkList&lt;xbNodeType&gt;::InsertAtEnd( <span class="keyword">const</span> xbNodeType &amp; ntKey ){</div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> xbLinkListNode&lt;xbNodeType&gt; *p = <span class="keyword">new</span> xbLinkListNode&lt;xbNodeType&gt;( ntKey );</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">if</span>( p == 0 )</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ae687fc7d872ba0475a8477e4447f9b54">XB_NO_MEMORY</a>;</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">if</span>( ulNodeCnt &gt; 0 ){</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> llEndPtr-&gt;SetNextNode( p );</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> p-&gt;SetPrevNode( llEndPtr );</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> llEndPtr = p;</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> llStartPtr = p;</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> }</div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> </div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> llEndPtr = p;</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> ulNodeCnt++;</div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span>}</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> </div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> </div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span>xbInt16 xbLinkList&lt;xbNodeType&gt;::RemoveByVal( <span class="keyword">const</span> xbNodeType &amp; ntKey ){</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="comment">// Remove the first instance of ntKey from the node chain</span></div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> xbLinkListNode&lt;xbNodeType&gt; *currPtr = llStartPtr;</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> xbLinkListNode&lt;xbNodeType&gt; *prevPtr = NULL;</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">for</span>( xbUInt32 i = 0; i &lt; ulNodeCnt; i++ ){</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">if</span>( currPtr-&gt;GetKey() == ntKey ){</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span>( prevPtr == NULL ){ <span class="comment">//then this is the first node</span></div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> llStartPtr = currPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">if</span>( llStartPtr ) <span class="comment">// if more than one link in the linked list</span></div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> llStartPtr-&gt;SetPrevNode( NULL );</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">delete</span> currPtr;</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> ulNodeCnt--;</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">return</span> i + 1;</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> }</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> prevPtr-&gt;SetNextNode( currPtr-&gt;GetNextNode());</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">if</span>( currPtr-&gt;GetNextNode())</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> currPtr-&gt;GetNextNode()-&gt;SetPrevNode( prevPtr );</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">delete</span> currPtr;</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> ulNodeCnt--;</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">return</span> i + 1;</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> }</div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> }</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> prevPtr = currPtr;</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> currPtr = currPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> }</div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac2606659a54111334f5b02861e533700">XB_NOT_FOUND</a>;</div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span>}</div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span>xbInt16 xbLinkList&lt;xbNodeType&gt;::RemoveFromFront( xbNodeType &amp; ntKey ){</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">if</span>( ulNodeCnt &lt;= 0 )</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb">XB_INVALID_NODELINK</a>;</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> xbLinkListNode&lt;xbNodeType&gt; *p = llStartPtr;</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> llStartPtr = p-&gt;GetNextNode();</div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span>( llStartPtr )</div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> llStartPtr-&gt;SetPrevNode( NULL );</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> ntKey = p-&gt;GetKey();</div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">delete</span> p;</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> ulNodeCnt--;</div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span>}</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> </div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> </div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span>xbInt16 xbLinkList&lt;xbNodeType&gt;::RemoveFromEnd( xbNodeType &amp; ntKey ){</div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> </div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">if</span>( ulNodeCnt &lt;= 0 )</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb">XB_INVALID_NODELINK</a>;</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> xbLinkListNode&lt;xbNodeType&gt; *p = llEndPtr;</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">if</span>( p-&gt;GetPrevNode()){</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> llEndPtr = p-&gt;GetPrevNode();</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> llEndPtr-&gt;SetNextNode( NULL );</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="comment">// there are no more nodes</span></div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> llStartPtr = NULL;</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> llEndPtr = NULL;</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> }</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> ntKey = p-&gt;GetKey();</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">delete</span> p;</div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> ulNodeCnt--;</div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span>}</div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> </div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> </div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span>xbInt16 xbLinkList&lt;xbNodeType&gt;::RemoveFromEnd(){</div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">if</span>( ulNodeCnt &lt;= 0 )</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb">XB_INVALID_NODELINK</a>;</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> xbLinkListNode&lt;xbNodeType&gt; *p = llEndPtr;</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">if</span>( p-&gt;GetPrevNode()){</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> llEndPtr = p-&gt;GetPrevNode();</div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> llEndPtr-&gt;SetNextNode( NULL );</div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="comment">// there are no more nodes</span></div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> llStartPtr = NULL;</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> llEndPtr = NULL;</div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> }</div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="keyword">delete</span> p-&gt;GetKey();</div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <span class="keyword">delete</span> p;</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> ulNodeCnt--;</div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span>}</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> </div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> </div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span>xbInt16 xbLinkList&lt;xbNodeType&gt;::SearchFor( <span class="keyword">const</span> xbNodeType &amp; ntKey ){</div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> </div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> xbLinkListNode&lt;xbNodeType&gt; *cPtr = llStartPtr;</div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">for</span>( xbUInt32 i = 0; i &lt; ulNodeCnt; i++ ){</div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">if</span>( cPtr-&gt;GetKey() == ntKey )</div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">return</span> i+1;</div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> cPtr = cPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> }</div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> </div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span>}</div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span>} <span class="comment">// namespace</span></div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> </div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span><span class="preprocessor">#endif </span><span class="comment">// XB_LINKLIST_SUPPORT</span></div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span><span class="preprocessor">#endif </span><span class="comment">// XB_XBLNKLST_H__</span></div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> </div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> </div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="axbretcod_8h_html_a13e6876470bd34c8c4e5533f115e04eb"><div class="ttname"><a href="xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb">XB_INVALID_NODELINK</a></div><div class="ttdeci">#define XB_INVALID_NODELINK</div><div class="ttdef"><b>Definition:</b> xbretcod.h:29</div></div>
+<div class="ttc" id="axbretcod_8h_html_ac2606659a54111334f5b02861e533700"><div class="ttname"><a href="xbretcod_8h.html#ac2606659a54111334f5b02861e533700">XB_NOT_FOUND</a></div><div class="ttdeci">#define XB_NOT_FOUND</div><div class="ttdef"><b>Definition:</b> xbretcod.h:41</div></div>
+<div class="ttc" id="axbretcod_8h_html_ac720d5b4ec45bfd606f5865d40816e23"><div class="ttname"><a href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a></div><div class="ttdeci">#define XB_NO_ERROR</div><div class="ttdef"><b>Definition:</b> xbretcod.h:24</div></div>
+<div class="ttc" id="axbretcod_8h_html_ae687fc7d872ba0475a8477e4447f9b54"><div class="ttname"><a href="xbretcod_8h.html#ae687fc7d872ba0475a8477e4447f9b54">XB_NO_MEMORY</a></div><div class="ttdeci">#define XB_NO_MEMORY</div><div class="ttdef"><b>Definition:</b> xbretcod.h:25</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xblnklstord_8h.html b/docs/doxygen/html/xblnklstord_8h.html
new file mode 100644
index 0000000..630dd10
--- /dev/null
+++ b/docs/doxygen/html/xblnklstord_8h.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xblnklstord.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xblnklstord.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xblnklstord_8h_source.html">Go to the source code of this file.</a></p>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xblnklstord_8h_source.html b/docs/doxygen/html/xblnklstord_8h_source.html
new file mode 100644
index 0000000..af441c9
--- /dev/null
+++ b/docs/doxygen/html/xblnklstord_8h_source.html
@@ -0,0 +1,455 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xblnklstord.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xblnklstord.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xblnklstord_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xblnklstord.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2019,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">// Ordered link list</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#ifndef __XB_XBLNKLSTORD_H__</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#define __XB_XBLNKLSTORD_H__</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#ifdef XB_LINKLIST_SUPPORT</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="keyword">class </span>XBDLLEXPORT xbLinkListOrd {</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> xbLinkListOrd();</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> ~xbLinkListOrd();</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">void</span> Clear();</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> xbLinkListNode&lt;xbNodeType&gt; *GetHeadNode() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> xbLinkListNode&lt;xbNodeType&gt; *GetEndNode() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> xbLinkListNode&lt;xbNodeType&gt; *GetNodeForKey( <span class="keyword">const</span> xbString &amp;sKey ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> xbInt16 GetDataForKey ( <span class="keyword">const</span> xbNodeType &amp;ntKey, xbString &amp;sData );</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetDupKeys ();</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> xbUInt32 GetNodeCnt () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> xbUInt32 GetNodeCnt ( <span class="keyword">const</span> xbString &amp;sNodeKey ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> xbInt16 InsertKey ( <span class="keyword">const</span> xbNodeType &amp;ntKey );</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> xbInt16 InsertKey ( <span class="keyword">const</span> xbNodeType &amp;ntKey, <span class="keyword">const</span> xbString &amp;sData );</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> xbInt16 InsertKey ( <span class="keyword">const</span> xbNodeType &amp;ntKey, xbUInt32 ulData );</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> KeyExists ( <span class="keyword">const</span> xbNodeType &amp;ntKey ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> xbInt16 RemoveKey ( <span class="keyword">const</span> xbNodeType &amp;ntKey );</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> xbInt16 RemoveFromEnd ( xbNodeType &amp;ntKey );</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> xbInt16 RemoveFromFront( xbNodeType &amp;ntKey );</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> xbInt16 RemoveFromFront();</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">void</span> SetDupKeys ( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bAllowDupKeys );</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> xbInt16 UpdateForKey ( <span class="keyword">const</span> xbNodeType &amp;ntKey, <span class="keyword">const</span> xbString &amp;sData );</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> xbUInt32 ulNodeCnt;</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bAllowDupKeys;</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> xbLinkListNode&lt;xbNodeType&gt; *llStartPtr;</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> xbLinkListNode&lt;xbNodeType&gt; *llEndPtr;</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span>};</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span>xbLinkListOrd&lt;xbNodeType&gt;::xbLinkListOrd(){</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> bAllowDupKeys = <a class="code hl_define" href="xbtypes_8h.html#ab0ae00665298fe7f5292691cb98ec2d9">xbTrue</a>; <span class="comment">// default setting - allow duplicate keys</span></div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> ulNodeCnt = 0;</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> llStartPtr = NULL;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> llEndPtr = NULL;</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span>}</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span>xbLinkListOrd&lt;xbNodeType&gt;::~xbLinkListOrd(){</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> Clear();</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span>}</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="keywordtype">void</span> xbLinkListOrd&lt;xbNodeType&gt;::Clear(){</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> xbLinkListNode&lt;xbNodeType&gt; *cPtr = llStartPtr, *tPtr;</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">for</span>( xbUInt32 i = 0; i &lt; ulNodeCnt; i++ ){</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> tPtr = cPtr;</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> cPtr = cPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="comment">// next line might cause seg faults</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="comment">// delete tPtr-&gt;GetData();</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">delete</span> tPtr;</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> }</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> ulNodeCnt = 0;</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> llStartPtr = NULL;</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> llEndPtr = NULL;</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span>}</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span>xbLinkListNode&lt;xbNodeType&gt; * xbLinkListOrd&lt;xbNodeType&gt;::GetHeadNode()<span class="keyword"> const</span>{</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">return</span> llStartPtr;</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span>}</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span>xbLinkListNode&lt;xbNodeType&gt; * xbLinkListOrd&lt;xbNodeType&gt;::GetEndNode()<span class="keyword"> const</span>{</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">return</span> llEndPtr;</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span>}</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span>xbUInt32 xbLinkListOrd&lt;xbNodeType&gt;::GetNodeCnt()<span class="keyword"> const</span>{</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">return</span> ulNodeCnt;</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span>}</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span>xbUInt32 xbLinkListOrd&lt;xbNodeType&gt;::GetNodeCnt( <span class="keyword">const</span> xbString &amp;sNodeKey )<span class="keyword"> const</span>{</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="comment">// won&#39;t work if nodekey is not a string</span></div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> xbLinkListNode&lt;xbNodeType&gt; *currPtr = llStartPtr;</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="comment">// skip to sNodeKey</span></div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">while</span>( currPtr &amp;&amp; ( sNodeKey &gt; currPtr-&gt;GetKey())) {</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> currPtr = currPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> }</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="comment">// count entries for sNodeKey</span></div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> xbInt16 iKeyCnt = 0;</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">while</span>( currPtr &amp;&amp; ( sNodeKey == currPtr-&gt;GetKey())) {</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> iKeyCnt++;</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> currPtr = currPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> }</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">return</span> iKeyCnt;</div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span>}</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span>xbInt16 xbLinkListOrd&lt;xbNodeType&gt;::InsertKey( <span class="keyword">const</span> xbNodeType &amp;ntKey ){</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> xbString s;</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">return</span> InsertKey( ntKey, s );</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span>}</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> </div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span>xbInt16 xbLinkListOrd&lt;xbNodeType&gt;::InsertKey( <span class="keyword">const</span> xbNodeType &amp;ntKey, xbUInt32 ul ){</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> xbString s;</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> s.Sprintf( <span class="stringliteral">&quot;%ld&quot;</span>, ul );</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">return</span> InsertKey( ntKey, s );</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span>}</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> </div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span>xbInt16 xbLinkListOrd&lt;xbNodeType&gt;::InsertKey( <span class="keyword">const</span> xbNodeType &amp;ntKey, <span class="keyword">const</span> xbString &amp;sData ){</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> xbLinkListNode&lt;xbNodeType&gt; *p = <span class="keyword">new</span> xbLinkListNode&lt;xbNodeType&gt;( ntKey, sData );</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span>( p == 0 )</div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ae687fc7d872ba0475a8477e4447f9b54">XB_NO_MEMORY</a>;</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> </div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span>( ulNodeCnt &gt; 0 ){</div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> xbLinkListNode&lt;xbNodeType&gt; *currPtr = llStartPtr;</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> xbLinkListNode&lt;xbNodeType&gt; *prevPtr = NULL;</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> </div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="comment">// find location in the chain</span></div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">while</span>( currPtr &amp;&amp; ntKey &gt; currPtr-&gt;GetKey() ){</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> prevPtr = currPtr;</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> currPtr = currPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> }</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">if</span>( currPtr &amp;&amp; ntKey == currPtr-&gt;GetKey() &amp;&amp; bAllowDupKeys == 0 ){</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keyword">delete</span> p;</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ad60dbb1862c0c1c2dc0464cfbfd93a34">XB_KEY_NOT_UNIQUE</a>;</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> }</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> </div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">if</span>( currPtr == NULL ){</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="comment">// std::cout &lt;&lt; &quot;at the end of the chain\n&quot;;</span></div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> llEndPtr = p;</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> prevPtr-&gt;SetNextNode( p );</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> p-&gt;SetPrevNode( prevPtr );</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>( currPtr-&gt;GetPrevNode() == NULL ){</div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="comment">// std::cout &lt;&lt; &quot;at the beginning of the chain\n&quot;;</span></div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> p-&gt;SetNextNode( llStartPtr );</div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> llStartPtr-&gt;SetPrevNode( p );</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> llStartPtr = p;</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="comment">// std::cout &lt;&lt; &quot;in the middle of the chain\n&quot;;</span></div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> p-&gt;SetNextNode( currPtr ); </div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> p-&gt;SetPrevNode( currPtr-&gt;GetPrevNode());</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> currPtr-&gt;SetPrevNode( p );</div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> prevPtr-&gt;SetNextNode( p );</div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> }</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="comment">// std::cout &lt;&lt; &quot;first addition to the chain\n&quot;;</span></div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> llStartPtr = p;</div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> llEndPtr = p;</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> }</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> ulNodeCnt++;</div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span>}</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span>xbInt16 xbLinkListOrd&lt;xbNodeType&gt;::RemoveKey( <span class="keyword">const</span> xbNodeType &amp;ntKey ){</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="comment">// Remove the first instance of ntKey from the node chain</span></div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> xbLinkListNode&lt;xbNodeType&gt; *currPtr = llStartPtr;</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> xbLinkListNode&lt;xbNodeType&gt; *prevPtr = NULL;</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">while</span>( currPtr &amp;&amp; ntKey &gt; currPtr-&gt;GetKey() ){</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> prevPtr = currPtr;</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> currPtr = currPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> }</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> </div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">if</span>( currPtr &amp;&amp; ntKey == currPtr-&gt;GetKey()){</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span><span class="comment">// ntKey = currPtr-&gt;GetKey();</span></div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">if</span>( prevPtr == NULL ){ <span class="comment">// this is the first node</span></div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> llStartPtr = currPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="comment">// next line fails</span></div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">if</span>( llStartPtr ){</div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> llStartPtr-&gt;SetPrevNode( NULL );</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> }</div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keyword">delete</span> currPtr;</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> ulNodeCnt--;</div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>( currPtr-&gt;GetNextNode() == NULL ){ <span class="comment">// this is the last node</span></div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> llEndPtr = prevPtr;</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> prevPtr-&gt;SetNextNode( NULL );</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keyword">delete</span> currPtr;</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> ulNodeCnt--;</div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> </div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> prevPtr-&gt;SetNextNode( currPtr-&gt;GetNextNode());</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> currPtr-&gt;GetNextNode()-&gt;SetPrevNode( prevPtr );</div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <span class="keyword">delete</span> currPtr;</div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> ulNodeCnt--;</div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> }</div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac2606659a54111334f5b02861e533700">XB_NOT_FOUND</a>;</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> }</div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span>}</div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> </div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span>xbInt16 xbLinkListOrd&lt;xbNodeType&gt;::RemoveFromFront( xbNodeType &amp;ntKey ){</div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> </div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">if</span>( ulNodeCnt &lt;= 0 )</div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb">XB_INVALID_NODELINK</a>;</div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> xbLinkListNode&lt;xbNodeType&gt; *p = llStartPtr;</div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> llStartPtr = p-&gt;GetNextNode();</div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">if</span>( llStartPtr )</div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> llStartPtr-&gt;SetPrevNode( NULL );</div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> ntKey = p-&gt;GetKey();</div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keyword">delete</span> p;</div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> ulNodeCnt--;</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span>}</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> </div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span>xbInt16 xbLinkListOrd&lt;xbNodeType&gt;::RemoveFromFront(){</div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> </div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">if</span>( ulNodeCnt &lt;= 0 )</div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb">XB_INVALID_NODELINK</a>;</div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> xbLinkListNode&lt;xbNodeType&gt; *p = llStartPtr;</div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> llStartPtr = p-&gt;GetNextNode();</div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">if</span>( llStartPtr )</div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> llStartPtr-&gt;SetPrevNode( NULL );</div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">if</span>( p-&gt;GetKey())</div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <span class="keyword">delete</span> p-&gt;GetKey();</div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> </div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="keyword">delete</span> p;</div>
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> ulNodeCnt--;</div>
+<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> </div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span>}</div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> </div>
+<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> </div>
+<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span>xbInt16 xbLinkListOrd&lt;xbNodeType&gt;::RemoveFromEnd( xbNodeType &amp;ntKey ){</div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> </div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">if</span>( ulNodeCnt &lt;= 0 )</div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb">XB_INVALID_NODELINK</a>;</div>
+<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> xbLinkListNode&lt;xbNodeType&gt; *p = llEndPtr;</div>
+<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> llEndPtr = p-&gt;GetPrevNode();</div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> llEndPtr-&gt;SetNextNode( NULL );</div>
+<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> ntKey = p-&gt;GetKey();</div>
+<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <span class="keyword">delete</span> p;</div>
+<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> ulNodeCnt--;</div>
+<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span>}</div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> </div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span><a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xbLinkListOrd&lt;xbNodeType&gt;::GetDupKeys(){</div>
+<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">return</span> bAllowDupKeys;</div>
+<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span>}</div>
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> </div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span><span class="keywordtype">void</span> xbLinkListOrd&lt;xbNodeType&gt;::SetDupKeys( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bAllowDupKeys ){</div>
+<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> this-&gt;bAllowDupKeys = bAllowDupKeys;</div>
+<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span>}</div>
+<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> </div>
+<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> </div>
+<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span><a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> xbLinkListOrd&lt;xbNodeType&gt;::KeyExists( <span class="keyword">const</span> xbNodeType &amp;ntKey )<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> </div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> xbLinkListNode&lt;xbNodeType&gt; *currPtr = llStartPtr;</div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">while</span>( currPtr &amp;&amp; ntKey &gt; currPtr-&gt;GetKey() ){</div>
+<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> currPtr = currPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> }</div>
+<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">if</span>( currPtr &amp;&amp; ntKey == currPtr-&gt;GetKey()){</div>
+<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbtypes_8h.html#ab0ae00665298fe7f5292691cb98ec2d9">xbTrue</a>;</div>
+<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbtypes_8h.html#adc4b6ca5ad299f63675136d9e03938cc">xbFalse</a>;</div>
+<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> }</div>
+<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span>}</div>
+<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> </div>
+<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> </div>
+<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span>xbInt16 xbLinkListOrd&lt;xbNodeType&gt;::GetDataForKey( <span class="keyword">const</span> xbNodeType &amp;ntKey, xbString &amp;sData ){</div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> </div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> xbLinkListNode&lt;xbNodeType&gt; *currPtr = llStartPtr;</div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> <span class="keywordflow">while</span>( currPtr &amp;&amp; ntKey &gt; currPtr-&gt;GetKey() ){</div>
+<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> currPtr = currPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> }</div>
+<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> </div>
+<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">if</span>( currPtr &amp;&amp; ntKey == currPtr-&gt;GetKey()){</div>
+<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> sData = currPtr-&gt;GetData();</div>
+<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> } <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac2606659a54111334f5b02861e533700">XB_NOT_FOUND</a>;</div>
+<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> }</div>
+<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span>}</div>
+<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> </div>
+<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> </div>
+<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span>xbInt16 xbLinkListOrd&lt;xbNodeType&gt;::UpdateForKey( <span class="keyword">const</span> xbNodeType &amp;ntKey, <span class="keyword">const</span> xbString &amp;sData ){</div>
+<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> </div>
+<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">if</span>( ulNodeCnt == 0 )</div>
+<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">return</span> InsertKey( ntKey, sData );</div>
+<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> xbLinkListNode&lt;xbNodeType&gt; * currPtr = llStartPtr;</div>
+<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> xbLinkListNode&lt;xbNodeType&gt; * prevPtr = NULL;</div>
+<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">while</span>( currPtr &amp;&amp; ntKey &gt; currPtr-&gt;GetKey() ) {</div>
+<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> prevPtr = currPtr;</div>
+<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> currPtr = currPtr-&gt;GetNextNode();</div>
+<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> }</div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> </div>
+<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">if</span>( currPtr &amp;&amp; ntKey == currPtr-&gt;GetKey() ) {</div>
+<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> xbLinkListNode&lt;xbNodeType&gt; *p = <span class="keyword">new</span> xbLinkListNode&lt;xbNodeType&gt;( ntKey, sData );</div>
+<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> <span class="keywordflow">if</span>( prevPtr )</div>
+<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> prevPtr-&gt;SetNextNode( p );</div>
+<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">else</span></div>
+<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> llStartPtr = p;</div>
+<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> p-&gt;SetNextNode( currPtr-&gt;GetNextNode() );</div>
+<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> p-&gt;SetPrevNode( currPtr-&gt;GetPrevNode() );</div>
+<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> <span class="keyword">delete</span> currPtr;</div>
+<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">return</span> <a class="code hl_define" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>;</div>
+<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> }</div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> </div>
+<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> <span class="keywordflow">return</span> InsertKey( ntKey, sData );</div>
+<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> </div>
+<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span><span class="comment">// return 0;</span></div>
+<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span>}</div>
+<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> </div>
+<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span>} <span class="comment">// namespace</span></div>
+<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> </div>
+<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span><span class="preprocessor">#endif </span><span class="comment">// XB_LINKLIST_SUPPORT</span></div>
+<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span><span class="preprocessor">#endif </span><span class="comment">// XB_XBLNKLSTORD_H__</span></div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> </div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> </div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+<div class="ttc" id="axbretcod_8h_html_a13e6876470bd34c8c4e5533f115e04eb"><div class="ttname"><a href="xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb">XB_INVALID_NODELINK</a></div><div class="ttdeci">#define XB_INVALID_NODELINK</div><div class="ttdef"><b>Definition:</b> xbretcod.h:29</div></div>
+<div class="ttc" id="axbretcod_8h_html_ac2606659a54111334f5b02861e533700"><div class="ttname"><a href="xbretcod_8h.html#ac2606659a54111334f5b02861e533700">XB_NOT_FOUND</a></div><div class="ttdeci">#define XB_NOT_FOUND</div><div class="ttdef"><b>Definition:</b> xbretcod.h:41</div></div>
+<div class="ttc" id="axbretcod_8h_html_ac720d5b4ec45bfd606f5865d40816e23"><div class="ttname"><a href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a></div><div class="ttdeci">#define XB_NO_ERROR</div><div class="ttdef"><b>Definition:</b> xbretcod.h:24</div></div>
+<div class="ttc" id="axbretcod_8h_html_ad60dbb1862c0c1c2dc0464cfbfd93a34"><div class="ttname"><a href="xbretcod_8h.html#ad60dbb1862c0c1c2dc0464cfbfd93a34">XB_KEY_NOT_UNIQUE</a></div><div class="ttdeci">#define XB_KEY_NOT_UNIQUE</div><div class="ttdef"><b>Definition:</b> xbretcod.h:30</div></div>
+<div class="ttc" id="axbretcod_8h_html_ae687fc7d872ba0475a8477e4447f9b54"><div class="ttname"><a href="xbretcod_8h.html#ae687fc7d872ba0475a8477e4447f9b54">XB_NO_MEMORY</a></div><div class="ttdeci">#define XB_NO_MEMORY</div><div class="ttdef"><b>Definition:</b> xbretcod.h:25</div></div>
+<div class="ttc" id="axbtypes_8h_html_ab0ae00665298fe7f5292691cb98ec2d9"><div class="ttname"><a href="xbtypes_8h.html#ab0ae00665298fe7f5292691cb98ec2d9">xbTrue</a></div><div class="ttdeci">#define xbTrue</div><div class="ttdef"><b>Definition:</b> xbtypes.h:28</div></div>
+<div class="ttc" id="axbtypes_8h_html_adc4b6ca5ad299f63675136d9e03938cc"><div class="ttname"><a href="xbtypes_8h.html#adc4b6ca5ad299f63675136d9e03938cc">xbFalse</a></div><div class="ttdeci">#define xbFalse</div><div class="ttdef"><b>Definition:</b> xbtypes.h:29</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xblnknod_8h.html b/docs/doxygen/html/xblnknod_8h.html
new file mode 100644
index 0000000..a26256b
--- /dev/null
+++ b/docs/doxygen/html/xblnknod_8h.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xblnknod.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xblnknod.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xblnknod_8h_source.html">Go to the source code of this file.</a></p>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xblnknod_8h_source.html b/docs/doxygen/html/xblnknod_8h_source.html
new file mode 100644
index 0000000..5594d65
--- /dev/null
+++ b/docs/doxygen/html/xblnknod_8h_source.html
@@ -0,0 +1,174 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xblnknod.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xblnknod.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xblnknod_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xblnknod.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#ifndef __XB_XBLNKNOD_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define __XB_XBLNKNOD_H__</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#ifdef XB_LINKLIST_SUPPORT</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">class </span>XBDLLEXPORT xbLinkListNode {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> xbLinkListNode( <span class="keyword">const</span> xbNodeType &amp; );</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> xbLinkListNode( <span class="keyword">const</span> xbNodeType &amp;, <span class="keyword">const</span> xbString &amp; );</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> xbNodeType GetKey() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> xbString &amp;GetData();</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> xbLinkListNode&lt;xbNodeType&gt; *GetNextNode() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> xbLinkListNode&lt;xbNodeType&gt; *GetPrevNode() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">void</span> SetNextNode( xbLinkListNode&lt;xbNodeType&gt; *llNext );</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">void</span> SetPrevNode( xbLinkListNode&lt;xbNodeType&gt; *llPrev );</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> xbNodeType ntKey;</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> xbString sData;</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> xbLinkListNode *llNext;</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> xbLinkListNode *llPrev;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span>};</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> xbLinkListNode&lt;xbNodeType&gt;::xbLinkListNode( <span class="keyword">const</span> xbNodeType &amp;key ){</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> ntKey = key;</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> llNext = NULL;</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> llPrev = NULL;</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> }</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> xbLinkListNode&lt;xbNodeType&gt;::xbLinkListNode( <span class="keyword">const</span> xbNodeType &amp;key, <span class="keyword">const</span> xbString &amp;s ){</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> ntKey = key;</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> sData = s;</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> llNext = NULL;</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> llPrev = NULL;</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> }</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> xbNodeType xbLinkListNode&lt;xbNodeType&gt;::GetKey()<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">return</span> ntKey;</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> }</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> xbString &amp;xbLinkListNode&lt;xbNodeType&gt;::GetData(){</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">return</span> sData;</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> }</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> xbLinkListNode&lt;xbNodeType&gt; *xbLinkListNode&lt;xbNodeType&gt;::GetNextNode()<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">return</span> llNext;</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> }</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> xbLinkListNode&lt;xbNodeType&gt; *xbLinkListNode&lt;xbNodeType&gt;::GetPrevNode()<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">return</span> llPrev;</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> }</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">void</span> xbLinkListNode&lt;xbNodeType&gt;::SetNextNode( xbLinkListNode&lt;xbNodeType&gt; *lln ){</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> llNext = lln;</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> }</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">template</span>&lt;<span class="keyword">class</span> xbNodeType&gt;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">void</span> xbLinkListNode&lt;xbNodeType&gt;::SetPrevNode( xbLinkListNode&lt;xbNodeType&gt; *llp ){</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> llPrev = llp;</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> }</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span>} <span class="comment">// namespace</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor">#endif </span><span class="comment">// XB_LINKLIST_SUPPORT</span></div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="preprocessor">#endif </span><span class="comment">// XB_XBLNKNOD_H__</span></div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xblog_8cpp.html b/docs/doxygen/html/xblog_8cpp.html
new file mode 100644
index 0000000..a273dfe
--- /dev/null
+++ b/docs/doxygen/html/xblog_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xblog.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xblog.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xblog_8h.html b/docs/doxygen/html/xblog_8h.html
new file mode 100644
index 0000000..fc7b6f1
--- /dev/null
+++ b/docs/doxygen/html/xblog_8h.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xblog.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> </div>
+ <div class="headertitle"><div class="title">xblog.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xblog_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xblog_8h_source.html b/docs/doxygen/html/xblog_8h_source.html
new file mode 100644
index 0000000..db2c10f
--- /dev/null
+++ b/docs/doxygen/html/xblog_8h_source.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xblog.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xblog.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xblog_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xblog.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#ifndef __XB_XBLOG_H__</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#define __XB_XBLOG_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#pragma interface</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#ifdef XB_LOGGING_SUPPORT</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="keyword">class </span>XBDLLEXPORT <a class="code hl_variable" href="namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c">xbLog</a> : <span class="keyword">public</span> xbFile {</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <a class="code hl_variable" href="namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c">xbLog</a>();</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <a class="code hl_variable" href="namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c">xbLog</a>( <span class="keyword">const</span> xbString &amp;sLogFileName );</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> ~xbLog();</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> xbInt16 LogClose ();</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> xbInt16 LogGetStatus ();</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> xbInt16 LogOpen ();</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">void</span> LogSetStatus ( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bLogStatus );</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">void</span> LogSetLogSize( <span class="keywordtype">size_t</span> lSize ); <span class="comment">// { LogSize = size; }</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> xbInt16 LogWrite ( <span class="keyword">const</span> xbString &amp;LogEntry, xbInt16 iOutputOption = 0 );</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> xbInt16 LogWriteBytes( xbUInt32 lByteCnt, <span class="keyword">const</span> <span class="keywordtype">char</span> *p );</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">size_t</span> LogGetLogSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lLogSize; }</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bLoggingStatus; <span class="comment">// false = logging off</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// true = logging on</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">size_t</span> lLogSize;</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> xbInt16 iShareMode;</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span>};</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="preprocessor">#endif </span><span class="comment">// XB_LOGGING_SUPPORT</span></div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span>} <span class="comment">// namespace</span></div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="preprocessor">#endif </span><span class="comment">// XB_XBLOG_H__</span></div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_a4a31fbe9110c9e55495ce71e642d785c"><div class="ttname"><a href="namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c">xb::xbLog</a></div><div class="ttdeci">class XBDLLEXPORT xbLog</div><div class="ttdef"><b>Definition:</b> xbxbase.h:26</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbmemo3_8cpp.html b/docs/doxygen/html/xbmemo3_8cpp.html
new file mode 100644
index 0000000..ab331c3
--- /dev/null
+++ b/docs/doxygen/html/xbmemo3_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbmemo3.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbmemo3.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbmemo4_8cpp.html b/docs/doxygen/html/xbmemo4_8cpp.html
new file mode 100644
index 0000000..cc3596b
--- /dev/null
+++ b/docs/doxygen/html/xbmemo4_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbmemo4.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbmemo4.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbmemo_8cpp.html b/docs/doxygen/html/xbmemo_8cpp.html
new file mode 100644
index 0000000..8ff00bd
--- /dev/null
+++ b/docs/doxygen/html/xbmemo_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbmemo.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbmemo.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbmemo_8h.html b/docs/doxygen/html/xbmemo_8h.html
new file mode 100644
index 0000000..3aca233
--- /dev/null
+++ b/docs/doxygen/html/xbmemo_8h.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbmemo.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbmemo.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbmemo_8h_source.html">Go to the source code of this file.</a></p>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbmemo_8h_source.html b/docs/doxygen/html/xbmemo_8h_source.html
new file mode 100644
index 0000000..52c2335
--- /dev/null
+++ b/docs/doxygen/html/xbmemo_8h_source.html
@@ -0,0 +1,263 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbmemo.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbmemo.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbmemo_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbmemo.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#ifndef __XB_XBMEMO_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define __XB_XBMEMO_H__</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">// dont use &quot;#pragma interface&quot; with abstract classes</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">// #ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">// #pragma interface</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">// #endif</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#ifdef XB_MEMO_SUPPORT</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="keyword">class </span>XBDLLEXPORT xbMemo : <span class="keyword">public</span> xbFile {</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> xbMemo( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf, xbString <span class="keyword">const</span> &amp;sFileName );</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/* virtual methods */</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">virtual</span> ~xbMemo();</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">virtual</span> xbInt16 Abort () = 0;</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">virtual</span> xbInt16 CloseMemoFile ();</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">virtual</span> xbInt16 Commit () = 0;</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">virtual</span> xbInt16 CreateMemoFile () = 0;</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">virtual</span> xbInt16 DumpMemoHeader () = 0;</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">virtual</span> xbInt16 GetMemoField ( xbInt16 iFieldNo, xbString &amp;sMemoData ) = 0;</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">virtual</span> xbInt16 GetMemoFieldLen ( xbInt16 iFieldNo, xbUInt32 &amp;ulMemoFieldLen ) = 0;</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">virtual</span> xbInt16 OpenMemoFile () = 0;</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">virtual</span> xbInt16 GetMemoFileType ();</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">virtual</span> xbInt16 PackMemo ( <span class="keywordtype">void</span> (*memoStatusFunc)(xbUInt32 ulItemNum, xbUInt32 ulNumItems)) = 0;</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">virtual</span> xbInt16 UpdateMemoField ( xbInt16 iFieldNo, <span class="keyword">const</span> xbString &amp;sMemoData ) = 0;</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">virtual</span> xbInt16 DumpMemoFreeChain() = 0;</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="preprocessor"> #ifdef XB_LOCKING_SUPPORT</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">virtual</span> xbInt16 LockMemo ( xbInt16 iLockFunction );</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">virtual</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetMemoLocked () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="comment">// *********** FIXME *************</span></div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="comment">// next two methods should be protected but are called in the xb_test_xxxx programs testing routines</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="comment">// so for now, they are kept as public</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">virtual</span> xbInt16 CalcLastDataBlock ( xbUInt32 &amp;lLastDataBlock );</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">virtual</span> xbInt16 GetHdrNextBlock ( xbUInt32 &amp;ulBlockNo );</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a>;</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">virtual</span> xbInt16 ReadDbtHeader ( xbInt16 iOption ) = 0;</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">virtual</span> xbInt16 UpdateHeaderName () = 0;</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">virtual</span> xbInt16 UpdateHeadNextNode();</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">virtual</span> xbInt16 Zap () = 0;</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf; <span class="comment">/* pointer to related dbf instance */</span></div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">char</span> cVersion; <span class="comment">/* byte 16 off the header block, 0x03 for V3, version IV - ? */</span></div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> xbInt16 iMemoFileType; <span class="comment">/* 3 = version III, 4 = version IV */</span></div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> xbUInt32 ulHdrNextBlock; <span class="comment">/* next available block , bytes 0-3 of the memo header */</span></div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">void</span> * mbb; <span class="comment">/* memo block buffer */</span></div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="preprocessor"> #ifdef XB_LOCKING_SUPPORT</span></div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bFileLocked; <span class="comment">/* memo file locked */</span></div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span>};</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="preprocessor">#ifdef XB_DBF3_SUPPORT</span></div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> </div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="keyword">class </span>XBDLLEXPORT xbMemoDbt3 : <span class="keyword">public</span> xbMemo {</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> xbMemoDbt3( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf, xbString <span class="keyword">const</span> &amp;sFileName );</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> ~xbMemoDbt3();</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">virtual</span> xbInt16 Abort ();</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">virtual</span> xbInt16 Commit ();</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">virtual</span> xbInt16 CreateMemoFile ();</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">virtual</span> xbInt16 DumpMemoHeader ();</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keyword">virtual</span> xbInt16 GetMemoField ( xbInt16 iFieldNo, xbString &amp;sMemoData );</div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">virtual</span> xbInt16 GetMemoFieldLen( xbInt16 iFieldNo, xbUInt32 &amp;ulMemoFieldLen );</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">virtual</span> xbInt16 OpenMemoFile ();</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">virtual</span> xbInt16 PackMemo ( <span class="keywordtype">void</span> (*memoStatusFunc) (xbUInt32 ulItemNum, xbUInt32 ulNumItems));</div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keyword">virtual</span> xbInt16 UpdateMemoField( xbInt16 iFieldNo, <span class="keyword">const</span> xbString &amp;sMemoData );</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> </div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keyword">virtual</span> xbInt16 DumpMemoFreeChain();</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keyword">virtual</span> xbInt16 ReadDbtHeader( xbInt16 iOption );</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">virtual</span> xbInt16 UpdateHeaderName();</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keyword">virtual</span> xbInt16 Zap();</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span>};</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span><span class="preprocessor">#ifdef XB_DBF4_SUPPORT</span></div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> </div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span><span class="keyword">class </span>XBDLLEXPORT xbMemoDbt4 : <span class="keyword">public</span> xbMemo {</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> xbMemoDbt4( <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *dbf, xbString <span class="keyword">const</span> &amp;sFileName );</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> ~xbMemoDbt4();</div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keyword">virtual</span> xbInt16 Abort ();</div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="keyword">virtual</span> xbInt16 Commit ();</div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">virtual</span> xbInt16 CreateMemoFile ();</div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">virtual</span> xbInt16 DumpMemoHeader ();</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">virtual</span> xbInt16 GetMemoField ( xbInt16 iFieldNo, xbString &amp;sMemoData );</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">virtual</span> xbInt16 GetMemoFieldLen ( xbInt16 iFieldNo, xbUInt32 &amp;ulMemoFieldLen );</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keyword">virtual</span> xbInt16 GetMemoFieldLen ( xbInt16 iFieldNo, xbUInt32 &amp;ulMemoFieldLen, xbUInt32 &amp;lBlockNo );</div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">virtual</span> xbInt16 OpenMemoFile ();</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keyword">virtual</span> xbInt16 PackMemo ( <span class="keywordtype">void</span> (*memoStatusFunc) (xbUInt32 ulItemNum, xbUInt32 ulNumItems));</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">virtual</span> xbInt16 UpdateMemoField ( xbInt16 iFieldNo, <span class="keyword">const</span> xbString &amp;sMemoData );</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> </div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keyword">virtual</span> xbInt16 DumpMemoFreeChain ();</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">virtual</span> xbInt16 DumpMemoInternals ();</div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">virtual</span> xbInt16 ReadFreeBlockHeader( xbUInt32 ulBlockNo, xbUInt32 &amp;ulNextBlock, xbUInt32 &amp;ulFreeBlockCnt );</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> </div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">virtual</span> xbInt16 FindBlockSetInChain( xbUInt32 ulBlocksNeeded, xbUInt32 &amp;ulLastDataBlock, xbUInt32 &amp;ulLocation, xbUInt32 &amp;ulPrevNode, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bFound );</div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">virtual</span> xbInt16 FreeMemoBlockChain( xbUInt32 ulBlockNo );</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keyword">virtual</span> xbInt16 FreeMemoBlockChain( xbUInt32 ulBlockNo, xbUInt32 &amp;ulLastDataBlock );</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">virtual</span> xbInt16 GetBlockSetFromChain( xbUInt32 ulBlocksNeeded, xbUInt32 ulLocation, xbUInt32 ulPrevNode );</div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keyword">virtual</span> xbInt16 ReadDbtHeader( xbInt16 iOption );</div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">virtual</span> xbInt16 ReadBlockHeader( xbUInt32 ulBlockNo, xbInt16 iOption );</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">virtual</span> xbInt16 UpdateHeaderName ();</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">virtual</span> xbInt16 WriteBlockHeader( xbUInt32 ulBlockNo, xbInt16 iOption );</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">virtual</span> xbInt16 Zap();</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> xbString sDbfFileNameWoExt;</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> xbUInt32 ulNextFreeBlock;</div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> xbUInt32 ulFreeBlockCnt;</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> xbInt16 iField1;</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> xbInt16 iStartPos;</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> xbUInt32 ulFieldLen;</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> </div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> xbLinkList&lt;xbUInt32&gt; llOldBlocks; <span class="comment">// list of previously used memo blocks for field, used by Commit() / Abort()</span></div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> xbLinkList&lt;xbUInt32&gt; llNewBlocks; <span class="comment">// list of newly updated memo blocks for field, used by Commit() / Abort()</span></div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span>};</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> </div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span>} <span class="comment">/* namespace xb */</span></div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span><span class="preprocessor">#endif </span><span class="comment">/* XB_MEMO_SUPPORT */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span><span class="preprocessor">#endif </span><span class="comment">/* __XB_MEMO_H__ */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> </div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+<div class="ttc" id="anamespacexb_html_ab2eae4b4732466698a7fdd89d77ba53b"><div class="ttname"><a href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xb::xbDbf</a></div><div class="ttdeci">class XBDLLEXPORT xbDbf</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:28</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbretcod_8h.html b/docs/doxygen/html/xbretcod_8h.html
new file mode 100644
index 0000000..baa24b3
--- /dev/null
+++ b/docs/doxygen/html/xbretcod_8h.html
@@ -0,0 +1,1022 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbretcod.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#define-members">Macros</a> </div>
+ <div class="headertitle"><div class="title">xbretcod.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbretcod_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:ac720d5b4ec45bfd606f5865d40816e23"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23">XB_NO_ERROR</a>&#160;&#160;&#160;0</td></tr>
+<tr class="separator:ac720d5b4ec45bfd606f5865d40816e23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae687fc7d872ba0475a8477e4447f9b54"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#ae687fc7d872ba0475a8477e4447f9b54">XB_NO_MEMORY</a>&#160;&#160;&#160;-100</td></tr>
+<tr class="separator:ae687fc7d872ba0475a8477e4447f9b54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af1cd0baf346cad686fa4dd11f700012a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#af1cd0baf346cad686fa4dd11f700012a">XB_INVALID_OPTION</a>&#160;&#160;&#160;-101</td></tr>
+<tr class="separator:af1cd0baf346cad686fa4dd11f700012a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b78533ada854b4185c51ad8a5ce9f02"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a1b78533ada854b4185c51ad8a5ce9f02">XB_INVALID_PARAMETER</a>&#160;&#160;&#160;-102</td></tr>
+<tr class="separator:a1b78533ada854b4185c51ad8a5ce9f02"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac18036408d10e5eee1bf76cf92352b95"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#ac18036408d10e5eee1bf76cf92352b95">XB_DUP_TABLE_OR_ALIAS</a>&#160;&#160;&#160;-110</td></tr>
+<tr class="separator:ac18036408d10e5eee1bf76cf92352b95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13e6876470bd34c8c4e5533f115e04eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb">XB_INVALID_NODELINK</a>&#160;&#160;&#160;-120</td></tr>
+<tr class="separator:a13e6876470bd34c8c4e5533f115e04eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad60dbb1862c0c1c2dc0464cfbfd93a34"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#ad60dbb1862c0c1c2dc0464cfbfd93a34">XB_KEY_NOT_UNIQUE</a>&#160;&#160;&#160;-121</td></tr>
+<tr class="separator:ad60dbb1862c0c1c2dc0464cfbfd93a34"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa2925f035e3b186d7efa14648ea0e86d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#aa2925f035e3b186d7efa14648ea0e86d">XB_MEMCPY_ERROR</a>&#160;&#160;&#160;-122</td></tr>
+<tr class="separator:aa2925f035e3b186d7efa14648ea0e86d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a54303a9677dbd5342233f33dd08c64d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a54303a9677dbd5342233f33dd08c64d0">XB_FILE_EXISTS</a>&#160;&#160;&#160;-200</td></tr>
+<tr class="separator:a54303a9677dbd5342233f33dd08c64d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa2ff8301503f446c6a5f6510090e520f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#aa2ff8301503f446c6a5f6510090e520f">XB_ALREADY_OPEN</a>&#160;&#160;&#160;-201</td></tr>
+<tr class="separator:aa2ff8301503f446c6a5f6510090e520f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8104510b347c87998eadd0b27201e3c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a8104510b347c87998eadd0b27201e3c2">XB_DBF_FILE_NOT_OPEN</a>&#160;&#160;&#160;-202</td></tr>
+<tr class="separator:a8104510b347c87998eadd0b27201e3c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad090af330c93111d12f6de35dbb065bc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#ad090af330c93111d12f6de35dbb065bc">XB_FILE_NOT_FOUND</a>&#160;&#160;&#160;-203</td></tr>
+<tr class="separator:ad090af330c93111d12f6de35dbb065bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab7b9130a5f1df9975cfeaf6241933596"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#ab7b9130a5f1df9975cfeaf6241933596">XB_FILE_TYPE_NOT_SUPPORTED</a>&#160;&#160;&#160;-204</td></tr>
+<tr class="separator:ab7b9130a5f1df9975cfeaf6241933596"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a373f30b2efcbbab9f6d060fb3fe8cba3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a373f30b2efcbbab9f6d060fb3fe8cba3">XB_RENAME_ERROR</a>&#160;&#160;&#160;-205</td></tr>
+<tr class="separator:a373f30b2efcbbab9f6d060fb3fe8cba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a418c047353bc683d0fd6ecbbdd5b7885"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a418c047353bc683d0fd6ecbbdd5b7885">XB_INVALID_OBJECT</a>&#160;&#160;&#160;-206</td></tr>
+<tr class="separator:a418c047353bc683d0fd6ecbbdd5b7885"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9474b400f647bdefbbb07e5177e8d7a1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a9474b400f647bdefbbb07e5177e8d7a1">XB_NOT_OPEN</a>&#160;&#160;&#160;-207</td></tr>
+<tr class="separator:a9474b400f647bdefbbb07e5177e8d7a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac2606659a54111334f5b02861e533700"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#ac2606659a54111334f5b02861e533700">XB_NOT_FOUND</a>&#160;&#160;&#160;-208</td></tr>
+<tr class="separator:ac2606659a54111334f5b02861e533700"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaab55236993a1d3acb29206252a904c8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#aaab55236993a1d3acb29206252a904c8">XB_OPEN_ERROR</a>&#160;&#160;&#160;-209</td></tr>
+<tr class="separator:aaab55236993a1d3acb29206252a904c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a030684d5541cf6127a76d81b0684b235"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a030684d5541cf6127a76d81b0684b235">XB_CLOSE_ERROR</a>&#160;&#160;&#160;-210</td></tr>
+<tr class="separator:a030684d5541cf6127a76d81b0684b235"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0455ad8719e153b08ec68b10c81e9f41"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a0455ad8719e153b08ec68b10c81e9f41">XB_SEEK_ERROR</a>&#160;&#160;&#160;-211</td></tr>
+<tr class="separator:a0455ad8719e153b08ec68b10c81e9f41"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adbd40585db8bb748d191f94a33bac710"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#adbd40585db8bb748d191f94a33bac710">XB_READ_ERROR</a>&#160;&#160;&#160;-212</td></tr>
+<tr class="separator:adbd40585db8bb748d191f94a33bac710"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef34ebe6726057f805d6063130280549"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#aef34ebe6726057f805d6063130280549">XB_WRITE_ERROR</a>&#160;&#160;&#160;-213</td></tr>
+<tr class="separator:aef34ebe6726057f805d6063130280549"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b47031e90c3f86306c7058e4490d3b7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a8b47031e90c3f86306c7058e4490d3b7">XB_EOF</a>&#160;&#160;&#160;-214</td></tr>
+<tr class="separator:a8b47031e90c3f86306c7058e4490d3b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade5f3a7cf1467d12761e4e21b5e4200f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#ade5f3a7cf1467d12761e4e21b5e4200f">XB_BOF</a>&#160;&#160;&#160;-215</td></tr>
+<tr class="separator:ade5f3a7cf1467d12761e4e21b5e4200f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1bd22921612389c37f6b2eac438c62c5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a1bd22921612389c37f6b2eac438c62c5">XB_INVALID_BLOCK_SIZE</a>&#160;&#160;&#160;-216</td></tr>
+<tr class="separator:a1bd22921612389c37f6b2eac438c62c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e13b529b486c43ca600ce7d8ddbf3c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a4e13b529b486c43ca600ce7d8ddbf3c2">XB_INVALID_BLOCK_NO</a>&#160;&#160;&#160;-217</td></tr>
+<tr class="separator:a4e13b529b486c43ca600ce7d8ddbf3c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0fd212f912b2e62700a66bae95bd73a1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a0fd212f912b2e62700a66bae95bd73a1">XB_INVALID_RECORD</a>&#160;&#160;&#160;-218</td></tr>
+<tr class="separator:a0fd212f912b2e62700a66bae95bd73a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada15513935d5ede9216f07c0438f34d2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#ada15513935d5ede9216f07c0438f34d2">XB_DELETE_FAILED</a>&#160;&#160;&#160;-219</td></tr>
+<tr class="separator:ada15513935d5ede9216f07c0438f34d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a53891c95a78483704d2a8e14c4499f92"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a53891c95a78483704d2a8e14c4499f92">XB_INVALID_TABLE_NAME</a>&#160;&#160;&#160;-220</td></tr>
+<tr class="separator:a53891c95a78483704d2a8e14c4499f92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a18068d0cbe0c7a1b4dd3176220180c29"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a18068d0cbe0c7a1b4dd3176220180c29">XB_EMPTY</a>&#160;&#160;&#160;-221</td></tr>
+<tr class="separator:a18068d0cbe0c7a1b4dd3176220180c29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a59f1a8a6aca19595c2d1804349a24850"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a59f1a8a6aca19595c2d1804349a24850">XB_LIMIT_REACHED</a>&#160;&#160;&#160;-222</td></tr>
+<tr class="separator:a59f1a8a6aca19595c2d1804349a24850"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae9241d91cfb37f5d236128b3bce0a4a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#aae9241d91cfb37f5d236128b3bce0a4a">XB_BLOCKREAD_NOT_ENABLED</a>&#160;&#160;&#160;-223</td></tr>
+<tr class="separator:aae9241d91cfb37f5d236128b3bce0a4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af532df74147ce2d872f61abfee49c53e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#af532df74147ce2d872f61abfee49c53e">XB_DIRECTORY_ERROR</a>&#160;&#160;&#160;-224</td></tr>
+<tr class="separator:af532df74147ce2d872f61abfee49c53e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79e2588f067d6e236c0e5a2c0728ba9f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a79e2588f067d6e236c0e5a2c0728ba9f">XB_INVALID_FIELD_TYPE</a>&#160;&#160;&#160;-300</td></tr>
+<tr class="separator:a79e2588f067d6e236c0e5a2c0728ba9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a09d6c08a44316f551108a74003efd381"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a09d6c08a44316f551108a74003efd381">XB_INVALID_FIELD_NO</a>&#160;&#160;&#160;-301</td></tr>
+<tr class="separator:a09d6c08a44316f551108a74003efd381"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb40bbed323ecb369dd430a2e1242f9a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#afb40bbed323ecb369dd430a2e1242f9a">XB_INVALID_DATA</a>&#160;&#160;&#160;-302</td></tr>
+<tr class="separator:afb40bbed323ecb369dd430a2e1242f9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a59403978784130834cf39434cb73f96e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a59403978784130834cf39434cb73f96e">XB_INVALID_FIELD_NAME</a>&#160;&#160;&#160;-303</td></tr>
+<tr class="separator:a59403978784130834cf39434cb73f96e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a187c50745f51bfe4aa6f70a92f16c59f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a187c50745f51bfe4aa6f70a92f16c59f">XB_INVALID_MEMO_FIELD</a>&#160;&#160;&#160;-304</td></tr>
+<tr class="separator:a187c50745f51bfe4aa6f70a92f16c59f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a34180b2e2bd350ba2ebcdd1335e15d7e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a34180b2e2bd350ba2ebcdd1335e15d7e">XB_INVALID_FIELD</a>&#160;&#160;&#160;-305</td></tr>
+<tr class="separator:a34180b2e2bd350ba2ebcdd1335e15d7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7bd322c0efbba17f68ccccd6cf624411"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a7bd322c0efbba17f68ccccd6cf624411">XB_INVALID_FIELD_LEN</a>&#160;&#160;&#160;-306</td></tr>
+<tr class="separator:a7bd322c0efbba17f68ccccd6cf624411"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a702475500357a27b8a34463be3e11925"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a702475500357a27b8a34463be3e11925">XB_INVALID_DATE</a>&#160;&#160;&#160;-307</td></tr>
+<tr class="separator:a702475500357a27b8a34463be3e11925"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab45735e63c208eb7e6d6df31fd527aec"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#ab45735e63c208eb7e6d6df31fd527aec">XB_INVALID_LOCK_OPTION</a>&#160;&#160;&#160;-400</td></tr>
+<tr class="separator:ab45735e63c208eb7e6d6df31fd527aec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a001e24b39e0f155fb1e892f5b1b9cff1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a001e24b39e0f155fb1e892f5b1b9cff1">XB_LOCK_FAILED</a>&#160;&#160;&#160;-401</td></tr>
+<tr class="separator:a001e24b39e0f155fb1e892f5b1b9cff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6aaf779fddecca521d785666f6dc56b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#af6aaf779fddecca521d785666f6dc56b">XB_TABLE_NOT_LOCKED</a>&#160;&#160;&#160;-402</td></tr>
+<tr class="separator:af6aaf779fddecca521d785666f6dc56b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec713cac2b03a0d536a2d16336ae7c0b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#aec713cac2b03a0d536a2d16336ae7c0b">XB_PARSE_ERROR</a>&#160;&#160;&#160;-500</td></tr>
+<tr class="separator:aec713cac2b03a0d536a2d16336ae7c0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b7e5e440dbcf5e6dc885b24dbe28742"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a2b7e5e440dbcf5e6dc885b24dbe28742">XB_INVALID_FUNCTION</a>&#160;&#160;&#160;-501</td></tr>
+<tr class="separator:a2b7e5e440dbcf5e6dc885b24dbe28742"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cedf96581c9cbc9c14d07494143702d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a4cedf96581c9cbc9c14d07494143702d">XB_INVALID_PARM</a>&#160;&#160;&#160;-502</td></tr>
+<tr class="separator:a4cedf96581c9cbc9c14d07494143702d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc4b24bfffa202f8df25409894e547b9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#adc4b24bfffa202f8df25409894e547b9">XB_INCONSISTENT_PARM_LENS</a>&#160;&#160;&#160;-503</td></tr>
+<tr class="separator:adc4b24bfffa202f8df25409894e547b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af141ec58b7ca7360e0be6c61d015ea74"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#af141ec58b7ca7360e0be6c61d015ea74">XB_INCOMPATIBLE_OPERANDS</a>&#160;&#160;&#160;-504</td></tr>
+<tr class="separator:af141ec58b7ca7360e0be6c61d015ea74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff5646a6b0884ff81004de6961473ea6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#aff5646a6b0884ff81004de6961473ea6">XB_UNBALANCED_PARENS</a>&#160;&#160;&#160;-505</td></tr>
+<tr class="separator:aff5646a6b0884ff81004de6961473ea6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aedfa20a6c4eb9ba3063ba56be8280eac"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#aedfa20a6c4eb9ba3063ba56be8280eac">XB_UNBALANCED_QUOTES</a>&#160;&#160;&#160;-506</td></tr>
+<tr class="separator:aedfa20a6c4eb9ba3063ba56be8280eac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a54db562c3cae97581812b4fccd52b71a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a54db562c3cae97581812b4fccd52b71a">XB_INVALID_EXPRESSION</a>&#160;&#160;&#160;-507</td></tr>
+<tr class="separator:a54db562c3cae97581812b4fccd52b71a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec2c0ac2bd62e0329ef130e4fbda39f8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#aec2c0ac2bd62e0329ef130e4fbda39f8">XB_INVALID_KEYNO</a>&#160;&#160;&#160;-600</td></tr>
+<tr class="separator:aec2c0ac2bd62e0329ef130e4fbda39f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd175ef0541e2cad424791bd87619dd4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#acd175ef0541e2cad424791bd87619dd4">XB_INVALID_INDEX</a>&#160;&#160;&#160;-601</td></tr>
+<tr class="separator:acd175ef0541e2cad424791bd87619dd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a176d917912d3433f065483f905a4c50a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a176d917912d3433f065483f905a4c50a">XB_INVALID_TAG</a>&#160;&#160;&#160;-602</td></tr>
+<tr class="separator:a176d917912d3433f065483f905a4c50a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0aba12b5ae2137f8d6abd28b47f95f0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#ad0aba12b5ae2137f8d6abd28b47f95f0">XB_INVALID_PAGE</a>&#160;&#160;&#160;-603</td></tr>
+<tr class="separator:ad0aba12b5ae2137f8d6abd28b47f95f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5db3a90f215534143bdde81253729c7f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a5db3a90f215534143bdde81253729c7f">XB_SYNTAX_ERROR</a>&#160;&#160;&#160;-700</td></tr>
+<tr class="separator:a5db3a90f215534143bdde81253729c7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a299419a9c80e000b74bf97a2d24d6a3d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbretcod_8h.html#a299419a9c80e000b74bf97a2d24d6a3d">XB_MAX_ERROR_NO</a>&#160;&#160;&#160;-999</td></tr>
+<tr class="separator:a299419a9c80e000b74bf97a2d24d6a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="aa2ff8301503f446c6a5f6510090e520f" name="aa2ff8301503f446c6a5f6510090e520f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa2ff8301503f446c6a5f6510090e520f">&#9670;&nbsp;</a></span>XB_ALREADY_OPEN</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_ALREADY_OPEN&#160;&#160;&#160;-201</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aae9241d91cfb37f5d236128b3bce0a4a" name="aae9241d91cfb37f5d236128b3bce0a4a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aae9241d91cfb37f5d236128b3bce0a4a">&#9670;&nbsp;</a></span>XB_BLOCKREAD_NOT_ENABLED</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_BLOCKREAD_NOT_ENABLED&#160;&#160;&#160;-223</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ade5f3a7cf1467d12761e4e21b5e4200f" name="ade5f3a7cf1467d12761e4e21b5e4200f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ade5f3a7cf1467d12761e4e21b5e4200f">&#9670;&nbsp;</a></span>XB_BOF</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_BOF&#160;&#160;&#160;-215</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a030684d5541cf6127a76d81b0684b235" name="a030684d5541cf6127a76d81b0684b235"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a030684d5541cf6127a76d81b0684b235">&#9670;&nbsp;</a></span>XB_CLOSE_ERROR</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_CLOSE_ERROR&#160;&#160;&#160;-210</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8104510b347c87998eadd0b27201e3c2" name="a8104510b347c87998eadd0b27201e3c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8104510b347c87998eadd0b27201e3c2">&#9670;&nbsp;</a></span>XB_DBF_FILE_NOT_OPEN</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_DBF_FILE_NOT_OPEN&#160;&#160;&#160;-202</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ada15513935d5ede9216f07c0438f34d2" name="ada15513935d5ede9216f07c0438f34d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ada15513935d5ede9216f07c0438f34d2">&#9670;&nbsp;</a></span>XB_DELETE_FAILED</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_DELETE_FAILED&#160;&#160;&#160;-219</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af532df74147ce2d872f61abfee49c53e" name="af532df74147ce2d872f61abfee49c53e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af532df74147ce2d872f61abfee49c53e">&#9670;&nbsp;</a></span>XB_DIRECTORY_ERROR</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_DIRECTORY_ERROR&#160;&#160;&#160;-224</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac18036408d10e5eee1bf76cf92352b95" name="ac18036408d10e5eee1bf76cf92352b95"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac18036408d10e5eee1bf76cf92352b95">&#9670;&nbsp;</a></span>XB_DUP_TABLE_OR_ALIAS</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_DUP_TABLE_OR_ALIAS&#160;&#160;&#160;-110</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a18068d0cbe0c7a1b4dd3176220180c29" name="a18068d0cbe0c7a1b4dd3176220180c29"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a18068d0cbe0c7a1b4dd3176220180c29">&#9670;&nbsp;</a></span>XB_EMPTY</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_EMPTY&#160;&#160;&#160;-221</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8b47031e90c3f86306c7058e4490d3b7" name="a8b47031e90c3f86306c7058e4490d3b7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8b47031e90c3f86306c7058e4490d3b7">&#9670;&nbsp;</a></span>XB_EOF</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_EOF&#160;&#160;&#160;-214</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a54303a9677dbd5342233f33dd08c64d0" name="a54303a9677dbd5342233f33dd08c64d0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a54303a9677dbd5342233f33dd08c64d0">&#9670;&nbsp;</a></span>XB_FILE_EXISTS</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_FILE_EXISTS&#160;&#160;&#160;-200</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad090af330c93111d12f6de35dbb065bc" name="ad090af330c93111d12f6de35dbb065bc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad090af330c93111d12f6de35dbb065bc">&#9670;&nbsp;</a></span>XB_FILE_NOT_FOUND</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_FILE_NOT_FOUND&#160;&#160;&#160;-203</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab7b9130a5f1df9975cfeaf6241933596" name="ab7b9130a5f1df9975cfeaf6241933596"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab7b9130a5f1df9975cfeaf6241933596">&#9670;&nbsp;</a></span>XB_FILE_TYPE_NOT_SUPPORTED</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_FILE_TYPE_NOT_SUPPORTED&#160;&#160;&#160;-204</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af141ec58b7ca7360e0be6c61d015ea74" name="af141ec58b7ca7360e0be6c61d015ea74"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af141ec58b7ca7360e0be6c61d015ea74">&#9670;&nbsp;</a></span>XB_INCOMPATIBLE_OPERANDS</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INCOMPATIBLE_OPERANDS&#160;&#160;&#160;-504</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="adc4b24bfffa202f8df25409894e547b9" name="adc4b24bfffa202f8df25409894e547b9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adc4b24bfffa202f8df25409894e547b9">&#9670;&nbsp;</a></span>XB_INCONSISTENT_PARM_LENS</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INCONSISTENT_PARM_LENS&#160;&#160;&#160;-503</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4e13b529b486c43ca600ce7d8ddbf3c2" name="a4e13b529b486c43ca600ce7d8ddbf3c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4e13b529b486c43ca600ce7d8ddbf3c2">&#9670;&nbsp;</a></span>XB_INVALID_BLOCK_NO</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_BLOCK_NO&#160;&#160;&#160;-217</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1bd22921612389c37f6b2eac438c62c5" name="a1bd22921612389c37f6b2eac438c62c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1bd22921612389c37f6b2eac438c62c5">&#9670;&nbsp;</a></span>XB_INVALID_BLOCK_SIZE</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_BLOCK_SIZE&#160;&#160;&#160;-216</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afb40bbed323ecb369dd430a2e1242f9a" name="afb40bbed323ecb369dd430a2e1242f9a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afb40bbed323ecb369dd430a2e1242f9a">&#9670;&nbsp;</a></span>XB_INVALID_DATA</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_DATA&#160;&#160;&#160;-302</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a702475500357a27b8a34463be3e11925" name="a702475500357a27b8a34463be3e11925"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a702475500357a27b8a34463be3e11925">&#9670;&nbsp;</a></span>XB_INVALID_DATE</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_DATE&#160;&#160;&#160;-307</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a54db562c3cae97581812b4fccd52b71a" name="a54db562c3cae97581812b4fccd52b71a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a54db562c3cae97581812b4fccd52b71a">&#9670;&nbsp;</a></span>XB_INVALID_EXPRESSION</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_EXPRESSION&#160;&#160;&#160;-507</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a34180b2e2bd350ba2ebcdd1335e15d7e" name="a34180b2e2bd350ba2ebcdd1335e15d7e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a34180b2e2bd350ba2ebcdd1335e15d7e">&#9670;&nbsp;</a></span>XB_INVALID_FIELD</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_FIELD&#160;&#160;&#160;-305</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7bd322c0efbba17f68ccccd6cf624411" name="a7bd322c0efbba17f68ccccd6cf624411"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7bd322c0efbba17f68ccccd6cf624411">&#9670;&nbsp;</a></span>XB_INVALID_FIELD_LEN</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_FIELD_LEN&#160;&#160;&#160;-306</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a59403978784130834cf39434cb73f96e" name="a59403978784130834cf39434cb73f96e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a59403978784130834cf39434cb73f96e">&#9670;&nbsp;</a></span>XB_INVALID_FIELD_NAME</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_FIELD_NAME&#160;&#160;&#160;-303</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a09d6c08a44316f551108a74003efd381" name="a09d6c08a44316f551108a74003efd381"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a09d6c08a44316f551108a74003efd381">&#9670;&nbsp;</a></span>XB_INVALID_FIELD_NO</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_FIELD_NO&#160;&#160;&#160;-301</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a79e2588f067d6e236c0e5a2c0728ba9f" name="a79e2588f067d6e236c0e5a2c0728ba9f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a79e2588f067d6e236c0e5a2c0728ba9f">&#9670;&nbsp;</a></span>XB_INVALID_FIELD_TYPE</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_FIELD_TYPE&#160;&#160;&#160;-300</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2b7e5e440dbcf5e6dc885b24dbe28742" name="a2b7e5e440dbcf5e6dc885b24dbe28742"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2b7e5e440dbcf5e6dc885b24dbe28742">&#9670;&nbsp;</a></span>XB_INVALID_FUNCTION</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_FUNCTION&#160;&#160;&#160;-501</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="acd175ef0541e2cad424791bd87619dd4" name="acd175ef0541e2cad424791bd87619dd4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acd175ef0541e2cad424791bd87619dd4">&#9670;&nbsp;</a></span>XB_INVALID_INDEX</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_INDEX&#160;&#160;&#160;-601</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aec2c0ac2bd62e0329ef130e4fbda39f8" name="aec2c0ac2bd62e0329ef130e4fbda39f8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aec2c0ac2bd62e0329ef130e4fbda39f8">&#9670;&nbsp;</a></span>XB_INVALID_KEYNO</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_KEYNO&#160;&#160;&#160;-600</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab45735e63c208eb7e6d6df31fd527aec" name="ab45735e63c208eb7e6d6df31fd527aec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab45735e63c208eb7e6d6df31fd527aec">&#9670;&nbsp;</a></span>XB_INVALID_LOCK_OPTION</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_LOCK_OPTION&#160;&#160;&#160;-400</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a187c50745f51bfe4aa6f70a92f16c59f" name="a187c50745f51bfe4aa6f70a92f16c59f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a187c50745f51bfe4aa6f70a92f16c59f">&#9670;&nbsp;</a></span>XB_INVALID_MEMO_FIELD</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_MEMO_FIELD&#160;&#160;&#160;-304</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a13e6876470bd34c8c4e5533f115e04eb" name="a13e6876470bd34c8c4e5533f115e04eb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a13e6876470bd34c8c4e5533f115e04eb">&#9670;&nbsp;</a></span>XB_INVALID_NODELINK</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_NODELINK&#160;&#160;&#160;-120</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a418c047353bc683d0fd6ecbbdd5b7885" name="a418c047353bc683d0fd6ecbbdd5b7885"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a418c047353bc683d0fd6ecbbdd5b7885">&#9670;&nbsp;</a></span>XB_INVALID_OBJECT</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_OBJECT&#160;&#160;&#160;-206</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af1cd0baf346cad686fa4dd11f700012a" name="af1cd0baf346cad686fa4dd11f700012a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af1cd0baf346cad686fa4dd11f700012a">&#9670;&nbsp;</a></span>XB_INVALID_OPTION</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_OPTION&#160;&#160;&#160;-101</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad0aba12b5ae2137f8d6abd28b47f95f0" name="ad0aba12b5ae2137f8d6abd28b47f95f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad0aba12b5ae2137f8d6abd28b47f95f0">&#9670;&nbsp;</a></span>XB_INVALID_PAGE</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_PAGE&#160;&#160;&#160;-603</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1b78533ada854b4185c51ad8a5ce9f02" name="a1b78533ada854b4185c51ad8a5ce9f02"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1b78533ada854b4185c51ad8a5ce9f02">&#9670;&nbsp;</a></span>XB_INVALID_PARAMETER</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_PARAMETER&#160;&#160;&#160;-102</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4cedf96581c9cbc9c14d07494143702d" name="a4cedf96581c9cbc9c14d07494143702d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4cedf96581c9cbc9c14d07494143702d">&#9670;&nbsp;</a></span>XB_INVALID_PARM</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_PARM&#160;&#160;&#160;-502</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0fd212f912b2e62700a66bae95bd73a1" name="a0fd212f912b2e62700a66bae95bd73a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0fd212f912b2e62700a66bae95bd73a1">&#9670;&nbsp;</a></span>XB_INVALID_RECORD</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_RECORD&#160;&#160;&#160;-218</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a53891c95a78483704d2a8e14c4499f92" name="a53891c95a78483704d2a8e14c4499f92"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a53891c95a78483704d2a8e14c4499f92">&#9670;&nbsp;</a></span>XB_INVALID_TABLE_NAME</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_TABLE_NAME&#160;&#160;&#160;-220</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a176d917912d3433f065483f905a4c50a" name="a176d917912d3433f065483f905a4c50a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a176d917912d3433f065483f905a4c50a">&#9670;&nbsp;</a></span>XB_INVALID_TAG</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_INVALID_TAG&#160;&#160;&#160;-602</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad60dbb1862c0c1c2dc0464cfbfd93a34" name="ad60dbb1862c0c1c2dc0464cfbfd93a34"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad60dbb1862c0c1c2dc0464cfbfd93a34">&#9670;&nbsp;</a></span>XB_KEY_NOT_UNIQUE</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_KEY_NOT_UNIQUE&#160;&#160;&#160;-121</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a59f1a8a6aca19595c2d1804349a24850" name="a59f1a8a6aca19595c2d1804349a24850"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a59f1a8a6aca19595c2d1804349a24850">&#9670;&nbsp;</a></span>XB_LIMIT_REACHED</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_LIMIT_REACHED&#160;&#160;&#160;-222</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a001e24b39e0f155fb1e892f5b1b9cff1" name="a001e24b39e0f155fb1e892f5b1b9cff1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a001e24b39e0f155fb1e892f5b1b9cff1">&#9670;&nbsp;</a></span>XB_LOCK_FAILED</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_LOCK_FAILED&#160;&#160;&#160;-401</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a299419a9c80e000b74bf97a2d24d6a3d" name="a299419a9c80e000b74bf97a2d24d6a3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a299419a9c80e000b74bf97a2d24d6a3d">&#9670;&nbsp;</a></span>XB_MAX_ERROR_NO</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_MAX_ERROR_NO&#160;&#160;&#160;-999</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa2925f035e3b186d7efa14648ea0e86d" name="aa2925f035e3b186d7efa14648ea0e86d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa2925f035e3b186d7efa14648ea0e86d">&#9670;&nbsp;</a></span>XB_MEMCPY_ERROR</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_MEMCPY_ERROR&#160;&#160;&#160;-122</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac720d5b4ec45bfd606f5865d40816e23" name="ac720d5b4ec45bfd606f5865d40816e23"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac720d5b4ec45bfd606f5865d40816e23">&#9670;&nbsp;</a></span>XB_NO_ERROR</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_NO_ERROR&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae687fc7d872ba0475a8477e4447f9b54" name="ae687fc7d872ba0475a8477e4447f9b54"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae687fc7d872ba0475a8477e4447f9b54">&#9670;&nbsp;</a></span>XB_NO_MEMORY</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_NO_MEMORY&#160;&#160;&#160;-100</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac2606659a54111334f5b02861e533700" name="ac2606659a54111334f5b02861e533700"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac2606659a54111334f5b02861e533700">&#9670;&nbsp;</a></span>XB_NOT_FOUND</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_NOT_FOUND&#160;&#160;&#160;-208</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9474b400f647bdefbbb07e5177e8d7a1" name="a9474b400f647bdefbbb07e5177e8d7a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9474b400f647bdefbbb07e5177e8d7a1">&#9670;&nbsp;</a></span>XB_NOT_OPEN</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_NOT_OPEN&#160;&#160;&#160;-207</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aaab55236993a1d3acb29206252a904c8" name="aaab55236993a1d3acb29206252a904c8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaab55236993a1d3acb29206252a904c8">&#9670;&nbsp;</a></span>XB_OPEN_ERROR</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_OPEN_ERROR&#160;&#160;&#160;-209</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aec713cac2b03a0d536a2d16336ae7c0b" name="aec713cac2b03a0d536a2d16336ae7c0b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aec713cac2b03a0d536a2d16336ae7c0b">&#9670;&nbsp;</a></span>XB_PARSE_ERROR</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_PARSE_ERROR&#160;&#160;&#160;-500</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="adbd40585db8bb748d191f94a33bac710" name="adbd40585db8bb748d191f94a33bac710"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adbd40585db8bb748d191f94a33bac710">&#9670;&nbsp;</a></span>XB_READ_ERROR</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_READ_ERROR&#160;&#160;&#160;-212</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a373f30b2efcbbab9f6d060fb3fe8cba3" name="a373f30b2efcbbab9f6d060fb3fe8cba3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a373f30b2efcbbab9f6d060fb3fe8cba3">&#9670;&nbsp;</a></span>XB_RENAME_ERROR</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_RENAME_ERROR&#160;&#160;&#160;-205</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0455ad8719e153b08ec68b10c81e9f41" name="a0455ad8719e153b08ec68b10c81e9f41"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0455ad8719e153b08ec68b10c81e9f41">&#9670;&nbsp;</a></span>XB_SEEK_ERROR</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_SEEK_ERROR&#160;&#160;&#160;-211</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5db3a90f215534143bdde81253729c7f" name="a5db3a90f215534143bdde81253729c7f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5db3a90f215534143bdde81253729c7f">&#9670;&nbsp;</a></span>XB_SYNTAX_ERROR</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_SYNTAX_ERROR&#160;&#160;&#160;-700</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af6aaf779fddecca521d785666f6dc56b" name="af6aaf779fddecca521d785666f6dc56b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af6aaf779fddecca521d785666f6dc56b">&#9670;&nbsp;</a></span>XB_TABLE_NOT_LOCKED</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_TABLE_NOT_LOCKED&#160;&#160;&#160;-402</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aff5646a6b0884ff81004de6961473ea6" name="aff5646a6b0884ff81004de6961473ea6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aff5646a6b0884ff81004de6961473ea6">&#9670;&nbsp;</a></span>XB_UNBALANCED_PARENS</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_UNBALANCED_PARENS&#160;&#160;&#160;-505</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aedfa20a6c4eb9ba3063ba56be8280eac" name="aedfa20a6c4eb9ba3063ba56be8280eac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aedfa20a6c4eb9ba3063ba56be8280eac">&#9670;&nbsp;</a></span>XB_UNBALANCED_QUOTES</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_UNBALANCED_QUOTES&#160;&#160;&#160;-506</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aef34ebe6726057f805d6063130280549" name="aef34ebe6726057f805d6063130280549"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aef34ebe6726057f805d6063130280549">&#9670;&nbsp;</a></span>XB_WRITE_ERROR</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XB_WRITE_ERROR&#160;&#160;&#160;-213</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbretcod_8h_source.html b/docs/doxygen/html/xbretcod_8h_source.html
new file mode 100644
index 0000000..182f78a
--- /dev/null
+++ b/docs/doxygen/html/xbretcod_8h_source.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbretcod.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbretcod.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbretcod_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbretcod.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022,2023 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#ifndef __XB_RETCODES_H__</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#define __XB_RETCODES_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">/***********************************************/</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">/* Return Codes and Error Messages */</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#ac720d5b4ec45bfd606f5865d40816e23"> 24</a></span><span class="preprocessor"> #define XB_NO_ERROR 0 </span><span class="comment">// general</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#ae687fc7d872ba0475a8477e4447f9b54"> 25</a></span><span class="preprocessor"> #define XB_NO_MEMORY -100 </span><span class="comment">// general</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#af1cd0baf346cad686fa4dd11f700012a"> 26</a></span><span class="preprocessor"> #define XB_INVALID_OPTION -101 </span><span class="comment">// general</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a1b78533ada854b4185c51ad8a5ce9f02"> 27</a></span><span class="preprocessor"> #define XB_INVALID_PARAMETER -102 </span><span class="comment">// general</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#ac18036408d10e5eee1bf76cf92352b95"> 28</a></span><span class="preprocessor"> #define XB_DUP_TABLE_OR_ALIAS -110 </span><span class="comment">// table manager</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a13e6876470bd34c8c4e5533f115e04eb"> 29</a></span><span class="preprocessor"> #define XB_INVALID_NODELINK -120 </span><span class="comment">// linklist</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#ad60dbb1862c0c1c2dc0464cfbfd93a34"> 30</a></span><span class="preprocessor"> #define XB_KEY_NOT_UNIQUE -121 </span><span class="comment">// linklist, index</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#aa2925f035e3b186d7efa14648ea0e86d"> 31</a></span><span class="preprocessor"> #define XB_MEMCPY_ERROR -122 </span><span class="comment">// memcpy failure</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a54303a9677dbd5342233f33dd08c64d0"> 33</a></span><span class="preprocessor"> #define XB_FILE_EXISTS -200 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#aa2ff8301503f446c6a5f6510090e520f"> 34</a></span><span class="preprocessor"> #define XB_ALREADY_OPEN -201 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a8104510b347c87998eadd0b27201e3c2"> 35</a></span><span class="preprocessor"> #define XB_DBF_FILE_NOT_OPEN -202 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#ad090af330c93111d12f6de35dbb065bc"> 36</a></span><span class="preprocessor"> #define XB_FILE_NOT_FOUND -203 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#ab7b9130a5f1df9975cfeaf6241933596"> 37</a></span><span class="preprocessor"> #define XB_FILE_TYPE_NOT_SUPPORTED -204 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a373f30b2efcbbab9f6d060fb3fe8cba3"> 38</a></span><span class="preprocessor"> #define XB_RENAME_ERROR -205 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a418c047353bc683d0fd6ecbbdd5b7885"> 39</a></span><span class="preprocessor"> #define XB_INVALID_OBJECT -206 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a9474b400f647bdefbbb07e5177e8d7a1"> 40</a></span><span class="preprocessor"> #define XB_NOT_OPEN -207 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#ac2606659a54111334f5b02861e533700"> 41</a></span><span class="preprocessor"> #define XB_NOT_FOUND -208 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#aaab55236993a1d3acb29206252a904c8"> 42</a></span><span class="preprocessor"> #define XB_OPEN_ERROR -209 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a030684d5541cf6127a76d81b0684b235"> 43</a></span><span class="preprocessor"> #define XB_CLOSE_ERROR -210 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a0455ad8719e153b08ec68b10c81e9f41"> 44</a></span><span class="preprocessor"> #define XB_SEEK_ERROR -211 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#adbd40585db8bb748d191f94a33bac710"> 45</a></span><span class="preprocessor"> #define XB_READ_ERROR -212 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#aef34ebe6726057f805d6063130280549"> 46</a></span><span class="preprocessor"> #define XB_WRITE_ERROR -213 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a8b47031e90c3f86306c7058e4490d3b7"> 47</a></span><span class="preprocessor"> #define XB_EOF -214 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#ade5f3a7cf1467d12761e4e21b5e4200f"> 48</a></span><span class="preprocessor"> #define XB_BOF -215 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a1bd22921612389c37f6b2eac438c62c5"> 49</a></span><span class="preprocessor"> #define XB_INVALID_BLOCK_SIZE -216 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a4e13b529b486c43ca600ce7d8ddbf3c2"> 50</a></span><span class="preprocessor"> #define XB_INVALID_BLOCK_NO -217 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a0fd212f912b2e62700a66bae95bd73a1"> 51</a></span><span class="preprocessor"> #define XB_INVALID_RECORD -218 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#ada15513935d5ede9216f07c0438f34d2"> 52</a></span><span class="preprocessor"> #define XB_DELETE_FAILED -219 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a53891c95a78483704d2a8e14c4499f92"> 53</a></span><span class="preprocessor"> #define XB_INVALID_TABLE_NAME -220 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a18068d0cbe0c7a1b4dd3176220180c29"> 54</a></span><span class="preprocessor"> #define XB_EMPTY -221 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a59f1a8a6aca19595c2d1804349a24850"> 55</a></span><span class="preprocessor"> #define XB_LIMIT_REACHED -222 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#aae9241d91cfb37f5d236128b3bce0a4a"> 56</a></span><span class="preprocessor"> #define XB_BLOCKREAD_NOT_ENABLED -223 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#af532df74147ce2d872f61abfee49c53e"> 57</a></span><span class="preprocessor"> #define XB_DIRECTORY_ERROR -224 </span><span class="comment">// file</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a79e2588f067d6e236c0e5a2c0728ba9f"> 59</a></span><span class="preprocessor"> #define XB_INVALID_FIELD_TYPE -300 </span><span class="comment">// field</span></div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a09d6c08a44316f551108a74003efd381"> 60</a></span><span class="preprocessor"> #define XB_INVALID_FIELD_NO -301 </span><span class="comment">// field</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#afb40bbed323ecb369dd430a2e1242f9a"> 61</a></span><span class="preprocessor"> #define XB_INVALID_DATA -302 </span><span class="comment">// field</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a59403978784130834cf39434cb73f96e"> 62</a></span><span class="preprocessor"> #define XB_INVALID_FIELD_NAME -303 </span><span class="comment">// field</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a187c50745f51bfe4aa6f70a92f16c59f"> 63</a></span><span class="preprocessor"> #define XB_INVALID_MEMO_FIELD -304 </span><span class="comment">// field</span></div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a34180b2e2bd350ba2ebcdd1335e15d7e"> 64</a></span><span class="preprocessor"> #define XB_INVALID_FIELD -305 </span><span class="comment">// field</span></div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a7bd322c0efbba17f68ccccd6cf624411"> 65</a></span><span class="preprocessor"> #define XB_INVALID_FIELD_LEN -306 </span><span class="comment">// field</span></div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a702475500357a27b8a34463be3e11925"> 66</a></span><span class="preprocessor"> #define XB_INVALID_DATE -307 </span><span class="comment">// date field</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#ab45735e63c208eb7e6d6df31fd527aec"> 68</a></span><span class="preprocessor"> #define XB_INVALID_LOCK_OPTION -400 </span><span class="comment">// lock</span></div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a001e24b39e0f155fb1e892f5b1b9cff1"> 69</a></span><span class="preprocessor"> #define XB_LOCK_FAILED -401 </span><span class="comment">// lock</span></div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#af6aaf779fddecca521d785666f6dc56b"> 70</a></span><span class="preprocessor"> #define XB_TABLE_NOT_LOCKED -402 </span><span class="comment">// lock - need table locked for operation</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#aec713cac2b03a0d536a2d16336ae7c0b"> 72</a></span><span class="preprocessor"> #define XB_PARSE_ERROR -500 </span><span class="comment">// expression</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a2b7e5e440dbcf5e6dc885b24dbe28742"> 73</a></span><span class="preprocessor"> #define XB_INVALID_FUNCTION -501 </span><span class="comment">// expression</span></div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a4cedf96581c9cbc9c14d07494143702d"> 74</a></span><span class="preprocessor"> #define XB_INVALID_PARM -502 </span><span class="comment">// expression</span></div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#adc4b24bfffa202f8df25409894e547b9"> 75</a></span><span class="preprocessor"> #define XB_INCONSISTENT_PARM_LENS -503 </span><span class="comment">// expression</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#af141ec58b7ca7360e0be6c61d015ea74"> 76</a></span><span class="preprocessor"> #define XB_INCOMPATIBLE_OPERANDS -504 </span><span class="comment">// expression</span></div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#aff5646a6b0884ff81004de6961473ea6"> 77</a></span><span class="preprocessor"> #define XB_UNBALANCED_PARENS -505 </span><span class="comment">// expression</span></div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#aedfa20a6c4eb9ba3063ba56be8280eac"> 78</a></span><span class="preprocessor"> #define XB_UNBALANCED_QUOTES -506 </span><span class="comment">// expression</span></div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a54db562c3cae97581812b4fccd52b71a"> 79</a></span><span class="preprocessor"> #define XB_INVALID_EXPRESSION -507 </span><span class="comment">// expression</span></div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#aec2c0ac2bd62e0329ef130e4fbda39f8"> 81</a></span><span class="preprocessor"> #define XB_INVALID_KEYNO -600 </span><span class="comment">// index</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#acd175ef0541e2cad424791bd87619dd4"> 82</a></span><span class="preprocessor"> #define XB_INVALID_INDEX -601 </span><span class="comment">// index file error</span></div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a176d917912d3433f065483f905a4c50a"> 83</a></span><span class="preprocessor"> #define XB_INVALID_TAG -602 </span><span class="comment">// invalid index tag name, must be &lt;= 10 bytes</span></div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#ad0aba12b5ae2137f8d6abd28b47f95f0"> 84</a></span><span class="preprocessor"> #define XB_INVALID_PAGE -603 </span><span class="comment">// invalid index page</span></div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a5db3a90f215534143bdde81253729c7f"> 87</a></span><span class="preprocessor"> #define XB_SYNTAX_ERROR -700 </span><span class="comment">// sql syntax error</span></div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="xbretcod_8h.html#a299419a9c80e000b74bf97a2d24d6a3d"> 90</a></span><span class="preprocessor"> #define XB_MAX_ERROR_NO -999</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment">/* when updating this table, also need to update messages in xbssv.cpp */</span></div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span>} <span class="comment">/* namespace */</span></div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="preprocessor">#endif </span><span class="comment">/* __XB_RETCODES_H__ */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbselect_8cpp.html b/docs/doxygen/html/xbselect_8cpp.html
new file mode 100644
index 0000000..c5bb12f
--- /dev/null
+++ b/docs/doxygen/html/xbselect_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/sql/xbselect.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbselect.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbset_8cpp.html b/docs/doxygen/html/xbset_8cpp.html
new file mode 100644
index 0000000..39420f4
--- /dev/null
+++ b/docs/doxygen/html/xbset_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/sql/xbset.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbset.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbsql_8cpp.html b/docs/doxygen/html/xbsql_8cpp.html
new file mode 100644
index 0000000..bd491a0
--- /dev/null
+++ b/docs/doxygen/html/xbsql_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/sql/xbsql.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbsql.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbsql_8h.html b/docs/doxygen/html/xbsql_8h.html
new file mode 100644
index 0000000..527128d
--- /dev/null
+++ b/docs/doxygen/html/xbsql_8h.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbsql.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbsql.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbsql_8h_source.html">Go to the source code of this file.</a></p>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbsql_8h_source.html b/docs/doxygen/html/xbsql_8h_source.html
new file mode 100644
index 0000000..a49c0a5
--- /dev/null
+++ b/docs/doxygen/html/xbsql_8h_source.html
@@ -0,0 +1,243 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbsql.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbsql.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbsql_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbsql.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">This class manages a list of open tables, open indices are connected to the open tables</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"></span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#ifndef __XB_XBSQL_H__</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#define __XB_XBSQL_H__</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#pragma interface</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#ifdef XB_SQL_SUPPORT</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keyword">struct </span>XBDLLEXPORT xbSqlFld{</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordtype">char</span> cType; <span class="comment">// F - Database field</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="comment">// L - Literal</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// E - Expression</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> xbInt16 iFldNo; <span class="comment">// Field number if db field</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> xbExp * pExp; <span class="comment">// If cType=E, pointer to parsed expression</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> xbString sFldAlias; <span class="comment">// Alias name for query display</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> xbSqlFld * Next; <span class="comment">// Next field in list</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span>};</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="keyword">class </span>xbStmt;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="keyword">struct </span>XBDLLEXPORT xbTblJoin { <span class="comment">// structure for defining joined tables in the query</span></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> xbString sTableName;</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> xbString sAlias;</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> xbString sJoinExp; <span class="comment">// table join expression</span></div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *pDbf; <span class="comment">// pointer the the dbf structure for this table</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> xbTag *pTag; <span class="comment">// pointer to relevant tag for this table, null for record order</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> xbExp *pLinkExp; <span class="comment">// pointer to parsed linkage expression</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">char</span> cJoinType; <span class="comment">// M - Master</span></div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="comment">// L - Left or Full Left</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="comment">// R - Right or Full Right</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="comment">// I - Inner</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// O - Outer or Full Outer Outer</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> xbTblJoin *pMaster; <span class="comment">// pointer to master table, null if this is the primary master</span></div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> xbLinkList&lt;xbTblJoin *&gt; llSubList; <span class="comment">// linked list of subordinate tables</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment">// xbStmt *pSubQuery; // pointer to sub query</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> xbTblJoin *next; <span class="comment">// next tbl</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span>};</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="keyword">class </span>XBDLLEXPORT xbStmt : <span class="keyword">public</span> xbSsv{</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> xbStmt( <a class="code hl_variable" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a> *x );</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> ~xbStmt();</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> xbInt16 DumpStmtInternals();</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> xbInt16 Test();</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> xbInt16 ExecuteQuery( <span class="keyword">const</span> xbString &amp;sCmdLine ); </div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="comment">// xbInt16 FetchFirst();</span></div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="comment">// xbInt16 FetchNext();</span></div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="comment">// xbInt16 FetchPrev();</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="comment">// xbInt16 FetchLast();</span></div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="comment">// xbString &amp;GetField( const xbString sFldName );</span></div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> xbInt16 AddQryTbl( <span class="keyword">const</span> xbString &amp;sTable, <span class="keyword">const</span> xbString &amp;sAlias, <span class="keyword">const</span> xbString &amp;sExpression, <span class="keyword">const</span> <span class="keywordtype">char</span> cJoinType );</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> xbInt16 CvtSqlExp2DbaseExp( <span class="keyword">const</span> xbString &amp;sExpIn, xbString &amp;sExpOut );</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> xbInt16 GetNextFromSeg( <span class="keyword">const</span> xbString &amp;sLineIn, xbString &amp;sFromSegOut );</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> xbUInt32 GetNextToken( <span class="keyword">const</span> xbString &amp;sCmdLineIn, xbString &amp;sTokenOut, xbUInt32 ulStartPos );</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> xbInt16 GetParenCnt( <span class="keyword">const</span> xbString &amp;sToken );</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> xbInt16 ParseFromStmt( <span class="keyword">const</span> xbString &amp;sFromLine );</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> xbInt16 ParseStmt( <span class="keyword">const</span> xbString &amp;sCmdLine );</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> xbInt16 ProcessFromSeg( <span class="keyword">const</span> xbString &amp;sFromStmtSeg );</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> xbInt16 UpdateJoinList( <span class="keywordtype">char</span> cType, <span class="keyword">const</span> xbString &amp;sTableName, <span class="keyword">const</span> xbString &amp;sAlias, <span class="keyword">const</span> xbString &amp;sExp, <a class="code hl_variable" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xbDbf</a> *d, xbExp *e ); <span class="comment">//, xbTag *t);</span></div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <a class="code hl_variable" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a> *xbase; <span class="comment">// pointer to xbase structure</span></div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> xbTblJoin * pTblList;</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> xbSqlFld *fl; <span class="comment">// field list in sql select statement</span></div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> xbString sStmt; <span class="comment">// complete query statment</span></div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> xbString sFields; <span class="comment">// list of fields</span></div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> xbString sFrom; <span class="comment">// from statment</span></div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> xbString sWhere; <span class="comment">// where clause</span></div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> xbString sOrderBy; <span class="comment">// sort order</span></div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> xbString sGroupBy; <span class="comment">// group by</span></div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> xbString sHaving; <span class="comment">// having</span></div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> xbUInt32 ulFromPos;</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> xbUInt32 ulWherePos;</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> xbUInt32 ulOrderByPos;</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> xbUInt32 ulGroupByPos;</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> xbUInt32 ulHavingPos;</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span>};</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="keyword">class </span>XBDLLEXPORT xbSql : <span class="keyword">public</span> xbSsv {</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="comment">// xbSql();</span></div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> xbSql( <a class="code hl_variable" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a> *x );</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> ~xbSql();</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> xbInt16 ExecuteNonQuery( <span class="keyword">const</span> xbString &amp;sCmdLine );</div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <a class="code hl_variable" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a> *GetXbasePtr() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> xbInt16 SqlAlterTable( <span class="keyword">const</span> xbString &amp;sCmdLine );</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> xbInt16 SqlCreateTable( <span class="keyword">const</span> xbString &amp;sCmdLine );</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> xbInt16 SqlDelete( <span class="keyword">const</span> xbString &amp;sCmdLine );</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> xbInt16 SqlDropTable( <span class="keyword">const</span> xbString &amp;sCmdLine );</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="preprocessor"> #ifdef XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> xbInt16 SqlCreateIndex( <span class="keyword">const</span> xbString &amp;sCmdLine );</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> xbInt16 SqlDropIndex( <span class="keyword">const</span> xbString &amp;sCmdLine );</div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="preprocessor"> #endif </span><span class="comment">// XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="comment">// xbInt16 SqlCreateView( const xbString &amp;sCmdLine );</span></div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="comment">// xbInt16 SqlDropView( const xbString &amp;sCmdLine );</span></div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="comment">// xbInt16 SqlUpdate( const xbString &amp;sCmdLine );</span></div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span><span class="comment">// xbInt16 SqlSelect( const xbString &amp;sCmdLine );</span></div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">void</span> SqlHelp() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> xbInt16 SqlInsert( <span class="keyword">const</span> xbString &amp;sCmLine );</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> xbInt16 SqlSet( <span class="keyword">const</span> xbString &amp;sCmdLine );</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> xbInt16 SqlUse( <span class="keyword">const</span> xbString &amp;sCmdLine );</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <a class="code hl_variable" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a> *xbase;</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> xbUda uda;</div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> </div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span>};</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span>} <span class="comment">/* namespace xb */</span></div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span><span class="preprocessor">#endif </span><span class="comment">/* XB_SQL_SUPPORT */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span><span class="preprocessor">#endif </span><span class="comment">/* __XB_XBSQL_H__ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_a97858ddeb1c4b0100f3edc1a46d3a8b0"><div class="ttname"><a href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xb::xbXBase</a></div><div class="ttdeci">class XBDLLEXPORT xbXBase</div><div class="ttdef"><b>Definition:</b> xbssv.h:27</div></div>
+<div class="ttc" id="anamespacexb_html_ab2eae4b4732466698a7fdd89d77ba53b"><div class="ttname"><a href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xb::xbDbf</a></div><div class="ttdeci">class XBDLLEXPORT xbDbf</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:28</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbssv_8cpp.html b/docs/doxygen/html/xbssv_8cpp.html
new file mode 100644
index 0000000..aeda0bc
--- /dev/null
+++ b/docs/doxygen/html/xbssv_8cpp.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbssv.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle"><div class="title">xbssv.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a04be228a037d220dd5564f5ef618adcc"><td class="memItemLeft" align="right" valign="top">const xbErrorMessage&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#a04be228a037d220dd5564f5ef618adcc">xb::xbErrorMessages</a> []</td></tr>
+<tr class="separator:a04be228a037d220dd5564f5ef618adcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbssv_8h.html b/docs/doxygen/html/xbssv_8h.html
new file mode 100644
index 0000000..3d47c42
--- /dev/null
+++ b/docs/doxygen/html/xbssv_8h.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbssv.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle"><div class="title">xbssv.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbssv_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbSsv.html">xb::xbSsv</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class for handling shared system variables. <a href="classxb_1_1xbSsv.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a97858ddeb1c4b0100f3edc1a46d3a8b0"><td class="memItemLeft" align="right" valign="top">class XBDLLEXPORT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xb::xbXBase</a></td></tr>
+<tr class="separator:a97858ddeb1c4b0100f3edc1a46d3a8b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbssv_8h_source.html b/docs/doxygen/html/xbssv_8h_source.html
new file mode 100644
index 0000000..4cc8c82
--- /dev/null
+++ b/docs/doxygen/html/xbssv_8h_source.html
@@ -0,0 +1,267 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbssv.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbssv.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbssv_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbssv.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022,2023 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#ifndef __XB_XBSSV_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define __XB_XBSSV_H__</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#pragma interface</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0"> 27</a></span><span class="keyword">class </span>XBDLLEXPORT <a class="code hl_class" href="classxb_1_1xbXBase.html">xbXBase</a>;</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="keyword">struct </span>XBDLLEXPORT xbErrorMessage{</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> xbInt16 iErrorNo;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *sErrorText;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>};</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment">// By design, DBase allows mutliple records in a table all having the same key, but only one entry in a unique index</span></div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment">// XB_HALT_ON_DUP_KEY tells the library to not allow appending records which generate duplicate keys in a unique index</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment">//</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor">#if defined (XB_NDX_SUPPORT) || defined (XB_MDX_SUPPORT)</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="preprocessor">#define XB_HALT_ON_DUPKEY 0</span></div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#define XB_EMULATE_DBASE 1</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="classxb_1_1xbSsv.html"> 59</a></span><span class="keyword">class </span>XBDLLEXPORT <a class="code hl_class" href="classxb_1_1xbSsv.html">xbSsv</a>{</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <a class="code hl_class" href="classxb_1_1xbSsv.html">xbSsv</a>();</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="classxb_1_1xbSsv.html#a6219f1b5e24ea12fe158cd5aea56988e"> 62</a></span> <span class="keyword">const</span> <span class="keyword">static</span> <span class="keywordtype">char</span> *ErrorCodeText[];</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">void</span> DisplayError ( xbInt16 ErrorCode ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; GetDefaultDateFormat () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; GetDataDirectory () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; GetTempDirectory () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">void</span> GetHomeDir ( <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sHomeDirOut );</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> xbInt16 GetEndianType () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *GetErrorMessage ( xbInt16 ErrorCode ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">char</span> GetPathSeparator () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">void</span> SetDataDirectory ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sDataDirectory );</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">void</span> SetDefaultDateFormat ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sDefaultDateFormat );</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">void</span> SetTempDirectory ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTempDirectory );</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> BitSet ( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> c, xbInt16 iBitNo ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">void</span> BitDump ( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> c ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">void</span> BitDump ( <span class="keywordtype">char</span> c ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetDefaultAutoCommit () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">void</span> SetDefaultAutoCommit ( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bDefaultAutoCommit );</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; GetLogDirectory () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; GetLogFileName () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">void</span> SetLogDirectory ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sLogDirectory );</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">void</span> SetLogFileName ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sLogFileName );</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetMultiUser () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">void</span> SetMultiUser ( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bMultiUser );</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="preprocessor"> #if defined (XB_NDX_SUPPORT) || defined (XB_MDX_SUPPORT)</span></div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> xbInt16 GetUniqueKeyOpt () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> xbInt16 SetUniqueKeyOpt ( xbInt16 iUniqueKeyOpt );</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="preprocessor"> #endif </span><span class="comment">// (XB_NDX_SUPPORT) || defined (XB_MDX_SUPPORT)</span></div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="preprocessor"> #ifdef XB_LOCKING_SUPPORT</span></div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> xbInt16 GetDefaultLockRetries () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">void</span> SetDefaultLockRetries ( xbInt16 iRetryCount );</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> xbInt32 GetDefaultLockWait () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">void</span> SetDefaultLockWait ( xbInt32 lRetryWait );</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> xbInt16 GetDefaultLockFlavor () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">void</span> SetDefaultLockFlavor ( xbInt16 iLockFlavor );</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetDefaultAutoLock () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">void</span> SetDefaultAutoLock ( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bAutoLock );</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">void</span> EnableDefaultAutoLock ();</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">void</span> DisableDefaultAutoLock ();</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="preprocessor"> #endif </span><span class="comment">// XB_LOCKING_SUPPORT</span></div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="preprocessor"> #ifdef XB_MDX_SUPPORT</span></div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> xbInt16 GetCreateMdxBlockSize() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> xbInt16 SetCreateMdxBlockSize( xbInt16 ulBlockSize );</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="preprocessor"> #endif </span><span class="comment">// XB_MDX_SUPPORT</span></div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="preprocessor"> #ifdef XB_BLOCKREAD_SUPPORT</span></div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> xbUInt32 GetDefaultBlockReadSize() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">void</span> SetDefaultBlockReadSize( xbUInt32 ulDfltBlockReadSize );</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="preprocessor"> #endif </span><span class="comment">// XB_BLOCKREAD_SUPPORT</span></div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> </div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> </div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">void</span> SetEndianType ();</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="classxb_1_1xbSsv.html#a5849e813f5e8e1cd180f0366637adbf3"> 130</a></span> <span class="keyword">static</span> xbInt16 <a class="code hl_variable" href="classxb_1_1xbSsv.html#a5849e813f5e8e1cd180f0366637adbf3">iEndianType</a>; <span class="comment">// B=Big Endian L=Little Endian</span></div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="classxb_1_1xbSsv.html#a9dec3164c3b264882df634915ecf21da"> 131</a></span> <span class="keyword">static</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> <a class="code hl_variable" href="classxb_1_1xbSsv.html#a9dec3164c3b264882df634915ecf21da">sNullString</a>; <span class="comment">// Null String</span></div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> </div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">static</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> sDefaultDateFormat;</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">static</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> sDataDirectory; <span class="comment">//Data file directory</span></div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">static</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> sTempDirectory; <span class="comment">//Temp file directory</span></div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="preprocessor"> #ifdef XB_LOGGING_SUPPORT</span></div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keyword">static</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> sLogDirectory; <span class="comment">//Default location to store log files</span></div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">static</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> sLogFileName; <span class="comment">//Default LogFileName</span></div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keyword">static</span> xbInt16 iDefaultFileVersion; <span class="comment">// 3 = DBase 3</span></div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="comment">// 4 = DBase 4</span></div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="comment">// default version used in CreateTable command</span></div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="comment">// can be over ridden at the Xbase level, or table level</span></div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="comment">// Different versions can be open simultaneously</span></div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">static</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bDefaultAutoCommit; <span class="comment">// Default dbf auto commit switch</span></div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">static</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bMultiUser; <span class="comment">// True if multi user mode is turned on</span></div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="comment">// Turn this off for better performance in single user mode</span></div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="comment">// This needs to be turned on or off before any data tables are opened</span></div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="comment">// turning this on after tables are opened, can result in out of date</span></div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="comment">// file buffers if multiple users are sharing the files</span></div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span><span class="preprocessor">#ifdef XB_LOCKING_SUPPORT</span></div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keyword">static</span> xbInt32 lDefaultLockWait; <span class="comment">// Number of milliseconds between lock retries</span></div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">static</span> xbInt16 iDefaultLockRetries; <span class="comment">// Number of times to retry a lock before conceding</span></div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">static</span> xbInt16 bDefaultAutoLock; <span class="comment">// Autolocking enabled?</span></div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keyword">static</span> xbInt16 iDefaultLockFlavor; <span class="comment">// 1 = DBase</span></div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="comment">// 2 = Clipper - not developed yet</span></div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="comment">// 3 = FoxPro - not developed yet</span></div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="comment">// 9 = Xbase64 - not developed yet</span></div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> </div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span><span class="preprocessor">#if defined (XB_NDX_SUPPORT) || defined (XB_MDX_SUPPORT)</span></div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> </div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keyword">static</span> xbInt16 iUniqueKeyOpt;</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> </div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="comment">// is one of:</span></div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="comment">// XB_HALT_ON_DUPKEY</span></div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="comment">// XB_EMULATE_DBASE</span></div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> </div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span><span class="preprocessor">#ifdef XB_MDX_SUPPORT</span></div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">static</span> xbInt16 iCreateMdxBlockSize; <span class="comment">// System level Mdx Block Size</span></div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span><span class="preprocessor">#endif </span><span class="comment">// XB_MDX_SUPPORT</span></div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> </div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span><span class="preprocessor">#ifdef XB_BLOCKREAD_SUPPORT</span></div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">static</span> xbUInt32 ulDefaultBlockReadSize;</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span><span class="preprocessor">#endif </span><span class="comment">// XB_BLOCKREAD_SUPPORT</span></div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> </div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> </div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span>};</div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> </div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span>} <span class="comment">/* namespace xb */</span></div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span><span class="preprocessor">#endif </span><span class="comment">/* __XB_XBSSV_H__ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclassxb_1_1xbSsv_html"><div class="ttname"><a href="classxb_1_1xbSsv.html">xb::xbSsv</a></div><div class="ttdoc">Class for handling shared system variables.</div><div class="ttdef"><b>Definition:</b> xbssv.h:59</div></div>
+<div class="ttc" id="aclassxb_1_1xbSsv_html_a5849e813f5e8e1cd180f0366637adbf3"><div class="ttname"><a href="classxb_1_1xbSsv.html#a5849e813f5e8e1cd180f0366637adbf3">xb::xbSsv::iEndianType</a></div><div class="ttdeci">static xbInt16 iEndianType</div><div class="ttdef"><b>Definition:</b> xbssv.h:130</div></div>
+<div class="ttc" id="aclassxb_1_1xbSsv_html_a9dec3164c3b264882df634915ecf21da"><div class="ttname"><a href="classxb_1_1xbSsv.html#a9dec3164c3b264882df634915ecf21da">xb::xbSsv::sNullString</a></div><div class="ttdeci">static xbString sNullString</div><div class="ttdef"><b>Definition:</b> xbssv.h:131</div></div>
+<div class="ttc" id="aclassxb_1_1xbString_html"><div class="ttname"><a href="classxb_1_1xbString.html">xb::xbString</a></div><div class="ttdoc">Class for handling string data.</div><div class="ttdef"><b>Definition:</b> xbstring.h:50</div></div>
+<div class="ttc" id="aclassxb_1_1xbXBase_html"><div class="ttname"><a href="classxb_1_1xbXBase.html">xb::xbXBase</a></div><div class="ttdoc">xbXbase class.</div><div class="ttdef"><b>Definition:</b> xbxbase.h:123</div></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbstmt_8cpp.html b/docs/doxygen/html/xbstmt_8cpp.html
new file mode 100644
index 0000000..3d89cef
--- /dev/null
+++ b/docs/doxygen/html/xbstmt_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/sql/xbstmt.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_25b94c3afce00ed38231227d8141f932.html">sql</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbstmt.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbstring_8cpp.html b/docs/doxygen/html/xbstring_8cpp.html
new file mode 100644
index 0000000..dbe8419
--- /dev/null
+++ b/docs/doxygen/html/xbstring_8cpp.html
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbstring.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle"><div class="title">xbstring.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ad27f348219e895c44f74addba8e1889a"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#ad27f348219e895c44f74addba8e1889a">xb::operator&lt;&lt;</a> (std::ostream &amp;os, const xbString &amp;s)</td></tr>
+<tr class="memdesc:ad27f348219e895c44f74addba8e1889a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stream insertion operator &lt;&lt;. <a href="namespacexb.html#ad27f348219e895c44f74addba8e1889a">More...</a><br /></td></tr>
+<tr class="separator:ad27f348219e895c44f74addba8e1889a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbstring_8h.html b/docs/doxygen/html/xbstring_8h.html
new file mode 100644
index 0000000..bc3a683
--- /dev/null
+++ b/docs/doxygen/html/xbstring_8h.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbstring.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a> </div>
+ <div class="headertitle"><div class="title">xbstring.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;stdlib.h&gt;</code><br />
+<code>#include &lt;iostream&gt;</code><br />
+</div>
+<p><a href="xbstring_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbString.html">xb::xbString</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class for handling string data. <a href="classxb_1_1xbString.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbstring_8h_source.html b/docs/doxygen/html/xbstring_8h_source.html
new file mode 100644
index 0000000..67e1d2e
--- /dev/null
+++ b/docs/doxygen/html/xbstring_8h_source.html
@@ -0,0 +1,252 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbstring.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbstring.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbstring_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbstring.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#ifndef __XBSTRING_H__</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#define __XBSTRING_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#pragma interface</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="classxb_1_1xbString.html"> 50</a></span><span class="keyword">class </span>XBDLLEXPORT <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> {</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="comment">//Various constructors</span></div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>(xbUInt32 size);</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>(<span class="keywordtype">char</span> c);</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s, xbUInt32 lMaxLen);</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>(<span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s);</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * = <span class="stringliteral">&quot;&quot;</span>);</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> d );</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <a class="code hl_class" href="classxb_1_1xbString.html">~xbString</a>();</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="comment">//operators</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;operator= (<span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s);</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;operator= (<span class="keyword">const</span> <span class="keywordtype">char</span> *s);</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">operator</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">char</span> &amp;operator[](xbUInt32 n) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">char</span> &amp;operator[](xbInt32 n) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;operator+=(<span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s);</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;operator+=(<span class="keyword">const</span> <span class="keywordtype">char</span> *s);</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;operator+=(<span class="keywordtype">char</span> c);</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;operator-=(<span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s);</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;operator-=(<span class="keyword">const</span> <span class="keywordtype">char</span> *s);</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;operator-=(<span class="keywordtype">char</span> c);</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator == ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator == ( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator != ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator != ( <span class="keyword">const</span> <span class="keywordtype">char</span> * ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator &lt; ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator &gt; ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator &lt;= ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> operator &gt;= ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> operator-( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s );</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> operator+( <span class="keyword">const</span> <span class="keywordtype">char</span> *s );</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> operator+( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s );</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> operator+( <span class="keyword">const</span> <span class="keywordtype">char</span> c );</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;AddBackSlash( <span class="keywordtype">char</span> c );</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Append(<span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s);</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Append(<span class="keyword">const</span> <span class="keywordtype">char</span> *s);</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Append(<span class="keyword">const</span> <span class="keywordtype">char</span> *s, xbUInt32 iByteCount );</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Append(<span class="keywordtype">char</span> c);</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Assign(<span class="keyword">const</span> <span class="keywordtype">char</span> *srcStr, xbUInt32 lStartPos, xbUInt32 lCopyLen );</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Assign(<span class="keyword">const</span> <span class="keywordtype">char</span> *srcStr, xbUInt32 lStartPos );</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Assign(<span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s, xbUInt32 ulStartPos, xbUInt32 lCopyLen );</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Assign(<span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s, xbUInt32 ulStartPos );</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> Copy() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> xbUInt32 CountChar( <span class="keywordtype">char</span> c ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> xbUInt32 CountChar( <span class="keywordtype">char</span> c, xbInt16 iOpt ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> xbInt16 CvtHexChar( <span class="keywordtype">char</span> &amp;cOut );</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> xbInt16 CvtHexString( <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> xbInt16 CvtULongLong( xbUInt64 &amp;ullOut );</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> xbInt16 CvtLongLong( xbInt64 &amp;llOut );</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="preprocessor"> #ifdef XB_DEBUG_SUPPORT</span></div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">void</span> Dump( <span class="keyword">const</span> <span class="keywordtype">char</span> *title ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">void</span> Dump( <span class="keyword">const</span> <span class="keywordtype">char</span> *title, xbInt16 iOption ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">void</span> DumpHex( <span class="keyword">const</span> <span class="keywordtype">char</span> *title ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;ExtractElement(<a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s, <span class="keywordtype">char</span> delim, xbUInt32 iCnt, xbInt16 iOpt = 0 );</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;ExtractElement(<span class="keyword">const</span> <span class="keywordtype">char</span> *src, <span class="keywordtype">char</span> delim, xbUInt32 iCnt, xbInt16 iOpt = 0 );</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">char</span> GetCharacter( xbUInt32 lPos ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> xbUInt32 GetLastPos(<span class="keywordtype">char</span> c) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> xbUInt32 GetLastPos(<span class="keyword">const</span> <span class="keywordtype">char</span> *s) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">char</span> GetPathSeparator() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> xbUInt32 GetSize() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> HasAlphaChars() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsEmpty() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> IsNull() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> </div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Left( xbUInt32 ulLen );</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> xbUInt32 Len() <span class="keyword">const</span>; <span class="comment">// returns the length of the string</span></div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Ltrim();</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Ltrunc( xbUInt32 ulCnt );</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Mid(xbUInt32 ulPos, xbUInt32 lLen );</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;PadLeft( <span class="keywordtype">char</span> c, xbUInt32 ulLen );</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;PadRight( <span class="keywordtype">char</span> c, xbUInt32 ulLen );</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> xbUInt32 Pos(<span class="keywordtype">char</span> c, xbUInt32 ulStartPos ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> xbUInt32 Pos(<span class="keywordtype">char</span> c) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> xbUInt32 Pos(<span class="keyword">const</span> <span class="keywordtype">char</span> *s) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;PutAt(xbUInt32 ulPos, <span class="keywordtype">char</span> c);</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Remove( xbUInt32 ulPos, xbUInt32 ulN );</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Replace( <span class="keyword">const</span> <span class="keywordtype">char</span> *sReplace, <span class="keyword">const</span> <span class="keywordtype">char</span> *sReplaceWith, xbInt16 iOpt = 0 );</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Resize( xbUInt32 lSize );</div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Rtrim();</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> </div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Set( <span class="keyword">const</span> <span class="keywordtype">char</span> *s );</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Set( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s );</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Set( <span class="keyword">const</span> <span class="keywordtype">char</span> *s, xbUInt32 ulSize );</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;SetNum( xbInt32 lNum );</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Sprintf(<span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...);</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *Str() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">char</span> *strncpy( <span class="keywordtype">char</span> * cDest, xbUInt32 n ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;SwapChars( <span class="keywordtype">char</span> from, <span class="keywordtype">char</span> to );</div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> </div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;ToLowerCase();</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;ToUpperCase();</div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;Trim();</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> ValidLogicalValue() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> ValidNumericValue() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;ZapChar( <span class="keywordtype">char</span> c );</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;ZapLeadingChar( <span class="keywordtype">char</span> c );</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;ZapTrailingChar( <span class="keywordtype">char</span> c );</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keyword">friend</span> std::ostream&amp; <a class="code hl_function" href="namespacexb.html#ad27f348219e895c44f74addba8e1889a">operator&lt;&lt; </a>( std::ostream&amp; os, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a>&amp; s );</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> </div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * NullString;</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keyword">static</span> <span class="keywordtype">char</span> cJunkBuf;</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> </div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">char</span> *data; <span class="comment">// pointer to actual string data</span></div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> xbUInt32 size; <span class="comment">// size of string plus null terminating byte</span></div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> </div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">void</span> ctor(<span class="keyword">const</span> <span class="keywordtype">char</span> *s);</div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span><span class="comment">// xbUInt32 CalcSprintfBufSize(const char *format, ...);</span></div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> </div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span><span class="comment">// char * xb_realloc( char *pIn, xbUInt32 iLen );</span></div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="comment">// next routine could result in buffer over runs if used with improperly sized buffers</span></div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordtype">char</span> * xb_strcpy ( <span class="keywordtype">char</span> *target, <span class="keyword">const</span> <span class="keywordtype">char</span> *source);</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span>};</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> </div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span>} <span class="comment">/* namespace */</span></div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span><span class="preprocessor">#endif </span><span class="comment">/* __XBSTRING_H__ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclassxb_1_1xbString_html"><div class="ttname"><a href="classxb_1_1xbString.html">xb::xbString</a></div><div class="ttdoc">Class for handling string data.</div><div class="ttdef"><b>Definition:</b> xbstring.h:50</div></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_a25f47b226ce924a5c78f97989b0744a2"><div class="ttname"><a href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb::xbDouble</a></div><div class="ttdeci">double xbDouble</div><div class="ttdef"><b>Definition:</b> xbtypes.h:23</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+<div class="ttc" id="anamespacexb_html_ad27f348219e895c44f74addba8e1889a"><div class="ttname"><a href="namespacexb.html#ad27f348219e895c44f74addba8e1889a">xb::operator&lt;&lt;</a></div><div class="ttdeci">std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const xbString &amp;s)</div><div class="ttdoc">Stream insertion operator &lt;&lt;.</div><div class="ttdef"><b>Definition:</b> xbstring.cpp:148</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbtag_8cpp.html b/docs/doxygen/html/xbtag_8cpp.html
new file mode 100644
index 0000000..1c6a4b8
--- /dev/null
+++ b/docs/doxygen/html/xbtag_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbtag.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbtag.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbtag_8h.html b/docs/doxygen/html/xbtag_8h.html
new file mode 100644
index 0000000..593119e
--- /dev/null
+++ b/docs/doxygen/html/xbtag_8h.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbtag.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> </div>
+ <div class="headertitle"><div class="title">xbtag.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbtag_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbtag_8h_source.html b/docs/doxygen/html/xbtag_8h_source.html
new file mode 100644
index 0000000..0b07092
--- /dev/null
+++ b/docs/doxygen/html/xbtag_8h_source.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbtag.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbtag.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbtag_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbtag.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#ifndef __XB_XBTAG_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define __XB_XBTAG_H__</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">//#ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">//#pragma interface</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">//#endif</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#ifdef XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keyword">class </span>XBDLLEXPORT xbIx;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="keyword">class </span>XBDLLEXPORT xbTag {</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> xbTag( xbIx *pIx, <span class="keywordtype">void</span> *vpTag, xbString &amp;sType, xbString &amp;sTagName, xbString &amp;sExpression, xbString &amp;sFilter, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bUnique, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bSort );</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> xbIx *GetIx() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">void</span> *GetVpTag() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">const</span> xbString &amp;GetType() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">const</span> xbString &amp;GetTagName() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">const</span> xbString &amp;GetExpression() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">const</span> xbString &amp;GetFilter() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetUnique() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetSort() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> xbIx *pIx;</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">void</span> *vpTag;</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> xbString sType;</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> xbString sTagName;</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> xbString sExpression;</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> xbString sFilter;</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bUnique;</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bSort; <span class="comment">// 0 = Ascending, 1 = Descending</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span>};</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="preprocessor">#endif </span><span class="comment">// XB_INDEX_SUPPORT</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span>} <span class="comment">/* namespace xb */</span></div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="preprocessor">#endif </span><span class="comment">/* __XB_TAG_H__ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbtblmgr_8cpp.html b/docs/doxygen/html/xbtblmgr_8cpp.html
new file mode 100644
index 0000000..c39335b
--- /dev/null
+++ b/docs/doxygen/html/xbtblmgr_8cpp.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbtblmgr.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> </div>
+ <div class="headertitle"><div class="title">xbtblmgr.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbtblmgr_8h.html b/docs/doxygen/html/xbtblmgr_8h.html
new file mode 100644
index 0000000..4254153
--- /dev/null
+++ b/docs/doxygen/html/xbtblmgr_8h.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbtblmgr.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle"><div class="title">xbtblmgr.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbtblmgr_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxb_1_1xbTblList.html">xb::xbTblList</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbTblMgr.html">xb::xbTblMgr</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ab2eae4b4732466698a7fdd89d77ba53b"><td class="memItemLeft" align="right" valign="top">class XBDLLEXPORT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b">xb::xbDbf</a></td></tr>
+<tr class="separator:ab2eae4b4732466698a7fdd89d77ba53b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbtblmgr_8h_source.html b/docs/doxygen/html/xbtblmgr_8h_source.html
new file mode 100644
index 0000000..3d3c51e
--- /dev/null
+++ b/docs/doxygen/html/xbtblmgr_8h_source.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbtblmgr.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbtblmgr.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbtblmgr_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbtblmgr.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">This class manages a list of open tables, open indices are connected to the open tables</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"></span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#ifndef __XB_XBMGR_H__</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#define __XB_XBMGR_H__</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#pragma interface</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="namespacexb.html#ab2eae4b4732466698a7fdd89d77ba53b"> 28</a></span><span class="keyword">class </span>XBDLLEXPORT <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a>;</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">/* this structure is a linked list of open tables */</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="structxb_1_1xbTblList.html"> 31</a></span><span class="keyword">struct </span>XBDLLEXPORT <a class="code hl_struct" href="structxb_1_1xbTblList.html">xbTblList</a>{</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="structxb_1_1xbTblList.html#a3fd169fcf0fd4df927544e5342db583c"> 32</a></span> <a class="code hl_struct" href="structxb_1_1xbTblList.html">xbTblList</a> *<a class="code hl_variable" href="structxb_1_1xbTblList.html#a3fd169fcf0fd4df927544e5342db583c">pNext</a>;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="structxb_1_1xbTblList.html#aceec65f6f6b585788cf98e8dabd2737d"> 33</a></span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> *<a class="code hl_variable" href="structxb_1_1xbTblList.html#aceec65f6f6b585788cf98e8dabd2737d">psFqTblName</a>; <span class="comment">// Fully qualified name of table - same table can be opened multiple times, but must have unique alias</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="structxb_1_1xbTblList.html#a02c3b0c47fd104ef9758b375ecdcfd0f"> 34</a></span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> *<a class="code hl_variable" href="structxb_1_1xbTblList.html#a02c3b0c47fd104ef9758b375ecdcfd0f">psTblName</a>; <span class="comment">// Table name without path, without extension</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="structxb_1_1xbTblList.html#ac87742c8a6b1cf2e7e35218e96966a05"> 35</a></span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> *<a class="code hl_variable" href="structxb_1_1xbTblList.html#ac87742c8a6b1cf2e7e35218e96966a05">psTblAlias</a>; <span class="comment">// TblAliasName must be unique, same as TblNAme if Alias not provided</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="structxb_1_1xbTblList.html#a387d3f6bbf291a1fb96d276ed9bb96b6"> 36</a></span> <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> *<a class="code hl_variable" href="structxb_1_1xbTblList.html#a387d3f6bbf291a1fb96d276ed9bb96b6">pDbf</a>;</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span>};</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="classxb_1_1xbTblMgr.html"> 39</a></span><span class="keyword">class </span>XBDLLEXPORT <a class="code hl_class" href="classxb_1_1xbTblMgr.html">xbTblMgr</a> : <span class="keyword">public</span> <a class="code hl_class" href="classxb_1_1xbSsv.html">xbSsv</a> {</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <a class="code hl_class" href="classxb_1_1xbTblMgr.html">xbTblMgr</a>();</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <a class="code hl_class" href="classxb_1_1xbTblMgr.html">~xbTblMgr</a>();</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> xbInt16 AddTblToTblList ( <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> *d, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFqTblName );</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> xbInt16 AddTblToTblList ( <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> *d, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFqTblName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTblAlias );</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> xbInt16 DisplayTableList () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> * GetDbfPtr ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTblAlias ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> * GetDbfPtr ( xbInt16 sItemNo ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_struct" href="structxb_1_1xbTblList.html">xbTblList</a> * GetTblListEntry ( <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> *d );</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> xbInt16 GetOpenTableCount () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> xbInt16 RemoveTblFromTblList ( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTblAlias );</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> xbInt16 RemoveTblFromTblList ( <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> *d );</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <a class="code hl_struct" href="structxb_1_1xbTblList.html">xbTblList</a> * TblList; <span class="comment">// List of open database tables</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> xbInt16 iOpenTableCount; <span class="comment">// Number of open tables</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span>};</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span>} <span class="comment">/* namespace xb */</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="preprocessor">#endif </span><span class="comment">/* __XB_XBMGR_H__ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclassxb_1_1xbDbf_html"><div class="ttname"><a href="classxb_1_1xbDbf.html">xb::xbDbf</a></div><div class="ttdoc">Base class for handling dbf files/tables.</div><div class="ttdef"><b>Definition:</b> xbdbf.h:150</div></div>
+<div class="ttc" id="aclassxb_1_1xbSsv_html"><div class="ttname"><a href="classxb_1_1xbSsv.html">xb::xbSsv</a></div><div class="ttdoc">Class for handling shared system variables.</div><div class="ttdef"><b>Definition:</b> xbssv.h:59</div></div>
+<div class="ttc" id="aclassxb_1_1xbString_html"><div class="ttname"><a href="classxb_1_1xbString.html">xb::xbString</a></div><div class="ttdoc">Class for handling string data.</div><div class="ttdef"><b>Definition:</b> xbstring.h:50</div></div>
+<div class="ttc" id="aclassxb_1_1xbTblMgr_html"><div class="ttname"><a href="classxb_1_1xbTblMgr.html">xb::xbTblMgr</a></div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:39</div></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="astructxb_1_1xbTblList_html"><div class="ttname"><a href="structxb_1_1xbTblList.html">xb::xbTblList</a></div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:31</div></div>
+<div class="ttc" id="astructxb_1_1xbTblList_html_a02c3b0c47fd104ef9758b375ecdcfd0f"><div class="ttname"><a href="structxb_1_1xbTblList.html#a02c3b0c47fd104ef9758b375ecdcfd0f">xb::xbTblList::psTblName</a></div><div class="ttdeci">xbString * psTblName</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:34</div></div>
+<div class="ttc" id="astructxb_1_1xbTblList_html_a387d3f6bbf291a1fb96d276ed9bb96b6"><div class="ttname"><a href="structxb_1_1xbTblList.html#a387d3f6bbf291a1fb96d276ed9bb96b6">xb::xbTblList::pDbf</a></div><div class="ttdeci">xbDbf * pDbf</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:36</div></div>
+<div class="ttc" id="astructxb_1_1xbTblList_html_a3fd169fcf0fd4df927544e5342db583c"><div class="ttname"><a href="structxb_1_1xbTblList.html#a3fd169fcf0fd4df927544e5342db583c">xb::xbTblList::pNext</a></div><div class="ttdeci">xbTblList * pNext</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:32</div></div>
+<div class="ttc" id="astructxb_1_1xbTblList_html_ac87742c8a6b1cf2e7e35218e96966a05"><div class="ttname"><a href="structxb_1_1xbTblList.html#ac87742c8a6b1cf2e7e35218e96966a05">xb::xbTblList::psTblAlias</a></div><div class="ttdeci">xbString * psTblAlias</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:35</div></div>
+<div class="ttc" id="astructxb_1_1xbTblList_html_aceec65f6f6b585788cf98e8dabd2737d"><div class="ttname"><a href="structxb_1_1xbTblList.html#aceec65f6f6b585788cf98e8dabd2737d">xb::xbTblList::psFqTblName</a></div><div class="ttdeci">xbString * psFqTblName</div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:33</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbtypes_8h.html b/docs/doxygen/html/xbtypes_8h.html
new file mode 100644
index 0000000..24f5dde
--- /dev/null
+++ b/docs/doxygen/html/xbtypes_8h.html
@@ -0,0 +1,154 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbtypes.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#typedef-members">Typedefs</a> </div>
+ <div class="headertitle"><div class="title">xbtypes.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbtypes_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:ab0ae00665298fe7f5292691cb98ec2d9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbtypes_8h.html#ab0ae00665298fe7f5292691cb98ec2d9">xbTrue</a>&#160;&#160;&#160;1</td></tr>
+<tr class="separator:ab0ae00665298fe7f5292691cb98ec2d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc4b6ca5ad299f63675136d9e03938cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbtypes_8h.html#adc4b6ca5ad299f63675136d9e03938cc">xbFalse</a>&#160;&#160;&#160;0</td></tr>
+<tr class="separator:adc4b6ca5ad299f63675136d9e03938cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c65f692ac861990861575e18f72f6eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xbtypes_8h.html#a2c65f692ac861990861575e18f72f6eb">xbFileNo</a>&#160;&#160;&#160;fileno</td></tr>
+<tr class="separator:a2c65f692ac861990861575e18f72f6eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:a83aa6a550398db55973aa9fb4257e66e"><td class="memItemLeft" align="right" valign="top">typedef float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xb::xbFloat</a></td></tr>
+<tr class="separator:a83aa6a550398db55973aa9fb4257e66e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25f47b226ce924a5c78f97989b0744a2"><td class="memItemLeft" align="right" valign="top">typedef double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb::xbDouble</a></td></tr>
+<tr class="separator:a25f47b226ce924a5c78f97989b0744a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1a750481dd487f0d384aa1d200dff0f"><td class="memItemLeft" align="right" valign="top">typedef short int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></td></tr>
+<tr class="separator:ab1a750481dd487f0d384aa1d200dff0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac963d9fde6debb416303cfbed35fb793"><td class="memItemLeft" align="right" valign="top">typedef xbUInt64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#ac963d9fde6debb416303cfbed35fb793">xb::xbOffT</a></td></tr>
+<tr class="separator:ac963d9fde6debb416303cfbed35fb793"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="adc4b6ca5ad299f63675136d9e03938cc" name="adc4b6ca5ad299f63675136d9e03938cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adc4b6ca5ad299f63675136d9e03938cc">&#9670;&nbsp;</a></span>xbFalse</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define xbFalse&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2c65f692ac861990861575e18f72f6eb" name="a2c65f692ac861990861575e18f72f6eb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2c65f692ac861990861575e18f72f6eb">&#9670;&nbsp;</a></span>xbFileNo</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define xbFileNo&#160;&#160;&#160;fileno</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab0ae00665298fe7f5292691cb98ec2d9" name="ab0ae00665298fe7f5292691cb98ec2d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab0ae00665298fe7f5292691cb98ec2d9">&#9670;&nbsp;</a></span>xbTrue</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define xbTrue&#160;&#160;&#160;1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbtypes_8h_source.html b/docs/doxygen/html/xbtypes_8h_source.html
new file mode 100644
index 0000000..60d9e5b
--- /dev/null
+++ b/docs/doxygen/html/xbtypes_8h_source.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbtypes.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbtypes.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbtypes_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbtypes.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#ifndef __XB_XTYPES_H__</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#define __XB_XTYPES_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e"> 22</a></span><span class="keyword">typedef</span> <span class="keywordtype">float</span> <a class="code hl_typedef" href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xbFloat</a>;</div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2"> 23</a></span><span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a>;</div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f"> 24</a></span><span class="keyword">typedef</span> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a>;</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="namespacexb.html#ac963d9fde6debb416303cfbed35fb793"> 25</a></span><span class="keyword">typedef</span> xbUInt64 <a class="code hl_typedef" href="namespacexb.html#ac963d9fde6debb416303cfbed35fb793">xbOffT</a>;</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="xbtypes_8h.html#ab0ae00665298fe7f5292691cb98ec2d9"> 28</a></span><span class="preprocessor">#define xbTrue 1</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="xbtypes_8h.html#adc4b6ca5ad299f63675136d9e03938cc"> 29</a></span><span class="preprocessor">#define xbFalse 0</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#ifdef HAVE__FILENO_F</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor"> #define xbFileNo _fileno</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#else</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="xbtypes_8h.html#a2c65f692ac861990861575e18f72f6eb"> 35</a></span><span class="preprocessor"> #define xbFileNo fileno</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#ifdef XB_LOCKING_SUPPORT</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor"> #if defined( HAVE_LONG_LONG )</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor"> #define LK4026531839 4026531839LL</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor"> #define LK4026531838 4026531838LL</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="preprocessor"> #define LK3026531838 3026531838LL</span></div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor"> #define LK1000000000 1000000000LL</span></div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="preprocessor"> #else</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="preprocessor"> #define LK4026531839 4026531839L</span></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="preprocessor"> #define LK4026531838 4026531838L</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="preprocessor"> #define LK3026531838 3026531838L</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="preprocessor"> #define LK1000000000 1000000000L</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span>} <span class="comment">/* namespace */</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor">#endif </span><span class="comment">/* __XB_XTYPES_H__ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_a25f47b226ce924a5c78f97989b0744a2"><div class="ttname"><a href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb::xbDouble</a></div><div class="ttdeci">double xbDouble</div><div class="ttdef"><b>Definition:</b> xbtypes.h:23</div></div>
+<div class="ttc" id="anamespacexb_html_a83aa6a550398db55973aa9fb4257e66e"><div class="ttname"><a href="namespacexb.html#a83aa6a550398db55973aa9fb4257e66e">xb::xbFloat</a></div><div class="ttdeci">float xbFloat</div><div class="ttdef"><b>Definition:</b> xbtypes.h:22</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+<div class="ttc" id="anamespacexb_html_ac963d9fde6debb416303cfbed35fb793"><div class="ttname"><a href="namespacexb.html#ac963d9fde6debb416303cfbed35fb793">xb::xbOffT</a></div><div class="ttdeci">xbUInt64 xbOffT</div><div class="ttdef"><b>Definition:</b> xbtypes.h:25</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbuda_8cpp.html b/docs/doxygen/html/xbuda_8cpp.html
new file mode 100644
index 0000000..5930c72
--- /dev/null
+++ b/docs/doxygen/html/xbuda_8cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbuda.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbuda.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbuda_8h.html b/docs/doxygen/html/xbuda_8h.html
new file mode 100644
index 0000000..7efa3fa
--- /dev/null
+++ b/docs/doxygen/html/xbuda_8h.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbuda.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbuda.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbuda_8h_source.html">Go to the source code of this file.</a></p>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbuda_8h_source.html b/docs/doxygen/html/xbuda_8h_source.html
new file mode 100644
index 0000000..325b01f
--- /dev/null
+++ b/docs/doxygen/html/xbuda_8h_source.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbuda.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbuda.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbuda_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbuda.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022,2023 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">This class manages the user data area (UDA)</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"></span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#ifndef __XB_XBUDA_H__</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#define __XB_XBUDA_H__</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#pragma interface</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#ifdef XB_EXPRESSION_SUPPORT</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keyword">class </span>XBDLLEXPORT xbUda {</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> xbUda();</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> ~xbUda();</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> xbInt16 AddTokenForKey( <span class="keyword">const</span> xbString &amp;sKey, <span class="keyword">const</span> xbString &amp;sToken );</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">void</span> Clear();</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> xbInt16 DelTokenForKey( <span class="keyword">const</span> xbString &amp;sKey );</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> xbInt16 GetTokenCnt() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> xbInt16 GetTokenForKey( <span class="keyword">const</span> xbString &amp;sKey, xbString &amp;sData );</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> xbInt16 UpdTokenForKey( <span class="keyword">const</span> xbString &amp;sKey, <span class="keyword">const</span> xbString &amp;sToken );</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">void</span> DumpUda() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> xbLinkListOrd&lt;xbString&gt; llOrd;</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span>};</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span>} <span class="comment">/* namespace */</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="preprocessor">#endif </span><span class="comment">/* XB_EXPRESSION_SUPPORT */</span><span class="preprocessor"></span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor">#endif </span><span class="comment">/* __XBUDA_H__ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbxbase_8cpp.html b/docs/doxygen/html/xbxbase_8cpp.html
new file mode 100644
index 0000000..b71ed75
--- /dev/null
+++ b/docs/doxygen/html/xbxbase_8cpp.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/core/xbxbase.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> </div>
+ <div class="headertitle"><div class="title">xbxbase.cpp File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="xbase_8h_source.html">xbase.h</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbxbase_8h.html b/docs/doxygen/html/xbxbase_8h.html
new file mode 100644
index 0000000..9e40b92
--- /dev/null
+++ b/docs/doxygen/html/xbxbase_8h.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbxbase.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle"><div class="title">xbxbase.h File Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="xbxbase_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxb_1_1xbXBase.html">xb::xbXBase</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">xbXbase class. <a href="classxb_1_1xbXBase.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacexb"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html">xb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a4a31fbe9110c9e55495ce71e642d785c"><td class="memItemLeft" align="right" valign="top">class XBDLLEXPORT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c">xb::xbLog</a></td></tr>
+<tr class="separator:a4a31fbe9110c9e55495ce71e642d785c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>
diff --git a/docs/doxygen/html/xbxbase_8h_source.html b/docs/doxygen/html/xbxbase_8h_source.html
new file mode 100644
index 0000000..0166967
--- /dev/null
+++ b/docs/doxygen/html/xbxbase_8h_source.html
@@ -0,0 +1,323 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.3"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xbxbase.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">Xbase64<span id="projectnumber">&#160;4.0.1</span>
+ </div>
+ <div id="projectbrief">C++ Library for handling Xbase (DBF) format type files</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.3 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle"><div class="title">xbxbase.h</div></div>
+</div><!--header-->
+<div class="contents">
+<a href="xbxbase_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* xbxbase.h</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">XBase64 Software Library</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Copyright (c) 1997,2003,2014,2022,2023 Gary A Kunkel</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"></span> </div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"></span> </div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">Email Contact:</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"></span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> XDB-devel@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> XDB-users@lists.sourceforge.net</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"></span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#ifndef __XB_XBDBLIST_H__</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define __XB_XBDBLIST_H__</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifdef CMAKE_COMPILER_IS_GNUCC</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#pragma interface</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexb.html">xb</a>{</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c"> 26</a></span><span class="keyword">class </span>XBDLLEXPORT <a class="code hl_variable" href="namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c">xbLog</a>;</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">/************************************************************************/</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">/* </span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment"> Xbase functions</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"></span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment"> Min Parm Count is the minimum number of input parms needed by the function</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment"></span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment"> Return Type</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment"> C Char or string</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment"> D Date</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment"> L Logical</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment"> N Numeric</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="comment"> 1 Varies - pull return type from first sibling</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment"> 2 Varies - pull return type from second sibling</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor">#ifdef XB_FUNCTION_SUPPORT</span></div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="comment">struct XBDLLEXPORT xbFunctionInfo {</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment"> const char * FuncName; // function name</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="comment"> char ReturnType; // return type of function</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment"> xbInt16 iReturnLenCalc; // used to calculate the function return value is</span></div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment"> // 1 = use value specified in iReturnLenVal</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment"> // 2 = use length of operand specified in col 4</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment"> // 3 = use valued of numeric operand specified in col 4</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment"> // 4 = length of parm 1 * numeric value parm</span></div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment"> // 5 = larger length of parm 2 or length of parm 3</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="comment"> // 6 = if two or more parms, use numeric value from second parm,</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="comment"> // otherwise use col4 value</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="comment"> xbInt16 iReturnLenVal; // Used in combination with iReturnLenCalc</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment"></span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment">};</span></div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment">static xbFunctionInfo FunctionList[] =</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="comment">// Func Return -Rtrn Len-</span></div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="comment">// Name Type -Calc Val-</span></div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="comment">{</span></div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment"> { &quot;ABS&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment"> { &quot;ALLTRIM&quot;, &#39;C&#39;, 2, 1 },</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment"> { &quot;ASC&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="comment"> { &quot;AT&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment"> { &quot;CDOW&quot;, &#39;C&#39;, 1, 9 },</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="comment"> { &quot;CHR&quot;, &#39;C&#39;, 1, 1 },</span></div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment"> { &quot;CMONTH&quot;, &#39;C&#39;, 1, 9 },</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment"> { &quot;CTOD&quot;, &#39;D&#39;, 1, 8 },</span></div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment"> { &quot;DATE&quot;, &#39;D&#39;, 1, 8 },</span></div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment"> { &quot;DAY&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment"> { &quot;DEL&quot;, &#39;C&#39;, 1, 1 },</span></div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="comment"> { &quot;DELETED&quot;, &#39;L&#39;, 1, 1 },</span></div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment"> { &quot;DESCEND&quot;, &#39;1&#39;, 2, 1 },</span></div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="comment"> { &quot;DOW&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="comment"> { &quot;DTOC&quot;, &#39;C&#39;, 1, 8 },</span></div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="comment"> { &quot;DTOS&quot;, &#39;C&#39;, 1, 8 },</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="comment"> { &quot;EXP&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="comment"> { &quot;IIF&quot;, &#39;C&#39;, 5, 0 },</span></div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="comment"> { &quot;INT&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="comment"> { &quot;ISALPHA&quot;, &#39;L&#39;, 1, 1 },</span></div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="comment"> { &quot;ISLOWER&quot;, &#39;L&#39;, 1, 1 },</span></div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="comment"> { &quot;ISUPPER&quot;, &#39;L&#39;, 1, 1 },</span></div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment"> { &quot;LEFT&quot;, &#39;C&#39;, 3, 2 },</span></div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="comment"> { &quot;LEN&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="comment"> { &quot;LOG&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="comment"> { &quot;LOWER&quot;, &#39;C&#39;, 2, 1 },</span></div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="comment"> { &quot;LTRIM&quot;, &#39;C&#39;, 2, 1 },</span></div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment"> { &quot;MAX&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="comment"> { &quot;MIN&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment"> { &quot;MONTH&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="comment"> { &quot;RECNO&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="comment"> { &quot;RECCOUNT&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="comment"> { &quot;REPLICATE&quot;, &#39;C&#39;, 4, 0 },</span></div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="comment"> { &quot;RIGHT&quot;, &#39;C&#39;, 3, 2 },</span></div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="comment"> { &quot;RTRIM&quot;, &#39;C&#39;, 2, 1 },</span></div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="comment"> { &quot;SPACE&quot;, &#39;C&#39;, 3, 1 },</span></div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="comment"> { &quot;SQRT&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="comment"> { &quot;STOD&quot;, &#39;D&#39;, 1, 8 },</span></div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="comment"> { &quot;STR&quot;, &#39;C&#39;, 6, 10 },</span></div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="comment"> { &quot;STRZERO&quot;, &#39;C&#39;, 3, 2 },</span></div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="comment"> { &quot;SUBSTR&quot;, &#39;C&#39;, 3, 3 },</span></div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment"> { &quot;TRIM&quot;, &#39;C&#39;, 2, 1 },</span></div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment"> { &quot;UPPER&quot;, &#39;C&#39;, 2, 1 },</span></div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="comment"> { &quot;VAL&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="comment"> { &quot;YEAR&quot;, &#39;N&#39;, 1, 4 },</span></div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="comment"> { 0, 0, 0, 0 },</span></div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment">};</span></div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment">*/</span></div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="classxb_1_1xbXBase.html"> 123</a></span><span class="keyword">class </span>XBDLLEXPORT <a class="code hl_class" href="classxb_1_1xbXBase.html">xbXBase</a> : <span class="keyword">public</span> <a class="code hl_class" href="classxb_1_1xbTblMgr.html">xbTblMgr</a>{</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <a class="code hl_variable" href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xbXBase</a>();</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <a class="code hl_class" href="classxb_1_1xbXBase.html">~xbXBase</a>();</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> </div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> xbInt16 CloseAllTables();</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> xbInt16 CreateFqn( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sDirIn, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sNameIn, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sExtIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFqfnOut );</div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keywordtype">void</span> DisableMsgLogging();</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">void</span> EnableMsgLogging ();</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> xbInt16 FlushLog();</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="comment">//const xbString &amp;GetLogDirectory () const;</span></div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="comment">//const xbString &amp;GetLogFileName () const;</span></div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;GetLogFqFileName() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> GetLogStatus () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="classxb_1_1xbXBase.html#aa957eb502ecd076e5df89e7415cb094b"> 139</a></span> xbInt16 <a class="code hl_function" href="classxb_1_1xbXBase.html#aa957eb502ecd076e5df89e7415cb094b">OpenHighestVersion</a>( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sAlias, <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> &amp;dbf, <span class="keywordtype">int</span> dummy );</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> xbInt16 OpenHighestVersion( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sAlias, <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> **dbf );</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> * Open( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, xbInt16 &amp;iRc );</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> * Open( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTableName, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sAlias, xbInt16 iOpenMode, xbInt16 iShareMode, xbInt16 iVersion, xbInt16 &amp;iRc );</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="comment">// next three methods moved to xbssv for consistency</span></div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="comment">// void SetLogDirectory( const xbString &amp;sLogFileDirectory );</span></div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="comment">// void SetLogFileName ( const xbString &amp;sLogFileName );</span></div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keywordtype">void</span> SetLogSize ( <span class="keywordtype">size_t</span> lSize );</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"><a class="line" href="classxb_1_1xbXBase.html#aedb4c2aa2c90e4529915198a2305b355"> 149</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classxb_1_1xbXBase.html#aedb4c2aa2c90e4529915198a2305b355">GetLogSize</a> () <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> xbInt16 WriteLogMessage( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sLogMessage, xbInt16 iOutputOpt = 0 );</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> xbInt16 WriteLogBytes ( xbUInt32 lCnt, <span class="keyword">const</span> <span class="keywordtype">char</span> *p );</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">void</span> xbSleep ( xbInt32 lMillisecs );</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> xbInt16 GetCmdLineOpt ( xbInt32 lArgc, <span class="keywordtype">char</span> **argv, <span class="keyword">const</span> <span class="keywordtype">char</span> *sOptRqst, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sParmOut );</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> xbInt16 GetCmdLineOpt ( xbInt32 lArgc, <span class="keywordtype">char</span> **argv, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOptRqst, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sParmOut );</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="comment">/* xbase functions */</span></div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span><span class="preprocessor"> #ifdef XB_FUNCTION_SUPPORT</span></div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> xbInt16 ABS( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dOut );</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> xbInt16 ALLTRIM( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> xbInt16 ASC( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dAscOut );</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> xbInt16 AT( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sSrchFor, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sBase, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dPos );</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> xbInt16 CDOW( <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dInDate, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOutDow );</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> xbInt16 CHR( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dAsciCd, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> xbInt16 CMONTH( <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dInDate, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOutMonth );</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> xbInt16 CTOD( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sInDate, <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dOutDate );</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> xbInt16 DATE( <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dOutDate );</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> xbInt16 DAY( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dInDate, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dOutDay );</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> xbInt16 DEL( <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> * d, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut, xbInt16 iRecBufSw = 0 );</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> xbInt16 DELETED( <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> * d, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bOut, xbInt16 iRecBufSw = 0 );</div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> xbInt16 DESCEND( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> xbInt16 DESCEND( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dInDate, <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dOutDate );</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> xbInt16 DESCEND( <span class="keyword">const</span> <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dsOut );</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> xbInt16 DOW( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;sInDate, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dDowOut );</div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> xbInt16 DTOC( <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dInDate, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOutFmtDate );</div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> xbInt16 DTOS( <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dInDate, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOutFmtDate );</div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> xbInt16 EXP( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dOut );</div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> xbInt16 IIF( <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> bResult, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sTrueResult, <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sFalseResult, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sResult );</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> xbInt16 INT( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dOut );</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> xbInt16 ISALPHA( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bResult );</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> xbInt16 ISLOWER( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bResult );</div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> xbInt16 ISUPPER( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;s, <a class="code hl_typedef" href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xbBool</a> &amp;bResult );</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> xbInt16 LEFT( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, xbUInt32 lCharCnt, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> xbInt16 LEN( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dLen );</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> xbInt16 LOG( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dOut );</div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> xbInt16 LOWER( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> xbInt16 LTRIM( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp; sOut );</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> xbInt16 MAX( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn1, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn2, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dOut );</div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> xbInt16 MIN( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn1, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn2, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dOut );</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> xbInt16 MONTH( <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dInDate, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dMonthOut );</div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> xbInt16 RECCOUNT( <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> * d, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dRecOut );</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> xbInt16 RECNO( <a class="code hl_class" href="classxb_1_1xbDbf.html">xbDbf</a> * d, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dRecOut );</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> xbInt16 REPLICATE( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, xbUInt32 ulRepCnt, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> xbInt16 RIGHT( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, xbUInt32 iCharCnt, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> xbInt16 RTRIM( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> xbInt16 SPACE( xbInt32 lCnt, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> xbInt16 SQRT( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dBase, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dSqrRt );</div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> xbInt16 STOD( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;sDateOut );</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> xbInt16 STR( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> xbInt16 STR( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn, xbUInt32 ulLen, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> xbInt16 STR( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn, xbUInt32 ulLen, xbUInt32 ulDec, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> xbInt16 STR( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn, xbUInt32 ulLen, xbUInt32 ulDec, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sPadChar, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> xbInt16 STRZERO( <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> dIn, xbUInt32 ulLen, xbUInt32 ulDec, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> xbInt16 SUBSTR( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, xbUInt32 ulStartPos, xbUInt32 ulLen, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> xbInt16 TRIM( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> xbInt16 UPPER( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sOut );</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> xbInt16 VAL( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sIn, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dOut );</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> xbInt16 YEAR( <a class="code hl_class" href="classxb_1_1xbDate.html">xbDate</a> &amp;dInDate, <a class="code hl_typedef" href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xbDouble</a> &amp;dOutYear );</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span><span class="preprocessor"> #endif</span></div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> </div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"><a class="line" href="classxb_1_1xbXBase.html#a86a53ce3efbf910996df0f853f1c0add"> 215</a></span> <span class="keyword">friend</span> <span class="keyword">class </span>xbBcd;</div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"><a class="line" href="classxb_1_1xbXBase.html#a3c3e5617be811d732472fe2cc8fb18cc"> 216</a></span> <span class="keyword">friend</span> <span class="keyword">class </span>xbExp;</div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> </div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span><span class="preprocessor"> #ifdef XB_BLOCKREAD_SUPPORT</span></div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keyword">friend</span> <span class="keyword">class </span>xbBlockRead;</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span><span class="preprocessor"> #endif </span><span class="comment">// XB_BLOCKREAD_SUPPORT</span></div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> </div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="classxb_1_1xbXBase.html#ae52e53340593b4253936c1372ec15ee1"> 223</a></span> xbInt16 <a class="code hl_function" href="classxb_1_1xbXBase.html#ae52e53340593b4253936c1372ec15ee1">GetFunctionInfo</a>( <span class="keyword">const</span> <a class="code hl_class" href="classxb_1_1xbString.html">xbString</a> &amp;sExpLine, <span class="keywordtype">char</span> &amp;cReturnType, xbInt16 &amp;iReturnLenCalc, xbInt32 &amp;lReturnLenVal ) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">static</span> xbInt16 xbMemcmp( <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">size_t</span> n );</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> </div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> </div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span><span class="preprocessor">#ifdef XB_LOGGING_SUPPORT</span></div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <a class="code hl_variable" href="namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c">xbLog</a> *xLog;</div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> </div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span>};</div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span>} <span class="comment">/* namespace xb */</span></div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span><span class="preprocessor">#endif </span><span class="comment">/* __XB_DBLIST_H__ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclassxb_1_1xbDate_html"><div class="ttname"><a href="classxb_1_1xbDate.html">xb::xbDate</a></div><div class="ttdoc">xbDate class.</div><div class="ttdef"><b>Definition:</b> xbdate.h:62</div></div>
+<div class="ttc" id="aclassxb_1_1xbDbf_html"><div class="ttname"><a href="classxb_1_1xbDbf.html">xb::xbDbf</a></div><div class="ttdoc">Base class for handling dbf files/tables.</div><div class="ttdef"><b>Definition:</b> xbdbf.h:150</div></div>
+<div class="ttc" id="aclassxb_1_1xbString_html"><div class="ttname"><a href="classxb_1_1xbString.html">xb::xbString</a></div><div class="ttdoc">Class for handling string data.</div><div class="ttdef"><b>Definition:</b> xbstring.h:50</div></div>
+<div class="ttc" id="aclassxb_1_1xbTblMgr_html"><div class="ttname"><a href="classxb_1_1xbTblMgr.html">xb::xbTblMgr</a></div><div class="ttdef"><b>Definition:</b> xbtblmgr.h:39</div></div>
+<div class="ttc" id="aclassxb_1_1xbXBase_html"><div class="ttname"><a href="classxb_1_1xbXBase.html">xb::xbXBase</a></div><div class="ttdoc">xbXbase class.</div><div class="ttdef"><b>Definition:</b> xbxbase.h:123</div></div>
+<div class="ttc" id="aclassxb_1_1xbXBase_html_aa957eb502ecd076e5df89e7415cb094b"><div class="ttname"><a href="classxb_1_1xbXBase.html#aa957eb502ecd076e5df89e7415cb094b">xb::xbXBase::OpenHighestVersion</a></div><div class="ttdeci">xbInt16 OpenHighestVersion(const xbString &amp;sTableName, const xbString &amp;sAlias, xbDbf &amp;dbf, int dummy)</div></div>
+<div class="ttc" id="aclassxb_1_1xbXBase_html_ae52e53340593b4253936c1372ec15ee1"><div class="ttname"><a href="classxb_1_1xbXBase.html#ae52e53340593b4253936c1372ec15ee1">xb::xbXBase::GetFunctionInfo</a></div><div class="ttdeci">xbInt16 GetFunctionInfo(const xbString &amp;sExpLine, char &amp;cReturnType, xbInt16 &amp;iReturnLenCalc, xbInt32 &amp;lReturnLenVal) const</div></div>
+<div class="ttc" id="aclassxb_1_1xbXBase_html_aedb4c2aa2c90e4529915198a2305b355"><div class="ttname"><a href="classxb_1_1xbXBase.html#aedb4c2aa2c90e4529915198a2305b355">xb::xbXBase::GetLogSize</a></div><div class="ttdeci">size_t GetLogSize() const</div></div>
+<div class="ttc" id="anamespacexb_html"><div class="ttname"><a href="namespacexb.html">xb</a></div><div class="ttdef"><b>Definition:</b> xbdate.cpp:19</div></div>
+<div class="ttc" id="anamespacexb_html_a25f47b226ce924a5c78f97989b0744a2"><div class="ttname"><a href="namespacexb.html#a25f47b226ce924a5c78f97989b0744a2">xb::xbDouble</a></div><div class="ttdeci">double xbDouble</div><div class="ttdef"><b>Definition:</b> xbtypes.h:23</div></div>
+<div class="ttc" id="anamespacexb_html_a4a31fbe9110c9e55495ce71e642d785c"><div class="ttname"><a href="namespacexb.html#a4a31fbe9110c9e55495ce71e642d785c">xb::xbLog</a></div><div class="ttdeci">class XBDLLEXPORT xbLog</div><div class="ttdef"><b>Definition:</b> xbxbase.h:26</div></div>
+<div class="ttc" id="anamespacexb_html_a97858ddeb1c4b0100f3edc1a46d3a8b0"><div class="ttname"><a href="namespacexb.html#a97858ddeb1c4b0100f3edc1a46d3a8b0">xb::xbXBase</a></div><div class="ttdeci">class XBDLLEXPORT xbXBase</div><div class="ttdef"><b>Definition:</b> xbssv.h:27</div></div>
+<div class="ttc" id="anamespacexb_html_ab1a750481dd487f0d384aa1d200dff0f"><div class="ttname"><a href="namespacexb.html#ab1a750481dd487f0d384aa1d200dff0f">xb::xbBool</a></div><div class="ttdeci">short int xbBool</div><div class="ttdef"><b>Definition:</b> xbtypes.h:24</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
+</small></address>
+</body>
+</html>