gwenhywfar
4.8.0beta
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
base
list.h
Go to the documentation of this file.
1
/***************************************************************************
2
$RCSfile$
3
-------------------
4
cvs : $Id$
5
begin : Sat Nov 15 2003
6
copyright : (C) 2003 by Martin Preuss
7
email : martin@libchipcard.de
8
9
***************************************************************************
10
* *
11
* This library is free software; you can redistribute it and/or *
12
* modify it under the terms of the GNU Lesser General Public *
13
* License as published by the Free Software Foundation; either *
14
* version 2.1 of the License, or (at your option) any later version. *
15
* *
16
* This library is distributed in the hope that it will be useful, *
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
19
* Lesser General Public License for more details. *
20
* *
21
* You should have received a copy of the GNU Lesser General Public *
22
* License along with this library; if not, write to the Free Software *
23
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
24
* MA 02111-1307 USA *
25
* *
26
***************************************************************************/
27
28
29
#ifndef GWENHYWFAR_LIST_H
30
#define GWENHYWFAR_LIST_H
31
32
33
#ifdef __cplusplus
34
extern
"C"
{
35
#endif
36
37
#include <gwenhywfar/gwenhywfarapi.h>
38
#include <gwenhywfar/inherit.h>
39
#include <gwenhywfar/refptr.h>
40
/* This is needed for PalmOS, because it define some functions needed */
41
#include <string.h>
42
#include <stdio.h>
43
44
50
55
typedef
struct
GWEN_LIST
GWEN_LIST
;
56
58
typedef
void
*(*GWEN_LIST_FOREACH_CB)(
void
*element,
void
*user_data);
59
64
typedef
struct
GWEN_LIST
GWEN_CONSTLIST
;
65
67
typedef
const
void
*(*GWEN_CONSTLIST_FOREACH_CB)(
const
void
*element,
68
void
*user_data);
69
72
typedef
struct
GWEN_LIST_ITERATOR
GWEN_LIST_ITERATOR
;
73
76
typedef
struct
GWEN_LIST_ITERATOR
GWEN_CONSTLIST_ITERATOR
;
77
78
80
GWEN_INHERIT_FUNCTION_LIB_DEFS
(
GWEN_LIST
,
GWENHYWFAR_API
)
81
82
83
84
GWENHYWFAR_API
85
GWEN_LIST
*
GWEN_List_new
(
void
);
86
89
GWENHYWFAR_API
90
void
GWEN_List_free
(
GWEN_LIST
*l);
91
94
GWENHYWFAR_API
95
GWEN_LIST
*
GWEN_List_dup
(const
GWEN_LIST
*l);
96
97
98
GWENHYWFAR_API
99
void
GWEN_List_Unshare
(
GWEN_LIST
*l);
100
101
105
GWENHYWFAR_API
106
void
GWEN_List_Dump
(const
GWEN_LIST
*l, FILE *f,
unsigned
int
indent);
107
111
GWENHYWFAR_API
112
void
GWEN_List_PushBack
(
GWEN_LIST
*l,
void
*p);
113
117
GWENHYWFAR_API
118
void
GWEN_List_PushBackRefPtr
(
GWEN_LIST
*l,
GWEN_REFPTR
*rp);
119
124
GWENHYWFAR_API
125
void
GWEN_List_PushFront
(
GWEN_LIST
*l,
void
*p);
126
131
GWENHYWFAR_API
132
void
GWEN_List_PushFrontRefPtr
(
GWEN_LIST
*l,
GWEN_REFPTR
*rp);
133
138
GWENHYWFAR_API
139
void
*
GWEN_List_GetFront
(const
GWEN_LIST
*l);
140
145
GWENHYWFAR_API
146
GWEN_REFPTR
*
GWEN_List_GetFrontRefPtr
(const
GWEN_LIST
*l);
147
152
GWENHYWFAR_API
153
void
*
GWEN_List_GetBack
(const
GWEN_LIST
*l);
154
159
GWENHYWFAR_API
160
GWEN_REFPTR
*
GWEN_List_GetBackRefPtr
(const
GWEN_LIST
*l);
161
168
GWENHYWFAR_API
169
void
GWEN_List_Erase
(
GWEN_LIST
*l,
GWEN_LIST_ITERATOR
*it);
170
177
GWENHYWFAR_API
178
void
GWEN_List_Remove
(
GWEN_LIST
*l, const
void
*element);
179
180
186
GWENHYWFAR_API
187
unsigned
int
GWEN_List_GetSize
(const
GWEN_LIST
*l);
188
191
GWENHYWFAR_API
192
int
GWEN_List_IsEmpty
(const
GWEN_LIST
*l);
193
194
GWENHYWFAR_API
195
GWEN_REFPTR_INFO
*
GWEN_List_GetRefPtrInfo
(const
GWEN_LIST
*l);
196
197
GWENHYWFAR_API
198
void
GWEN_List_SetRefPtrInfo
(
GWEN_LIST
*l,
GWEN_REFPTR_INFO
*rpi);
199
204
GWENHYWFAR_API
205
void
GWEN_List_PopBack
(
GWEN_LIST
*l);
206
211
GWENHYWFAR_API
212
void
GWEN_List_PopFront
(
GWEN_LIST
*l);
213
218
GWENHYWFAR_API
219
void
GWEN_List_Clear
(
GWEN_LIST
*l);
220
227
GWENHYWFAR_API
228
GWEN_LIST_ITERATOR
*
GWEN_List_FindIter
(
GWEN_LIST
*l, const
void
*element);
229
235
GWENHYWFAR_API
236
const
void
*
GWEN_List_Contains
(
GWEN_LIST
*l, const
void
*element);
237
250
GWENHYWFAR_API
251
void
*
GWEN_List_ForEach
(
GWEN_LIST
*list,
GWEN_LIST_FOREACH_CB
func,
252
void
*user_data);
253
255
GWENHYWFAR_API
256
GWEN_LIST_ITERATOR
*
GWEN_List_First
(const
GWEN_LIST
*l);
257
259
GWENHYWFAR_API
260
GWEN_LIST_ITERATOR
*
GWEN_List_Last
(const
GWEN_LIST
*l);
261
265
GWENHYWFAR_API
266
GWEN_LIST_ITERATOR
*
GWEN_ListIterator_new
(const
GWEN_LIST
*l);
267
269
GWENHYWFAR_API
270
void
GWEN_ListIterator_free
(
GWEN_LIST_ITERATOR
*li);
271
276
GWENHYWFAR_API
277
void
*
GWEN_ListIterator_Previous
(
GWEN_LIST_ITERATOR
*li);
278
283
GWENHYWFAR_API
284
GWEN_REFPTR
*
GWEN_ListIterator_PreviousRefPtr
(
GWEN_LIST_ITERATOR
*li);
285
290
GWENHYWFAR_API
291
void
*
GWEN_ListIterator_Next
(
GWEN_LIST_ITERATOR
*li);
292
297
GWENHYWFAR_API
298
GWEN_REFPTR
*
GWEN_ListIterator_NextRefPtr
(
GWEN_LIST_ITERATOR
*li);
299
304
GWENHYWFAR_API
305
void
*
GWEN_ListIterator_Data
(
GWEN_LIST_ITERATOR
*li);
306
311
GWENHYWFAR_API
312
GWEN_REFPTR
*
GWEN_ListIterator_DataRefPtr
(
GWEN_LIST_ITERATOR
*li);
313
314
GWENHYWFAR_API
315
void
GWEN_ListIterator_IncLinkCount
(
GWEN_LIST_ITERATOR
*li);
316
317
GWENHYWFAR_API
318
unsigned
int
GWEN_ListIterator_GetLinkCount
(const
GWEN_LIST_ITERATOR
*li);
319
320
321
322
324
GWENHYWFAR_API
325
GWEN_CONSTLIST
*
GWEN_ConstList_new
(
void
);
326
330
GWENHYWFAR_API
331
void
GWEN_ConstList_free
(
GWEN_CONSTLIST
*l);
332
336
GWENHYWFAR_API
337
void
GWEN_ConstList_PushBack
(
GWEN_CONSTLIST
*l, const
void
*p);
338
343
GWENHYWFAR_API
344
void
GWEN_ConstList_PushFront
(
GWEN_CONSTLIST
*l, const
void
*p);
345
350
GWENHYWFAR_API
351
const
void
*
GWEN_ConstList_GetFront
(const
GWEN_CONSTLIST
*l);
352
357
GWENHYWFAR_API
358
const
void
*
GWEN_ConstList_GetBack
(const
GWEN_CONSTLIST
*l);
359
365
GWENHYWFAR_API
366
unsigned
int
GWEN_ConstList_GetSize
(const
GWEN_CONSTLIST
*l);
367
370
GWENHYWFAR_API
371
int
GWEN_ConstList_IsEmpty
(const
GWEN_LIST
*l);
372
377
GWENHYWFAR_API
378
void
GWEN_ConstList_PopBack
(
GWEN_CONSTLIST
*l);
379
384
GWENHYWFAR_API
385
void
GWEN_ConstList_PopFront
(
GWEN_CONSTLIST
*l);
386
391
GWENHYWFAR_API
392
void
GWEN_ConstList_Clear
(
GWEN_CONSTLIST
*l);
393
406
GWENHYWFAR_API
407
const
void
*
GWEN_ConstList_ForEach
(
GWEN_CONSTLIST
*list,
408
GWEN_CONSTLIST_FOREACH_CB
func,
409
void
*user_data);
410
417
GWENHYWFAR_API
418
GWEN_CONSTLIST_ITERATOR
*
GWEN_ConstList_FindIter
(const
GWEN_CONSTLIST
*l, const
void
*element);
419
425
GWENHYWFAR_API
426
const
void
*
GWEN_ConstList_Contains
(const
GWEN_CONSTLIST
*l, const
void
*element);
427
428
435
GWENHYWFAR_API
436
void
GWEN_ConstList_Erase
(
GWEN_CONSTLIST
*l,
GWEN_CONSTLIST_ITERATOR
*it);
437
444
GWENHYWFAR_API
445
void
GWEN_ConstList_Remove
(
GWEN_CONSTLIST
*l, const
void
*element);
446
448
GWENHYWFAR_API
449
GWEN_CONSTLIST_ITERATOR
*
GWEN_ConstList_First
(const
GWEN_CONSTLIST
*l);
450
452
GWENHYWFAR_API
453
GWEN_CONSTLIST_ITERATOR
*
GWEN_ConstList_Last
(const
GWEN_CONSTLIST
*l);
454
458
GWENHYWFAR_API
459
GWEN_CONSTLIST_ITERATOR
*
GWEN_ConstListIterator_new
(const
GWEN_CONSTLIST
*l);
460
462
GWENHYWFAR_API
463
void
GWEN_ConstListIterator_free
(
GWEN_CONSTLIST_ITERATOR
*li);
464
469
GWENHYWFAR_API
470
const
void
*
GWEN_ConstListIterator_Previous
(
GWEN_CONSTLIST_ITERATOR
*li);
471
476
GWENHYWFAR_API
477
const
void
*
GWEN_ConstListIterator_Next
(
GWEN_CONSTLIST_ITERATOR
*li);
478
483
GWENHYWFAR_API
484
const
void
*
GWEN_ConstListIterator_Data
(
GWEN_CONSTLIST_ITERATOR
*li);
485
486
487
/* defgroup */
489
490
491
#ifdef __cplusplus
492
}
493
#endif
494
495
496
#endif
497
498
499
Generated on Sun Oct 27 2013 09:43:37 for gwenhywfar by
1.8.4