comparison env/lib/python3.9/site-packages/lxml/includes/libxml/list.h @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4f3585e2f14b
1 /*
2 * Summary: lists interfaces
3 * Description: this module implement the list support used in
4 * various place in the library.
5 *
6 * Copy: See Copyright for the status of this software.
7 *
8 * Author: Gary Pennington <Gary.Pennington@uk.sun.com>
9 */
10
11 #ifndef __XML_LINK_INCLUDE__
12 #define __XML_LINK_INCLUDE__
13
14 #include <libxml/xmlversion.h>
15
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19
20 typedef struct _xmlLink xmlLink;
21 typedef xmlLink *xmlLinkPtr;
22
23 typedef struct _xmlList xmlList;
24 typedef xmlList *xmlListPtr;
25
26 /**
27 * xmlListDeallocator:
28 * @lk: the data to deallocate
29 *
30 * Callback function used to free data from a list.
31 */
32 typedef void (*xmlListDeallocator) (xmlLinkPtr lk);
33 /**
34 * xmlListDataCompare:
35 * @data0: the first data
36 * @data1: the second data
37 *
38 * Callback function used to compare 2 data.
39 *
40 * Returns 0 is equality, -1 or 1 otherwise depending on the ordering.
41 */
42 typedef int (*xmlListDataCompare) (const void *data0, const void *data1);
43 /**
44 * xmlListWalker:
45 * @data: the data found in the list
46 * @user: extra user provided data to the walker
47 *
48 * Callback function used when walking a list with xmlListWalk().
49 *
50 * Returns 0 to stop walking the list, 1 otherwise.
51 */
52 typedef int (*xmlListWalker) (const void *data, void *user);
53
54 /* Creation/Deletion */
55 XMLPUBFUN xmlListPtr XMLCALL
56 xmlListCreate (xmlListDeallocator deallocator,
57 xmlListDataCompare compare);
58 XMLPUBFUN void XMLCALL
59 xmlListDelete (xmlListPtr l);
60
61 /* Basic Operators */
62 XMLPUBFUN void * XMLCALL
63 xmlListSearch (xmlListPtr l,
64 void *data);
65 XMLPUBFUN void * XMLCALL
66 xmlListReverseSearch (xmlListPtr l,
67 void *data);
68 XMLPUBFUN int XMLCALL
69 xmlListInsert (xmlListPtr l,
70 void *data) ;
71 XMLPUBFUN int XMLCALL
72 xmlListAppend (xmlListPtr l,
73 void *data) ;
74 XMLPUBFUN int XMLCALL
75 xmlListRemoveFirst (xmlListPtr l,
76 void *data);
77 XMLPUBFUN int XMLCALL
78 xmlListRemoveLast (xmlListPtr l,
79 void *data);
80 XMLPUBFUN int XMLCALL
81 xmlListRemoveAll (xmlListPtr l,
82 void *data);
83 XMLPUBFUN void XMLCALL
84 xmlListClear (xmlListPtr l);
85 XMLPUBFUN int XMLCALL
86 xmlListEmpty (xmlListPtr l);
87 XMLPUBFUN xmlLinkPtr XMLCALL
88 xmlListFront (xmlListPtr l);
89 XMLPUBFUN xmlLinkPtr XMLCALL
90 xmlListEnd (xmlListPtr l);
91 XMLPUBFUN int XMLCALL
92 xmlListSize (xmlListPtr l);
93
94 XMLPUBFUN void XMLCALL
95 xmlListPopFront (xmlListPtr l);
96 XMLPUBFUN void XMLCALL
97 xmlListPopBack (xmlListPtr l);
98 XMLPUBFUN int XMLCALL
99 xmlListPushFront (xmlListPtr l,
100 void *data);
101 XMLPUBFUN int XMLCALL
102 xmlListPushBack (xmlListPtr l,
103 void *data);
104
105 /* Advanced Operators */
106 XMLPUBFUN void XMLCALL
107 xmlListReverse (xmlListPtr l);
108 XMLPUBFUN void XMLCALL
109 xmlListSort (xmlListPtr l);
110 XMLPUBFUN void XMLCALL
111 xmlListWalk (xmlListPtr l,
112 xmlListWalker walker,
113 void *user);
114 XMLPUBFUN void XMLCALL
115 xmlListReverseWalk (xmlListPtr l,
116 xmlListWalker walker,
117 void *user);
118 XMLPUBFUN void XMLCALL
119 xmlListMerge (xmlListPtr l1,
120 xmlListPtr l2);
121 XMLPUBFUN xmlListPtr XMLCALL
122 xmlListDup (const xmlListPtr old);
123 XMLPUBFUN int XMLCALL
124 xmlListCopy (xmlListPtr cur,
125 const xmlListPtr old);
126 /* Link operators */
127 XMLPUBFUN void * XMLCALL
128 xmlLinkGetData (xmlLinkPtr lk);
129
130 /* xmlListUnique() */
131 /* xmlListSwap */
132
133 #ifdef __cplusplus
134 }
135 #endif
136
137 #endif /* __XML_LINK_INCLUDE__ */