summaryrefslogtreecommitdiff
path: root/docs/doxygen/latex/xblnklstord_8h_source.tex
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/latex/xblnklstord_8h_source.tex')
-rw-r--r--docs/doxygen/latex/xblnklstord_8h_source.tex373
1 files changed, 0 insertions, 373 deletions
diff --git a/docs/doxygen/latex/xblnklstord_8h_source.tex b/docs/doxygen/latex/xblnklstord_8h_source.tex
deleted file mode 100644
index a94bd82..0000000
--- a/docs/doxygen/latex/xblnklstord_8h_source.tex
+++ /dev/null
@@ -1,373 +0,0 @@
-\hypertarget{xblnklstord_8h_source}{}\doxysection{xblnklstord.\+h}
-\label{xblnklstord_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.1.0/src/include/xblnklstord.h@{/mnt/1Tdata/xbase/xbase64-\/4.1.0/src/include/xblnklstord.h}}
-\mbox{\hyperlink{xblnklstord_8h}{Go to the documentation of this file.}}
-\begin{DoxyCode}{0}
-\DoxyCodeLine{1 \textcolor{comment}{/* xblnklstord.h}}
-\DoxyCodeLine{2 \textcolor{comment}{}}
-\DoxyCodeLine{3 \textcolor{comment}{XBase64 Software Library}}
-\DoxyCodeLine{4 \textcolor{comment}{}}
-\DoxyCodeLine{5 \textcolor{comment}{Copyright (c) 1997,2003,2014,2019,2022 Gary A Kunkel}}
-\DoxyCodeLine{6 \textcolor{comment}{}}
-\DoxyCodeLine{7 \textcolor{comment}{The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.}}
-\DoxyCodeLine{8 \textcolor{comment}{}}
-\DoxyCodeLine{9 \textcolor{comment}{Email Contact:}}
-\DoxyCodeLine{10 \textcolor{comment}{}}
-\DoxyCodeLine{11 \textcolor{comment}{ XDB-\/devel@lists.sourceforge.net}}
-\DoxyCodeLine{12 \textcolor{comment}{ XDB-\/users@lists.sourceforge.net}}
-\DoxyCodeLine{13 \textcolor{comment}{}}
-\DoxyCodeLine{14 \textcolor{comment}{*/}}
-\DoxyCodeLine{15 }
-\DoxyCodeLine{16 }
-\DoxyCodeLine{17 \textcolor{comment}{// Ordered link list}}
-\DoxyCodeLine{18 }
-\DoxyCodeLine{19 }
-\DoxyCodeLine{20 }
-\DoxyCodeLine{21 \textcolor{preprocessor}{\#ifndef \_\_XB\_XBLNKLSTORD\_H\_\_}}
-\DoxyCodeLine{22 \textcolor{preprocessor}{\#define \_\_XB\_XBLNKLSTORD\_H\_\_}}
-\DoxyCodeLine{23 }
-\DoxyCodeLine{24 \textcolor{preprocessor}{\#ifdef XB\_LINKLIST\_SUPPORT}}
-\DoxyCodeLine{25 }
-\DoxyCodeLine{26 }
-\DoxyCodeLine{27 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
-\DoxyCodeLine{28 }
-\DoxyCodeLine{29 }
-\DoxyCodeLine{30 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{31 \textcolor{keyword}{class }XBDLLEXPORT xbLinkListOrd \{}
-\DoxyCodeLine{32 \textcolor{keyword}{public}:}
-\DoxyCodeLine{33 xbLinkListOrd();}
-\DoxyCodeLine{34 \string~xbLinkListOrd();}
-\DoxyCodeLine{35 }
-\DoxyCodeLine{36 \textcolor{keywordtype}{void} Clear();}
-\DoxyCodeLine{37 xbLinkListNode<xbNodeType> *GetHeadNode() \textcolor{keyword}{const};}
-\DoxyCodeLine{38 xbLinkListNode<xbNodeType> *GetEndNode() \textcolor{keyword}{const};}
-\DoxyCodeLine{39 xbLinkListNode<xbNodeType> *GetNodeForKey( \textcolor{keyword}{const} xbString \&sKey ) \textcolor{keyword}{const};}
-\DoxyCodeLine{40 }
-\DoxyCodeLine{41 xbInt16 GetDataForKey ( \textcolor{keyword}{const} xbNodeType \&ntKey, xbString \&sData );}
-\DoxyCodeLine{42 }
-\DoxyCodeLine{43 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetDupKeys ();}
-\DoxyCodeLine{44 }
-\DoxyCodeLine{45 xbUInt32 GetNodeCnt () \textcolor{keyword}{const};}
-\DoxyCodeLine{46 xbUInt32 GetNodeCnt ( \textcolor{keyword}{const} xbString \&sNodeKey ) \textcolor{keyword}{const};}
-\DoxyCodeLine{47 xbInt16 InsertKey ( \textcolor{keyword}{const} xbNodeType \&ntKey );}
-\DoxyCodeLine{48 xbInt16 InsertKey ( \textcolor{keyword}{const} xbNodeType \&ntKey, \textcolor{keyword}{const} xbString \&sData );}
-\DoxyCodeLine{49 xbInt16 InsertKey ( \textcolor{keyword}{const} xbNodeType \&ntKey, xbUInt32 ulData );}
-\DoxyCodeLine{50 }
-\DoxyCodeLine{51 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} KeyExists ( \textcolor{keyword}{const} xbNodeType \&ntKey ) \textcolor{keyword}{const};}
-\DoxyCodeLine{52 xbInt16 RemoveKey ( \textcolor{keyword}{const} xbNodeType \&ntKey );}
-\DoxyCodeLine{53 xbInt16 RemoveFromEnd ( xbNodeType \&ntKey );}
-\DoxyCodeLine{54 xbInt16 RemoveFromFront( xbNodeType \&ntKey );}
-\DoxyCodeLine{55 xbInt16 RemoveFromFront();}
-\DoxyCodeLine{56 \textcolor{keywordtype}{void} SetDupKeys ( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bAllowDupKeys );}
-\DoxyCodeLine{57 xbInt16 UpdateForKey ( \textcolor{keyword}{const} xbNodeType \&ntKey, \textcolor{keyword}{const} xbString \&sData );}
-\DoxyCodeLine{58 }
-\DoxyCodeLine{59 }
-\DoxyCodeLine{60 \textcolor{keyword}{private}:}
-\DoxyCodeLine{61 xbUInt32 ulNodeCnt;}
-\DoxyCodeLine{62 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bAllowDupKeys;}
-\DoxyCodeLine{63 xbLinkListNode<xbNodeType> *llStartPtr;}
-\DoxyCodeLine{64 xbLinkListNode<xbNodeType> *llEndPtr;}
-\DoxyCodeLine{65 }
-\DoxyCodeLine{66 \};}
-\DoxyCodeLine{67 }
-\DoxyCodeLine{68 }
-\DoxyCodeLine{69 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{70 xbLinkListOrd<xbNodeType>::xbLinkListOrd()\{}
-\DoxyCodeLine{71 bAllowDupKeys = \mbox{\hyperlink{xbtypes_8h_ab0ae00665298fe7f5292691cb98ec2d9}{xbTrue}}; \textcolor{comment}{// default setting -\/ allow duplicate keys}}
-\DoxyCodeLine{72 ulNodeCnt = 0;}
-\DoxyCodeLine{73 llStartPtr = NULL;}
-\DoxyCodeLine{74 llEndPtr = NULL;}
-\DoxyCodeLine{75 \}}
-\DoxyCodeLine{76 }
-\DoxyCodeLine{77 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{78 xbLinkListOrd<xbNodeType>::\string~xbLinkListOrd()\{}
-\DoxyCodeLine{79 Clear();}
-\DoxyCodeLine{80 \}}
-\DoxyCodeLine{81 }
-\DoxyCodeLine{82 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{83 \textcolor{keywordtype}{void} xbLinkListOrd<xbNodeType>::Clear()\{}
-\DoxyCodeLine{84 xbLinkListNode<xbNodeType> *cPtr = llStartPtr, *tPtr;}
-\DoxyCodeLine{85 \textcolor{keywordflow}{for}( xbUInt32 i = 0; i < ulNodeCnt; i++ )\{}
-\DoxyCodeLine{86 tPtr = cPtr;}
-\DoxyCodeLine{87 cPtr = cPtr-\/>GetNextNode();}
-\DoxyCodeLine{88 }
-\DoxyCodeLine{89 \textcolor{comment}{// next line might cause seg faults}}
-\DoxyCodeLine{90 \textcolor{comment}{// delete tPtr-\/>GetData();}}
-\DoxyCodeLine{91 }
-\DoxyCodeLine{92 \textcolor{keyword}{delete} tPtr;}
-\DoxyCodeLine{93 \}}
-\DoxyCodeLine{94 ulNodeCnt = 0;}
-\DoxyCodeLine{95 llStartPtr = NULL;}
-\DoxyCodeLine{96 llEndPtr = NULL;}
-\DoxyCodeLine{97 \}}
-\DoxyCodeLine{98 }
-\DoxyCodeLine{99 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{100 xbLinkListNode<xbNodeType> * xbLinkListOrd<xbNodeType>::GetHeadNode()\textcolor{keyword}{ const}\{}
-\DoxyCodeLine{101 \textcolor{keywordflow}{return} llStartPtr;}
-\DoxyCodeLine{102 \}}
-\DoxyCodeLine{103 }
-\DoxyCodeLine{104 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{105 xbLinkListNode<xbNodeType> * xbLinkListOrd<xbNodeType>::GetEndNode()\textcolor{keyword}{ const}\{}
-\DoxyCodeLine{106 \textcolor{keywordflow}{return} llEndPtr;}
-\DoxyCodeLine{107 \}}
-\DoxyCodeLine{108 }
-\DoxyCodeLine{109 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{110 xbUInt32 xbLinkListOrd<xbNodeType>::GetNodeCnt()\textcolor{keyword}{ const}\{}
-\DoxyCodeLine{111 \textcolor{keywordflow}{return} ulNodeCnt;}
-\DoxyCodeLine{112 \}}
-\DoxyCodeLine{113 }
-\DoxyCodeLine{114 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{115 xbUInt32 xbLinkListOrd<xbNodeType>::GetNodeCnt( \textcolor{keyword}{const} xbString \&sNodeKey )\textcolor{keyword}{ const}\{}
-\DoxyCodeLine{116 }
-\DoxyCodeLine{117 \textcolor{comment}{// won't work if nodekey is not a string}}
-\DoxyCodeLine{118 xbLinkListNode<xbNodeType> *currPtr = llStartPtr;}
-\DoxyCodeLine{119 \textcolor{comment}{// skip to sNodeKey}}
-\DoxyCodeLine{120 \textcolor{keywordflow}{while}( currPtr \&\& ( sNodeKey > currPtr-\/>GetKey())) \{}
-\DoxyCodeLine{121 currPtr = currPtr-\/>GetNextNode();}
-\DoxyCodeLine{122 \}}
-\DoxyCodeLine{123 \textcolor{comment}{// count entries for sNodeKey}}
-\DoxyCodeLine{124 xbInt16 iKeyCnt = 0;}
-\DoxyCodeLine{125 \textcolor{keywordflow}{while}( currPtr \&\& ( sNodeKey == currPtr-\/>GetKey())) \{}
-\DoxyCodeLine{126 iKeyCnt++;}
-\DoxyCodeLine{127 currPtr = currPtr-\/>GetNextNode();}
-\DoxyCodeLine{128 \}}
-\DoxyCodeLine{129 \textcolor{keywordflow}{return} iKeyCnt;}
-\DoxyCodeLine{130 \}}
-\DoxyCodeLine{131 }
-\DoxyCodeLine{132 }
-\DoxyCodeLine{133 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{134 xbInt16 xbLinkListOrd<xbNodeType>::InsertKey( \textcolor{keyword}{const} xbNodeType \&ntKey )\{}
-\DoxyCodeLine{135 xbString s;}
-\DoxyCodeLine{136 \textcolor{keywordflow}{return} InsertKey( ntKey, s );}
-\DoxyCodeLine{137 \}}
-\DoxyCodeLine{138 }
-\DoxyCodeLine{139 }
-\DoxyCodeLine{140 }
-\DoxyCodeLine{141 }
-\DoxyCodeLine{142 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{143 xbInt16 xbLinkListOrd<xbNodeType>::InsertKey( \textcolor{keyword}{const} xbNodeType \&ntKey, xbUInt32 ul )\{}
-\DoxyCodeLine{144 }
-\DoxyCodeLine{145 xbString s;}
-\DoxyCodeLine{146 s.Sprintf( \textcolor{stringliteral}{"{}\%ld"{}}, ul );}
-\DoxyCodeLine{147 \textcolor{keywordflow}{return} InsertKey( ntKey, s );}
-\DoxyCodeLine{148 \}}
-\DoxyCodeLine{149 }
-\DoxyCodeLine{150 }
-\DoxyCodeLine{151 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{152 xbInt16 xbLinkListOrd<xbNodeType>::InsertKey( \textcolor{keyword}{const} xbNodeType \&ntKey, \textcolor{keyword}{const} xbString \&sData )\{}
-\DoxyCodeLine{153 }
-\DoxyCodeLine{154 xbLinkListNode<xbNodeType> *p = \textcolor{keyword}{new} xbLinkListNode<xbNodeType>( ntKey, sData );}
-\DoxyCodeLine{155 \textcolor{keywordflow}{if}( p == 0 )}
-\DoxyCodeLine{156 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ae687fc7d872ba0475a8477e4447f9b54}{XB\_NO\_MEMORY}};}
-\DoxyCodeLine{157 }
-\DoxyCodeLine{158 \textcolor{keywordflow}{if}( ulNodeCnt > 0 )\{}
-\DoxyCodeLine{159 xbLinkListNode<xbNodeType> *currPtr = llStartPtr;}
-\DoxyCodeLine{160 xbLinkListNode<xbNodeType> *prevPtr = NULL;}
-\DoxyCodeLine{161 }
-\DoxyCodeLine{162 \textcolor{comment}{// find location in the chain}}
-\DoxyCodeLine{163 \textcolor{keywordflow}{while}( currPtr \&\& ntKey > currPtr-\/>GetKey() )\{}
-\DoxyCodeLine{164 prevPtr = currPtr;}
-\DoxyCodeLine{165 currPtr = currPtr-\/>GetNextNode();}
-\DoxyCodeLine{166 \}}
-\DoxyCodeLine{167 \textcolor{keywordflow}{if}( currPtr \&\& ntKey == currPtr-\/>GetKey() \&\& bAllowDupKeys == 0 )\{}
-\DoxyCodeLine{168 \textcolor{keyword}{delete} p;}
-\DoxyCodeLine{169 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ad60dbb1862c0c1c2dc0464cfbfd93a34}{XB\_KEY\_NOT\_UNIQUE}};}
-\DoxyCodeLine{170 \}}
-\DoxyCodeLine{171 }
-\DoxyCodeLine{172 \textcolor{keywordflow}{if}( currPtr == NULL )\{}
-\DoxyCodeLine{173 \textcolor{comment}{// std::cout << "{}at the end of the chain\(\backslash\)n"{};}}
-\DoxyCodeLine{174 llEndPtr = p;}
-\DoxyCodeLine{175 prevPtr-\/>SetNextNode( p );}
-\DoxyCodeLine{176 p-\/>SetPrevNode( prevPtr );}
-\DoxyCodeLine{177 }
-\DoxyCodeLine{178 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if}( currPtr-\/>GetPrevNode() == NULL )\{}
-\DoxyCodeLine{179 \textcolor{comment}{// std::cout << "{}at the beginning of the chain\(\backslash\)n"{};}}
-\DoxyCodeLine{180 p-\/>SetNextNode( llStartPtr );}
-\DoxyCodeLine{181 llStartPtr-\/>SetPrevNode( p );}
-\DoxyCodeLine{182 llStartPtr = p;}
-\DoxyCodeLine{183 }
-\DoxyCodeLine{184 \} \textcolor{keywordflow}{else} \{}
-\DoxyCodeLine{185 \textcolor{comment}{// std::cout << "{}in the middle of the chain\(\backslash\)n"{};}}
-\DoxyCodeLine{186 p-\/>SetNextNode( currPtr ); }
-\DoxyCodeLine{187 p-\/>SetPrevNode( currPtr-\/>GetPrevNode());}
-\DoxyCodeLine{188 currPtr-\/>SetPrevNode( p );}
-\DoxyCodeLine{189 prevPtr-\/>SetNextNode( p );}
-\DoxyCodeLine{190 \}}
-\DoxyCodeLine{191 \} \textcolor{keywordflow}{else} \{}
-\DoxyCodeLine{192 \textcolor{comment}{// std::cout << "{}first addition to the chain\(\backslash\)n"{};}}
-\DoxyCodeLine{193 llStartPtr = p;}
-\DoxyCodeLine{194 llEndPtr = p;}
-\DoxyCodeLine{195 \}}
-\DoxyCodeLine{196 ulNodeCnt++;}
-\DoxyCodeLine{197 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
-\DoxyCodeLine{198 \}}
-\DoxyCodeLine{199 }
-\DoxyCodeLine{200 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{201 xbInt16 xbLinkListOrd<xbNodeType>::RemoveKey( \textcolor{keyword}{const} xbNodeType \&ntKey )\{}
-\DoxyCodeLine{202 \textcolor{comment}{// Remove the first instance of ntKey from the node chain}}
-\DoxyCodeLine{203 xbLinkListNode<xbNodeType> *currPtr = llStartPtr;}
-\DoxyCodeLine{204 xbLinkListNode<xbNodeType> *prevPtr = NULL;}
-\DoxyCodeLine{205 }
-\DoxyCodeLine{206 \textcolor{keywordflow}{while}( currPtr \&\& ntKey > currPtr-\/>GetKey() )\{}
-\DoxyCodeLine{207 prevPtr = currPtr;}
-\DoxyCodeLine{208 currPtr = currPtr-\/>GetNextNode();}
-\DoxyCodeLine{209 \}}
-\DoxyCodeLine{210 }
-\DoxyCodeLine{211 \textcolor{keywordflow}{if}( currPtr \&\& ntKey == currPtr-\/>GetKey())\{}
-\DoxyCodeLine{212 \textcolor{comment}{// ntKey = currPtr-\/>GetKey();}}
-\DoxyCodeLine{213 \textcolor{keywordflow}{if}( prevPtr == NULL )\{ \textcolor{comment}{// this is the first node}}
-\DoxyCodeLine{214 llStartPtr = currPtr-\/>GetNextNode();}
-\DoxyCodeLine{215 \textcolor{comment}{// next line fails}}
-\DoxyCodeLine{216 \textcolor{keywordflow}{if}( llStartPtr )\{}
-\DoxyCodeLine{217 llStartPtr-\/>SetPrevNode( NULL );}
-\DoxyCodeLine{218 \}}
-\DoxyCodeLine{219 \textcolor{keyword}{delete} currPtr;}
-\DoxyCodeLine{220 ulNodeCnt-\/-\/;}
-\DoxyCodeLine{221 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
-\DoxyCodeLine{222 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if}( currPtr-\/>GetNextNode() == NULL )\{ \textcolor{comment}{// this is the last node}}
-\DoxyCodeLine{223 llEndPtr = prevPtr;}
-\DoxyCodeLine{224 prevPtr-\/>SetNextNode( NULL );}
-\DoxyCodeLine{225 \textcolor{keyword}{delete} currPtr;}
-\DoxyCodeLine{226 ulNodeCnt-\/-\/;}
-\DoxyCodeLine{227 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
-\DoxyCodeLine{228 \} \textcolor{keywordflow}{else} \{}
-\DoxyCodeLine{229 }
-\DoxyCodeLine{230 prevPtr-\/>SetNextNode( currPtr-\/>GetNextNode());}
-\DoxyCodeLine{231 currPtr-\/>GetNextNode()-\/>SetPrevNode( prevPtr );}
-\DoxyCodeLine{232 \textcolor{keyword}{delete} currPtr;}
-\DoxyCodeLine{233 ulNodeCnt-\/-\/;}
-\DoxyCodeLine{234 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
-\DoxyCodeLine{235 \}}
-\DoxyCodeLine{236 \} \textcolor{keywordflow}{else} \{}
-\DoxyCodeLine{237 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac2606659a54111334f5b02861e533700}{XB\_NOT\_FOUND}};}
-\DoxyCodeLine{238 \}}
-\DoxyCodeLine{239 \}}
-\DoxyCodeLine{240 }
-\DoxyCodeLine{241 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{242 xbInt16 xbLinkListOrd<xbNodeType>::RemoveFromFront( xbNodeType \&ntKey )\{}
-\DoxyCodeLine{243 }
-\DoxyCodeLine{244 \textcolor{keywordflow}{if}( ulNodeCnt <= 0 )}
-\DoxyCodeLine{245 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_a13e6876470bd34c8c4e5533f115e04eb}{XB\_INVALID\_NODELINK}};}
-\DoxyCodeLine{246 xbLinkListNode<xbNodeType> *p = llStartPtr;}
-\DoxyCodeLine{247 llStartPtr = p-\/>GetNextNode();}
-\DoxyCodeLine{248 \textcolor{keywordflow}{if}( llStartPtr )}
-\DoxyCodeLine{249 llStartPtr-\/>SetPrevNode( NULL );}
-\DoxyCodeLine{250 ntKey = p-\/>GetKey();}
-\DoxyCodeLine{251 \textcolor{keyword}{delete} p;}
-\DoxyCodeLine{252 ulNodeCnt-\/-\/;}
-\DoxyCodeLine{253 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
-\DoxyCodeLine{254 \}}
-\DoxyCodeLine{255 }
-\DoxyCodeLine{256 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{257 xbInt16 xbLinkListOrd<xbNodeType>::RemoveFromFront()\{}
-\DoxyCodeLine{258 }
-\DoxyCodeLine{259 \textcolor{keywordflow}{if}( ulNodeCnt <= 0 )}
-\DoxyCodeLine{260 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_a13e6876470bd34c8c4e5533f115e04eb}{XB\_INVALID\_NODELINK}};}
-\DoxyCodeLine{261 xbLinkListNode<xbNodeType> *p = llStartPtr;}
-\DoxyCodeLine{262 llStartPtr = p-\/>GetNextNode();}
-\DoxyCodeLine{263 \textcolor{keywordflow}{if}( llStartPtr )}
-\DoxyCodeLine{264 llStartPtr-\/>SetPrevNode( NULL );}
-\DoxyCodeLine{265 }
-\DoxyCodeLine{266 \textcolor{keywordflow}{if}( p-\/>GetKey())}
-\DoxyCodeLine{267 \textcolor{keyword}{delete} p-\/>GetKey();}
-\DoxyCodeLine{268 }
-\DoxyCodeLine{269 \textcolor{keyword}{delete} p;}
-\DoxyCodeLine{270 ulNodeCnt-\/-\/;}
-\DoxyCodeLine{271 }
-\DoxyCodeLine{272 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
-\DoxyCodeLine{273 \}}
-\DoxyCodeLine{274 }
-\DoxyCodeLine{275 }
-\DoxyCodeLine{276 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{277 xbInt16 xbLinkListOrd<xbNodeType>::RemoveFromEnd( xbNodeType \&ntKey )\{}
-\DoxyCodeLine{278 }
-\DoxyCodeLine{279 \textcolor{keywordflow}{if}( ulNodeCnt <= 0 )}
-\DoxyCodeLine{280 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_a13e6876470bd34c8c4e5533f115e04eb}{XB\_INVALID\_NODELINK}};}
-\DoxyCodeLine{281 xbLinkListNode<xbNodeType> *p = llEndPtr;}
-\DoxyCodeLine{282 llEndPtr = p-\/>GetPrevNode();}
-\DoxyCodeLine{283 llEndPtr-\/>SetNextNode( NULL );}
-\DoxyCodeLine{284 ntKey = p-\/>GetKey();}
-\DoxyCodeLine{285 \textcolor{keyword}{delete} p;}
-\DoxyCodeLine{286 ulNodeCnt-\/-\/;}
-\DoxyCodeLine{287 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
-\DoxyCodeLine{288 \}}
-\DoxyCodeLine{289 }
-\DoxyCodeLine{290 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{291 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} xbLinkListOrd<xbNodeType>::GetDupKeys()\{}
-\DoxyCodeLine{292 \textcolor{keywordflow}{return} bAllowDupKeys;}
-\DoxyCodeLine{293 \}}
-\DoxyCodeLine{294 }
-\DoxyCodeLine{295 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{296 \textcolor{keywordtype}{void} xbLinkListOrd<xbNodeType>::SetDupKeys( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bAllowDupKeys )\{}
-\DoxyCodeLine{297 this-\/>bAllowDupKeys = bAllowDupKeys;}
-\DoxyCodeLine{298 \}}
-\DoxyCodeLine{299 }
-\DoxyCodeLine{300 }
-\DoxyCodeLine{301 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{302 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} xbLinkListOrd<xbNodeType>::KeyExists( \textcolor{keyword}{const} xbNodeType \&ntKey )\textcolor{keyword}{ const }\{}
-\DoxyCodeLine{303 }
-\DoxyCodeLine{304 xbLinkListNode<xbNodeType> *currPtr = llStartPtr;}
-\DoxyCodeLine{305 \textcolor{keywordflow}{while}( currPtr \&\& ntKey > currPtr-\/>GetKey() )\{}
-\DoxyCodeLine{306 currPtr = currPtr-\/>GetNextNode();}
-\DoxyCodeLine{307 \}}
-\DoxyCodeLine{308 \textcolor{keywordflow}{if}( currPtr \&\& ntKey == currPtr-\/>GetKey())\{}
-\DoxyCodeLine{309 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbtypes_8h_ab0ae00665298fe7f5292691cb98ec2d9}{xbTrue}};}
-\DoxyCodeLine{310 \} \textcolor{keywordflow}{else} \{}
-\DoxyCodeLine{311 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbtypes_8h_adc4b6ca5ad299f63675136d9e03938cc}{xbFalse}};}
-\DoxyCodeLine{312 \}}
-\DoxyCodeLine{313 \}}
-\DoxyCodeLine{314 }
-\DoxyCodeLine{315 }
-\DoxyCodeLine{316 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{317 xbInt16 xbLinkListOrd<xbNodeType>::GetDataForKey( \textcolor{keyword}{const} xbNodeType \&ntKey, xbString \&sData )\{}
-\DoxyCodeLine{318 }
-\DoxyCodeLine{319 xbLinkListNode<xbNodeType> *currPtr = llStartPtr;}
-\DoxyCodeLine{320 \textcolor{keywordflow}{while}( currPtr \&\& ntKey > currPtr-\/>GetKey() )\{}
-\DoxyCodeLine{321 currPtr = currPtr-\/>GetNextNode();}
-\DoxyCodeLine{322 \}}
-\DoxyCodeLine{323 }
-\DoxyCodeLine{324 \textcolor{keywordflow}{if}( currPtr \&\& ntKey == currPtr-\/>GetKey())\{}
-\DoxyCodeLine{325 sData = currPtr-\/>GetData();}
-\DoxyCodeLine{326 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
-\DoxyCodeLine{327 \} \textcolor{keywordflow}{else} \{}
-\DoxyCodeLine{328 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac2606659a54111334f5b02861e533700}{XB\_NOT\_FOUND}};}
-\DoxyCodeLine{329 \}}
-\DoxyCodeLine{330 \}}
-\DoxyCodeLine{331 }
-\DoxyCodeLine{332 }
-\DoxyCodeLine{333 \textcolor{keyword}{template}<\textcolor{keyword}{class} xbNodeType>}
-\DoxyCodeLine{334 xbInt16 xbLinkListOrd<xbNodeType>::UpdateForKey( \textcolor{keyword}{const} xbNodeType \&ntKey, \textcolor{keyword}{const} xbString \&sData )\{}
-\DoxyCodeLine{335 }
-\DoxyCodeLine{336 \textcolor{keywordflow}{if}( ulNodeCnt == 0 )}
-\DoxyCodeLine{337 \textcolor{keywordflow}{return} InsertKey( ntKey, sData );}
-\DoxyCodeLine{338 xbLinkListNode<xbNodeType> * currPtr = llStartPtr;}
-\DoxyCodeLine{339 xbLinkListNode<xbNodeType> * prevPtr = NULL;}
-\DoxyCodeLine{340 \textcolor{keywordflow}{while}( currPtr \&\& ntKey > currPtr-\/>GetKey() ) \{}
-\DoxyCodeLine{341 prevPtr = currPtr;}
-\DoxyCodeLine{342 currPtr = currPtr-\/>GetNextNode();}
-\DoxyCodeLine{343 \}}
-\DoxyCodeLine{344 }
-\DoxyCodeLine{345 \textcolor{keywordflow}{if}( currPtr \&\& ntKey == currPtr-\/>GetKey() ) \{}
-\DoxyCodeLine{346 xbLinkListNode<xbNodeType> *p = \textcolor{keyword}{new} xbLinkListNode<xbNodeType>( ntKey, sData );}
-\DoxyCodeLine{347 \textcolor{keywordflow}{if}( prevPtr )}
-\DoxyCodeLine{348 prevPtr-\/>SetNextNode( p );}
-\DoxyCodeLine{349 \textcolor{keywordflow}{else}}
-\DoxyCodeLine{350 llStartPtr = p;}
-\DoxyCodeLine{351 p-\/>SetNextNode( currPtr-\/>GetNextNode() );}
-\DoxyCodeLine{352 p-\/>SetPrevNode( currPtr-\/>GetPrevNode() );}
-\DoxyCodeLine{353 \textcolor{keyword}{delete} currPtr;}
-\DoxyCodeLine{354 \textcolor{keywordflow}{return} \mbox{\hyperlink{xbretcod_8h_ac720d5b4ec45bfd606f5865d40816e23}{XB\_NO\_ERROR}};}
-\DoxyCodeLine{355 \}}
-\DoxyCodeLine{356 }
-\DoxyCodeLine{357 \textcolor{keywordflow}{return} InsertKey( ntKey, sData );}
-\DoxyCodeLine{358 }
-\DoxyCodeLine{359 \textcolor{comment}{// return 0;}}
-\DoxyCodeLine{360 \}}
-\DoxyCodeLine{361 }
-\DoxyCodeLine{362 \} \textcolor{comment}{// namespace}}
-\DoxyCodeLine{363 }
-\DoxyCodeLine{364 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_LINKLIST\_SUPPORT}}
-\DoxyCodeLine{365 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_XBLNKLSTORD\_H\_\_}}
-\DoxyCodeLine{366 }
-\DoxyCodeLine{367 }
-
-\end{DoxyCode}