From bfa452a375ea0a0a3f95304a69186936567e5263 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 14 Aug 2023 19:45:36 +0200 Subject: New upstream version 4.1.4 --- docs/doxygen/html/xblnklst_8h_source.html | 341 ------------------------------ 1 file changed, 341 deletions(-) delete mode 100644 docs/doxygen/html/xblnklst_8h_source.html (limited to 'docs/doxygen/html/xblnklst_8h_source.html') diff --git a/docs/doxygen/html/xblnklst_8h_source.html b/docs/doxygen/html/xblnklst_8h_source.html deleted file mode 100644 index c8ed015..0000000 --- a/docs/doxygen/html/xblnklst_8h_source.html +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - -Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.0/src/include/xblnklst.h Source File - - - - - - - - - -
-
- - - - - - -
-
Xbase64 4.0.1 -
-
C++ Library for handling Xbase (DBF) format type files
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
xblnklst.h
-
-
-Go to the documentation of this file.
1/* xblnklst.h
-
2
-
3XBase64 Software Library
-
4
-
5Copyright (c) 1997,2003,2014,2022 Gary A Kunkel
-
6
-
7The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.
-
8
-
9Email Contact:
-
10
-
11 XDB-devel@lists.sourceforge.net
-
12 XDB-users@lists.sourceforge.net
-
13
-
14*/
-
15
-
16
-
17#ifndef __XB_XBLNKLST_H__
-
18#define __XB_XBLNKLST_H__
-
19
-
20#ifdef XB_LINKLIST_SUPPORT
-
21
-
22namespace xb{
-
23
-
24
-
25template<class xbNodeType>
-
26class XBDLLEXPORT xbLinkList {
-
27 public:
-
28 xbLinkList();
-
29 ~xbLinkList();
-
30
-
31 xbLinkListNode<xbNodeType> *GetHeadNode() const;
-
32 xbLinkListNode<xbNodeType> *GetEndNode() const;
-
33 xbLinkListNode<xbNodeType> *GetNodeForNo( xbUInt32 ulNodeNo ) const;
-
34
-
35 void Clear();
-
36 xbUInt32 GetNodeCnt () const;
-
37 xbInt16 InsertAtEnd ( const xbNodeType &xbLLN );
-
38 xbInt16 InsertAtFront ( const xbNodeType &xbLLN );
-
39 xbInt16 RemoveByVal ( const xbNodeType &xbLLN );
-
40 xbInt16 RemoveFromEnd ();
-
41 xbInt16 RemoveFromEnd ( xbNodeType &xbLLN );
-
42 xbInt16 RemoveFromFront( xbNodeType &xbLLN );
-
43 xbInt16 SearchFor ( const xbNodeType &xbLLN );
-
44
-
45 private:
-
46 xbUInt32 ulNodeCnt;
-
47 xbLinkListNode<xbNodeType> *llStartPtr;
-
48 xbLinkListNode<xbNodeType> *llEndPtr;
-
49};
-
50
-
51template<class xbNodeType>
-
52xbLinkList<xbNodeType>::xbLinkList(){
-
53 ulNodeCnt = 0;
-
54 llStartPtr = NULL;
-
55 llEndPtr = NULL;
-
56}
-
57
-
58template<class xbNodeType>
-
59xbLinkList<xbNodeType>::~xbLinkList(){
-
60 Clear();
-
61}
-
62
-
63template<class xbNodeType>
-
64void xbLinkList<xbNodeType>::Clear(){
-
65 xbLinkListNode<xbNodeType> *cPtr = llStartPtr, *tPtr;
-
66 for( xbUInt32 i = 0; i < ulNodeCnt; i++ ){
-
67 tPtr = cPtr;
-
68 cPtr = cPtr->GetNextNode();
-
69 delete tPtr;
-
70 }
-
71 ulNodeCnt = 0;
-
72 llStartPtr = NULL;
-
73 llEndPtr = NULL;
-
74}
-
75
-
76
-
77template<class xbNodeType>
-
78xbLinkListNode<xbNodeType> *xbLinkList<xbNodeType>::GetHeadNode() const{
-
79 return llStartPtr;
-
80}
-
81
-
82template<class xbNodeType>
-
83xbLinkListNode<xbNodeType> *xbLinkList<xbNodeType>::GetEndNode() const{
-
84 return llEndPtr;
-
85}
-
86
-
87
-
88template<class xbNodeType>
-
89xbLinkListNode<xbNodeType> *xbLinkList<xbNodeType>::GetNodeForNo( xbUInt32 ulNo ) const{
-
90
-
91 xbLinkListNode<xbNodeType> *cPtr = llStartPtr;
-
92 xbUInt32 i;
-
93 for( i = 0; i < ulNo && i < ulNodeCnt; i++ )
-
94 cPtr = cPtr->GetNextNode();
-
95
-
96 if( i == ulNo )
-
97 return cPtr;
-
98 else
-
99 return 0;
-
100}
-
101
-
102
-
103
-
104template<class xbNodeType>
-
105xbUInt32 xbLinkList<xbNodeType>::GetNodeCnt() const{
-
106 return ulNodeCnt;
-
107}
-
108
-
109template<class xbNodeType>
-
110xbInt16 xbLinkList<xbNodeType>::InsertAtFront( const xbNodeType & ntKey ){
-
111
-
112 xbLinkListNode<xbNodeType> *p = new xbLinkListNode<xbNodeType>( ntKey );
-
113 if( p == 0 )
-
114 return XB_NO_MEMORY;
-
115
-
116 if( ulNodeCnt > 0 ){
-
117 llStartPtr->SetPrevNode( p );
-
118 p->SetNextNode( llStartPtr );
-
119 } else {
-
120 llEndPtr = p;
-
121 }
-
122
-
123 llStartPtr = p;
-
124 ulNodeCnt++;
-
125 return XB_NO_ERROR;
-
126}
-
127
-
128template<class xbNodeType>
-
129xbInt16 xbLinkList<xbNodeType>::InsertAtEnd( const xbNodeType & ntKey ){
-
130
-
131 xbLinkListNode<xbNodeType> *p = new xbLinkListNode<xbNodeType>( ntKey );
-
132 if( p == 0 )
-
133 return XB_NO_MEMORY;
-
134
-
135 if( ulNodeCnt > 0 ){
-
136 llEndPtr->SetNextNode( p );
-
137 p->SetPrevNode( llEndPtr );
-
138 llEndPtr = p;
-
139 } else {
-
140 llStartPtr = p;
-
141 }
-
142
-
143 llEndPtr = p;
-
144 ulNodeCnt++;
-
145 return XB_NO_ERROR;
-
146}
-
147
-
148
-
149
-
150template<class xbNodeType>
-
151xbInt16 xbLinkList<xbNodeType>::RemoveByVal( const xbNodeType & ntKey ){
-
152 // Remove the first instance of ntKey from the node chain
-
153 xbLinkListNode<xbNodeType> *currPtr = llStartPtr;
-
154 xbLinkListNode<xbNodeType> *prevPtr = NULL;
-
155
-
156 for( xbUInt32 i = 0; i < ulNodeCnt; i++ ){
-
157 if( currPtr->GetKey() == ntKey ){
-
158 if( prevPtr == NULL ){ //then this is the first node
-
159 llStartPtr = currPtr->GetNextNode();
-
160 if( llStartPtr ) // if more than one link in the linked list
-
161 llStartPtr->SetPrevNode( NULL );
-
162 delete currPtr;
-
163 ulNodeCnt--;
-
164 return i + 1;
-
165 }
-
166 else {
-
167 prevPtr->SetNextNode( currPtr->GetNextNode());
-
168 if( currPtr->GetNextNode())
-
169 currPtr->GetNextNode()->SetPrevNode( prevPtr );
-
170 delete currPtr;
-
171 ulNodeCnt--;
-
172 return i + 1;
-
173 }
-
174 }
-
175 prevPtr = currPtr;
-
176 currPtr = currPtr->GetNextNode();
-
177 }
-
178 return XB_NOT_FOUND;
-
179}
-
180
-
181
-
182template<class xbNodeType>
-
183xbInt16 xbLinkList<xbNodeType>::RemoveFromFront( xbNodeType & ntKey ){
-
184
-
185 if( ulNodeCnt <= 0 )
-
186 return XB_INVALID_NODELINK;
-
187 xbLinkListNode<xbNodeType> *p = llStartPtr;
-
188 llStartPtr = p->GetNextNode();
-
189 if( llStartPtr )
-
190 llStartPtr->SetPrevNode( NULL );
-
191 ntKey = p->GetKey();
-
192 delete p;
-
193 ulNodeCnt--;
-
194 return XB_NO_ERROR;
-
195}
-
196
-
197
-
198template<class xbNodeType>
-
199xbInt16 xbLinkList<xbNodeType>::RemoveFromEnd( xbNodeType & ntKey ){
-
200
-
201 if( ulNodeCnt <= 0 )
-
202 return XB_INVALID_NODELINK;
-
203 xbLinkListNode<xbNodeType> *p = llEndPtr;
-
204 if( p->GetPrevNode()){
-
205 llEndPtr = p->GetPrevNode();
-
206 llEndPtr->SetNextNode( NULL );
-
207 } else {
-
208 // there are no more nodes
-
209 llStartPtr = NULL;
-
210 llEndPtr = NULL;
-
211 }
-
212 ntKey = p->GetKey();
-
213 delete p;
-
214 ulNodeCnt--;
-
215 return XB_NO_ERROR;
-
216}
-
217
-
218
-
219template<class xbNodeType>
-
220xbInt16 xbLinkList<xbNodeType>::RemoveFromEnd(){
-
221
-
222 if( ulNodeCnt <= 0 )
-
223 return XB_INVALID_NODELINK;
-
224 xbLinkListNode<xbNodeType> *p = llEndPtr;
-
225 if( p->GetPrevNode()){
-
226 llEndPtr = p->GetPrevNode();
-
227 llEndPtr->SetNextNode( NULL );
-
228 } else {
-
229 // there are no more nodes
-
230 llStartPtr = NULL;
-
231 llEndPtr = NULL;
-
232 }
-
233 delete p->GetKey();
-
234 delete p;
-
235 ulNodeCnt--;
-
236 return XB_NO_ERROR;
-
237}
-
238
-
239
-
240template<class xbNodeType>
-
241xbInt16 xbLinkList<xbNodeType>::SearchFor( const xbNodeType & ntKey ){
-
242
-
243 xbLinkListNode<xbNodeType> *cPtr = llStartPtr;
-
244 for( xbUInt32 i = 0; i < ulNodeCnt; i++ ){
-
245 if( cPtr->GetKey() == ntKey )
-
246 return i+1;
-
247 cPtr = cPtr->GetNextNode();
-
248 }
-
249 return XB_NO_ERROR;
-
250
-
251}
-
252} // namespace
-
253
-
254#endif // XB_LINKLIST_SUPPORT
-
255#endif // XB_XBLNKLST_H__
-
256
-
257
-
Definition: xbdate.cpp:19
-
#define XB_INVALID_NODELINK
Definition: xbretcod.h:28
-
#define XB_NOT_FOUND
Definition: xbretcod.h:40
-
#define XB_NO_ERROR
Definition: xbretcod.h:24
-
#define XB_NO_MEMORY
Definition: xbretcod.h:25
-
- - - - -- cgit v1.2.3 From c894a7cdd8686ea695602a23a511a3f1b0d047be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 14 Aug 2023 21:07:46 +0200 Subject: New upstream version 4.1.4 --- docs/doxygen/html/xblnklst_8h_source.html | 341 ++++++++++++++++++++++++++++++ 1 file changed, 341 insertions(+) create mode 100644 docs/doxygen/html/xblnklst_8h_source.html (limited to 'docs/doxygen/html/xblnklst_8h_source.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 @@ + + + + + + + +Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.4/src/include/xblnklst.h Source File + + + + + + + + + +
+
+ + + + + + +
+
Xbase64 4.0.1 +
+
C++ Library for handling Xbase (DBF) format type files
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
xblnklst.h
+
+
+Go to the documentation of this file.
1/* xblnklst.h
+
2
+
3XBase64 Software Library
+
4
+
5Copyright (c) 1997,2003,2014,2022 Gary A Kunkel
+
6
+
7The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.
+
8
+
9Email Contact:
+
10
+
11 XDB-devel@lists.sourceforge.net
+
12 XDB-users@lists.sourceforge.net
+
13
+
14*/
+
15
+
16
+
17#ifndef __XB_XBLNKLST_H__
+
18#define __XB_XBLNKLST_H__
+
19
+
20#ifdef XB_LINKLIST_SUPPORT
+
21
+
22namespace xb{
+
23
+
24
+
25template<class xbNodeType>
+
26class XBDLLEXPORT xbLinkList {
+
27 public:
+
28 xbLinkList();
+
29 ~xbLinkList();
+
30
+
31 xbLinkListNode<xbNodeType> *GetHeadNode() const;
+
32 xbLinkListNode<xbNodeType> *GetEndNode() const;
+
33 xbLinkListNode<xbNodeType> *GetNodeForNo( xbUInt32 ulNodeNo ) const;
+
34
+
35 void Clear();
+
36 xbUInt32 GetNodeCnt () const;
+
37 xbInt16 InsertAtEnd ( const xbNodeType &xbLLN );
+
38 xbInt16 InsertAtFront ( const xbNodeType &xbLLN );
+
39 xbInt16 RemoveByVal ( const xbNodeType &xbLLN );
+
40 xbInt16 RemoveFromEnd ();
+
41 xbInt16 RemoveFromEnd ( xbNodeType &xbLLN );
+
42 xbInt16 RemoveFromFront( xbNodeType &xbLLN );
+
43 xbInt16 SearchFor ( const xbNodeType &xbLLN );
+
44
+
45 private:
+
46 xbUInt32 ulNodeCnt;
+
47 xbLinkListNode<xbNodeType> *llStartPtr;
+
48 xbLinkListNode<xbNodeType> *llEndPtr;
+
49};
+
50
+
51template<class xbNodeType>
+
52xbLinkList<xbNodeType>::xbLinkList(){
+
53 ulNodeCnt = 0;
+
54 llStartPtr = NULL;
+
55 llEndPtr = NULL;
+
56}
+
57
+
58template<class xbNodeType>
+
59xbLinkList<xbNodeType>::~xbLinkList(){
+
60 Clear();
+
61}
+
62
+
63template<class xbNodeType>
+
64void xbLinkList<xbNodeType>::Clear(){
+
65 xbLinkListNode<xbNodeType> *cPtr = llStartPtr, *tPtr;
+
66 for( xbUInt32 i = 0; i < ulNodeCnt; i++ ){
+
67 tPtr = cPtr;
+
68 cPtr = cPtr->GetNextNode();
+
69 delete tPtr;
+
70 }
+
71 ulNodeCnt = 0;
+
72 llStartPtr = NULL;
+
73 llEndPtr = NULL;
+
74}
+
75
+
76
+
77template<class xbNodeType>
+
78xbLinkListNode<xbNodeType> *xbLinkList<xbNodeType>::GetHeadNode() const{
+
79 return llStartPtr;
+
80}
+
81
+
82template<class xbNodeType>
+
83xbLinkListNode<xbNodeType> *xbLinkList<xbNodeType>::GetEndNode() const{
+
84 return llEndPtr;
+
85}
+
86
+
87
+
88template<class xbNodeType>
+
89xbLinkListNode<xbNodeType> *xbLinkList<xbNodeType>::GetNodeForNo( xbUInt32 ulNo ) const{
+
90
+
91 xbLinkListNode<xbNodeType> *cPtr = llStartPtr;
+
92 xbUInt32 i;
+
93 for( i = 0; i < ulNo && i < ulNodeCnt; i++ )
+
94 cPtr = cPtr->GetNextNode();
+
95
+
96 if( i == ulNo )
+
97 return cPtr;
+
98 else
+
99 return 0;
+
100}
+
101
+
102
+
103
+
104template<class xbNodeType>
+
105xbUInt32 xbLinkList<xbNodeType>::GetNodeCnt() const{
+
106 return ulNodeCnt;
+
107}
+
108
+
109template<class xbNodeType>
+
110xbInt16 xbLinkList<xbNodeType>::InsertAtFront( const xbNodeType & ntKey ){
+
111
+
112 xbLinkListNode<xbNodeType> *p = new xbLinkListNode<xbNodeType>( ntKey );
+
113 if( p == 0 )
+
114 return XB_NO_MEMORY;
+
115
+
116 if( ulNodeCnt > 0 ){
+
117 llStartPtr->SetPrevNode( p );
+
118 p->SetNextNode( llStartPtr );
+
119 } else {
+
120 llEndPtr = p;
+
121 }
+
122
+
123 llStartPtr = p;
+
124 ulNodeCnt++;
+
125 return XB_NO_ERROR;
+
126}
+
127
+
128template<class xbNodeType>
+
129xbInt16 xbLinkList<xbNodeType>::InsertAtEnd( const xbNodeType & ntKey ){
+
130
+
131 xbLinkListNode<xbNodeType> *p = new xbLinkListNode<xbNodeType>( ntKey );
+
132 if( p == 0 )
+
133 return XB_NO_MEMORY;
+
134
+
135 if( ulNodeCnt > 0 ){
+
136 llEndPtr->SetNextNode( p );
+
137 p->SetPrevNode( llEndPtr );
+
138 llEndPtr = p;
+
139 } else {
+
140 llStartPtr = p;
+
141 }
+
142
+
143 llEndPtr = p;
+
144 ulNodeCnt++;
+
145 return XB_NO_ERROR;
+
146}
+
147
+
148
+
149
+
150template<class xbNodeType>
+
151xbInt16 xbLinkList<xbNodeType>::RemoveByVal( const xbNodeType & ntKey ){
+
152 // Remove the first instance of ntKey from the node chain
+
153 xbLinkListNode<xbNodeType> *currPtr = llStartPtr;
+
154 xbLinkListNode<xbNodeType> *prevPtr = NULL;
+
155
+
156 for( xbUInt32 i = 0; i < ulNodeCnt; i++ ){
+
157 if( currPtr->GetKey() == ntKey ){
+
158 if( prevPtr == NULL ){ //then this is the first node
+
159 llStartPtr = currPtr->GetNextNode();
+
160 if( llStartPtr ) // if more than one link in the linked list
+
161 llStartPtr->SetPrevNode( NULL );
+
162 delete currPtr;
+
163 ulNodeCnt--;
+
164 return i + 1;
+
165 }
+
166 else {
+
167 prevPtr->SetNextNode( currPtr->GetNextNode());
+
168 if( currPtr->GetNextNode())
+
169 currPtr->GetNextNode()->SetPrevNode( prevPtr );
+
170 delete currPtr;
+
171 ulNodeCnt--;
+
172 return i + 1;
+
173 }
+
174 }
+
175 prevPtr = currPtr;
+
176 currPtr = currPtr->GetNextNode();
+
177 }
+
178 return XB_NOT_FOUND;
+
179}
+
180
+
181
+
182template<class xbNodeType>
+
183xbInt16 xbLinkList<xbNodeType>::RemoveFromFront( xbNodeType & ntKey ){
+
184
+
185 if( ulNodeCnt <= 0 )
+
186 return XB_INVALID_NODELINK;
+
187 xbLinkListNode<xbNodeType> *p = llStartPtr;
+
188 llStartPtr = p->GetNextNode();
+
189 if( llStartPtr )
+
190 llStartPtr->SetPrevNode( NULL );
+
191 ntKey = p->GetKey();
+
192 delete p;
+
193 ulNodeCnt--;
+
194 return XB_NO_ERROR;
+
195}
+
196
+
197
+
198template<class xbNodeType>
+
199xbInt16 xbLinkList<xbNodeType>::RemoveFromEnd( xbNodeType & ntKey ){
+
200
+
201 if( ulNodeCnt <= 0 )
+
202 return XB_INVALID_NODELINK;
+
203 xbLinkListNode<xbNodeType> *p = llEndPtr;
+
204 if( p->GetPrevNode()){
+
205 llEndPtr = p->GetPrevNode();
+
206 llEndPtr->SetNextNode( NULL );
+
207 } else {
+
208 // there are no more nodes
+
209 llStartPtr = NULL;
+
210 llEndPtr = NULL;
+
211 }
+
212 ntKey = p->GetKey();
+
213 delete p;
+
214 ulNodeCnt--;
+
215 return XB_NO_ERROR;
+
216}
+
217
+
218
+
219template<class xbNodeType>
+
220xbInt16 xbLinkList<xbNodeType>::RemoveFromEnd(){
+
221
+
222 if( ulNodeCnt <= 0 )
+
223 return XB_INVALID_NODELINK;
+
224 xbLinkListNode<xbNodeType> *p = llEndPtr;
+
225 if( p->GetPrevNode()){
+
226 llEndPtr = p->GetPrevNode();
+
227 llEndPtr->SetNextNode( NULL );
+
228 } else {
+
229 // there are no more nodes
+
230 llStartPtr = NULL;
+
231 llEndPtr = NULL;
+
232 }
+
233 delete p->GetKey();
+
234 delete p;
+
235 ulNodeCnt--;
+
236 return XB_NO_ERROR;
+
237}
+
238
+
239
+
240template<class xbNodeType>
+
241xbInt16 xbLinkList<xbNodeType>::SearchFor( const xbNodeType & ntKey ){
+
242
+
243 xbLinkListNode<xbNodeType> *cPtr = llStartPtr;
+
244 for( xbUInt32 i = 0; i < ulNodeCnt; i++ ){
+
245 if( cPtr->GetKey() == ntKey )
+
246 return i+1;
+
247 cPtr = cPtr->GetNextNode();
+
248 }
+
249 return XB_NO_ERROR;
+
250
+
251}
+
252} // namespace
+
253
+
254#endif // XB_LINKLIST_SUPPORT
+
255#endif // XB_XBLNKLST_H__
+
256
+
257
+
Definition: xbdate.cpp:19
+
#define XB_INVALID_NODELINK
Definition: xbretcod.h:29
+
#define XB_NOT_FOUND
Definition: xbretcod.h:41
+
#define XB_NO_ERROR
Definition: xbretcod.h:24
+
#define XB_NO_MEMORY
Definition: xbretcod.h:25
+
+ + + + -- cgit v1.2.3