\hypertarget{xbbcd_8h_source}{}\doxysection{xbbcd.\+h}
\label{xbbcd_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbbcd.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.4/src/include/xbbcd.h}}
\mbox{\hyperlink{xbbcd_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 \textcolor{comment}{/*  xbbcd.h}}
\DoxyCodeLine{2 \textcolor{comment}{}}
\DoxyCodeLine{3 \textcolor{comment}{XBase64 Software Library}}
\DoxyCodeLine{4 \textcolor{comment}{}}
\DoxyCodeLine{5 \textcolor{comment}{Copyright (c) 1997,2003,2014, 2018, 2019, 2022 Gary A Kunkel}}
\DoxyCodeLine{6 \textcolor{comment}{}}
\DoxyCodeLine{7 \textcolor{comment}{The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.}}
\DoxyCodeLine{8 \textcolor{comment}{}}
\DoxyCodeLine{9 \textcolor{comment}{Email Contact:}}
\DoxyCodeLine{10 \textcolor{comment}{}}
\DoxyCodeLine{11 \textcolor{comment}{    XDB-\/devel@lists.sourceforge.net}}
\DoxyCodeLine{12 \textcolor{comment}{    XDB-\/users@lists.sourceforge.net}}
\DoxyCodeLine{13 \textcolor{comment}{}}
\DoxyCodeLine{14 \textcolor{comment}{*/}}
\DoxyCodeLine{15 }
\DoxyCodeLine{16 \textcolor{preprocessor}{\#ifndef \_\_XB\_BCD\_H\_\_}}
\DoxyCodeLine{17 \textcolor{preprocessor}{\#define \_\_XB\_BCD\_H\_\_}}
\DoxyCodeLine{18 \textcolor{preprocessor}{\#ifdef XB\_INDEX\_SUPPORT}}
\DoxyCodeLine{19 }
\DoxyCodeLine{21 }
\DoxyCodeLine{22 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
\DoxyCodeLine{23 }
\DoxyCodeLine{24 \textcolor{comment}{// structure for bcd value}}
\DoxyCodeLine{25 \textcolor{comment}{// next structure superceeded.  Different compilers allocate different}}
\DoxyCodeLine{26 \textcolor{comment}{// sizes to structures with bit fields, can't count on the size}}
\DoxyCodeLine{27 }
\DoxyCodeLine{28 \textcolor{comment}{/*}}
\DoxyCodeLine{29 \textcolor{comment}{struct XBDLLEXPORT xbBcdStrucOld \{}}
\DoxyCodeLine{30 \textcolor{comment}{  unsigned SigDigits : 8;            // significant digit count}}
\DoxyCodeLine{31 \textcolor{comment}{  unsigned Filler    : 2;            // always set to 1}}
\DoxyCodeLine{32 \textcolor{comment}{  unsigned EncDigits : 5;            // encoded digit count}}
\DoxyCodeLine{33 \textcolor{comment}{  unsigned Sign      : 1;            // +/-\/ sign}}
\DoxyCodeLine{34 \textcolor{comment}{  unsigned char Data[10];}}
\DoxyCodeLine{35 \textcolor{comment}{\};}}
\DoxyCodeLine{36 \textcolor{comment}{*/}}
\DoxyCodeLine{37 }
\DoxyCodeLine{38 \textcolor{keyword}{struct }XBDLLEXPORT xbBcdStruct \{}
\DoxyCodeLine{39   \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cSigDigits;          \textcolor{comment}{// significant digit count}}
\DoxyCodeLine{40   \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cEncDigits;          \textcolor{comment}{// encoded digit count}}
\DoxyCodeLine{41   \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cData[10];           \textcolor{comment}{// data}}
\DoxyCodeLine{42 \};}
\DoxyCodeLine{43 }
\DoxyCodeLine{44 \textcolor{keyword}{struct }XBDLLEXPORT xbByteSplit \{}
\DoxyCodeLine{45   \textcolor{keywordtype}{unsigned} c1 : 4;}
\DoxyCodeLine{46   \textcolor{keywordtype}{unsigned} c2 : 4;}
\DoxyCodeLine{47 \};}
\DoxyCodeLine{48 }
\DoxyCodeLine{49 \textcolor{keyword}{class }XBDLLEXPORT xbBcd \{}
\DoxyCodeLine{50  \textcolor{keyword}{public}:}
\DoxyCodeLine{51 }
\DoxyCodeLine{52    xbBcd( \textcolor{keyword}{const} xbString \&sIn );}
\DoxyCodeLine{53    xbBcd( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn );}
\DoxyCodeLine{54    xbBcd( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *vBcd12In );}
\DoxyCodeLine{55    \textcolor{keywordtype}{void} Set( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dIn );}
\DoxyCodeLine{56    \textcolor{keywordtype}{void} Set( \textcolor{keyword}{const} \textcolor{keywordtype}{void} *cBcd12In );}
\DoxyCodeLine{57    \textcolor{keywordtype}{void} Set( \textcolor{keyword}{const} xbString \&sIn );}
\DoxyCodeLine{58 }
\DoxyCodeLine{59 }
\DoxyCodeLine{60    \textcolor{keywordtype}{void} ToString( xbString \&sOut );}
\DoxyCodeLine{61    \textcolor{keywordtype}{void} ToDouble( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dOut );}
\DoxyCodeLine{62    \textcolor{keywordtype}{void} ToBcd( xbBcdStruct \&bcdOut );}
\DoxyCodeLine{63    \textcolor{keywordtype}{void} ToChar( \textcolor{keywordtype}{char} *cOut );}
\DoxyCodeLine{64 }
\DoxyCodeLine{65    \textcolor{comment}{// const unsigned char * GetBcd() const;}}
\DoxyCodeLine{66    \textcolor{keywordtype}{void} StringToBcd( \textcolor{keyword}{const} xbString \&sStringIn );}
\DoxyCodeLine{67 }
\DoxyCodeLine{68    xbInt16 Compare( \textcolor{keyword}{const} xbBcd \&bcdIn );}
\DoxyCodeLine{69    xbInt16 Compare( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} d );}
\DoxyCodeLine{70 }
\DoxyCodeLine{71    \textcolor{keyword}{const} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} *GetData() \textcolor{keyword}{const};}
\DoxyCodeLine{72    \textcolor{keyword}{const} \textcolor{keywordtype}{void} * GetBcd() \textcolor{keyword}{const};}
\DoxyCodeLine{73 }
\DoxyCodeLine{74 }
\DoxyCodeLine{75  \textcolor{keyword}{private}:}
\DoxyCodeLine{76    \textcolor{keywordtype}{void} ctor();}
\DoxyCodeLine{77    \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} GetEncDigitsNoSign() \textcolor{keyword}{const};}
\DoxyCodeLine{78    \textcolor{keywordtype}{unsigned} GetSign() \textcolor{keyword}{const};}
\DoxyCodeLine{79    \textcolor{keywordtype}{unsigned} GetSigDigits() \textcolor{keyword}{const};}
\DoxyCodeLine{80    \textcolor{keywordtype}{unsigned} GetActualSigDigits() \textcolor{keyword}{const};}
\DoxyCodeLine{81 }
\DoxyCodeLine{82 }
\DoxyCodeLine{83 \textcolor{comment}{//   xbBcdStruc  bcdOld;}}
\DoxyCodeLine{84    xbBcdStruct bcd;}
\DoxyCodeLine{85 \};}
\DoxyCodeLine{86 }
\DoxyCodeLine{87 \}        \textcolor{comment}{/* namespace xb     */}}
\DoxyCodeLine{88 }
\DoxyCodeLine{89 }
\DoxyCodeLine{91 }
\DoxyCodeLine{92 \textcolor{preprocessor}{\#endif   }\textcolor{comment}{/* XB\_INDEX\_SUPPORT */}\textcolor{preprocessor}{}}
\DoxyCodeLine{93 \textcolor{preprocessor}{\#endif   }\textcolor{comment}{/* \_\_XB\_BCD\_H\_\_   */}\textcolor{preprocessor}{}}

\end{DoxyCode}
