Update Changelog
[profile/ivi/libgee.git] / gee / gee.h
1 /* gee.h generated by valac 0.18.0, the Vala compiler, do not modify */
2
3
4 #ifndef __GEE_H__
5 #define __GEE_H__
6
7 #include <glib.h>
8 #include <glib-object.h>
9
10 G_BEGIN_DECLS
11
12
13 #define GEE_TYPE_TRAVERSABLE (gee_traversable_get_type ())
14 #define GEE_TRAVERSABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TRAVERSABLE, GeeTraversable))
15 #define GEE_IS_TRAVERSABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TRAVERSABLE))
16 #define GEE_TRAVERSABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_TRAVERSABLE, GeeTraversableIface))
17
18 typedef struct _GeeTraversable GeeTraversable;
19 typedef struct _GeeTraversableIface GeeTraversableIface;
20
21 #define GEE_TRAVERSABLE_TYPE_STREAM (gee_traversable_stream_get_type ())
22
23 #define GEE_TYPE_LAZY (gee_lazy_get_type ())
24 #define GEE_LAZY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_LAZY, GeeLazy))
25 #define GEE_LAZY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_LAZY, GeeLazyClass))
26 #define GEE_IS_LAZY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_LAZY))
27 #define GEE_IS_LAZY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_LAZY))
28 #define GEE_LAZY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_LAZY, GeeLazyClass))
29
30 typedef struct _GeeLazy GeeLazy;
31 typedef struct _GeeLazyClass GeeLazyClass;
32
33 #define GEE_TYPE_ITERATOR (gee_iterator_get_type ())
34 #define GEE_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ITERATOR, GeeIterator))
35 #define GEE_IS_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ITERATOR))
36 #define GEE_ITERATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_ITERATOR, GeeIteratorIface))
37
38 typedef struct _GeeIterator GeeIterator;
39 typedef struct _GeeIteratorIface GeeIteratorIface;
40
41 #define GEE_TYPE_ITERABLE (gee_iterable_get_type ())
42 #define GEE_ITERABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ITERABLE, GeeIterable))
43 #define GEE_IS_ITERABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ITERABLE))
44 #define GEE_ITERABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_ITERABLE, GeeIterableIface))
45
46 typedef struct _GeeIterable GeeIterable;
47 typedef struct _GeeIterableIface GeeIterableIface;
48
49 #define GEE_TYPE_COLLECTION (gee_collection_get_type ())
50 #define GEE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_COLLECTION, GeeCollection))
51 #define GEE_IS_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_COLLECTION))
52 #define GEE_COLLECTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_COLLECTION, GeeCollectionIface))
53
54 typedef struct _GeeCollection GeeCollection;
55 typedef struct _GeeCollectionIface GeeCollectionIface;
56
57 #define GEE_TYPE_ABSTRACT_COLLECTION (gee_abstract_collection_get_type ())
58 #define GEE_ABSTRACT_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection))
59 #define GEE_ABSTRACT_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollectionClass))
60 #define GEE_IS_ABSTRACT_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_COLLECTION))
61 #define GEE_IS_ABSTRACT_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_COLLECTION))
62 #define GEE_ABSTRACT_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollectionClass))
63
64 typedef struct _GeeAbstractCollection GeeAbstractCollection;
65 typedef struct _GeeAbstractCollectionClass GeeAbstractCollectionClass;
66 typedef struct _GeeAbstractCollectionPrivate GeeAbstractCollectionPrivate;
67
68 #define GEE_TYPE_LIST (gee_list_get_type ())
69 #define GEE_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_LIST, GeeList))
70 #define GEE_IS_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_LIST))
71 #define GEE_LIST_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_LIST, GeeListIface))
72
73 typedef struct _GeeList GeeList;
74 typedef struct _GeeListIface GeeListIface;
75
76 #define GEE_TYPE_LIST_ITERATOR (gee_list_iterator_get_type ())
77 #define GEE_LIST_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_LIST_ITERATOR, GeeListIterator))
78 #define GEE_IS_LIST_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_LIST_ITERATOR))
79 #define GEE_LIST_ITERATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_LIST_ITERATOR, GeeListIteratorIface))
80
81 typedef struct _GeeListIterator GeeListIterator;
82 typedef struct _GeeListIteratorIface GeeListIteratorIface;
83
84 #define GEE_TYPE_ABSTRACT_LIST (gee_abstract_list_get_type ())
85 #define GEE_ABSTRACT_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_LIST, GeeAbstractList))
86 #define GEE_ABSTRACT_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_LIST, GeeAbstractListClass))
87 #define GEE_IS_ABSTRACT_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_LIST))
88 #define GEE_IS_ABSTRACT_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_LIST))
89 #define GEE_ABSTRACT_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_LIST, GeeAbstractListClass))
90
91 typedef struct _GeeAbstractList GeeAbstractList;
92 typedef struct _GeeAbstractListClass GeeAbstractListClass;
93 typedef struct _GeeAbstractListPrivate GeeAbstractListPrivate;
94
95 #define GEE_TYPE_BIDIR_LIST (gee_bidir_list_get_type ())
96 #define GEE_BIDIR_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_BIDIR_LIST, GeeBidirList))
97 #define GEE_IS_BIDIR_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_BIDIR_LIST))
98 #define GEE_BIDIR_LIST_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_BIDIR_LIST, GeeBidirListIface))
99
100 typedef struct _GeeBidirList GeeBidirList;
101 typedef struct _GeeBidirListIface GeeBidirListIface;
102
103 #define GEE_TYPE_BIDIR_ITERATOR (gee_bidir_iterator_get_type ())
104 #define GEE_BIDIR_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_BIDIR_ITERATOR, GeeBidirIterator))
105 #define GEE_IS_BIDIR_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_BIDIR_ITERATOR))
106 #define GEE_BIDIR_ITERATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_BIDIR_ITERATOR, GeeBidirIteratorIface))
107
108 typedef struct _GeeBidirIterator GeeBidirIterator;
109 typedef struct _GeeBidirIteratorIface GeeBidirIteratorIface;
110
111 #define GEE_TYPE_BIDIR_LIST_ITERATOR (gee_bidir_list_iterator_get_type ())
112 #define GEE_BIDIR_LIST_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_BIDIR_LIST_ITERATOR, GeeBidirListIterator))
113 #define GEE_IS_BIDIR_LIST_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_BIDIR_LIST_ITERATOR))
114 #define GEE_BIDIR_LIST_ITERATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_BIDIR_LIST_ITERATOR, GeeBidirListIteratorIface))
115
116 typedef struct _GeeBidirListIterator GeeBidirListIterator;
117 typedef struct _GeeBidirListIteratorIface GeeBidirListIteratorIface;
118
119 #define GEE_TYPE_ABSTRACT_BIDIR_LIST (gee_abstract_bidir_list_get_type ())
120 #define GEE_ABSTRACT_BIDIR_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_BIDIR_LIST, GeeAbstractBidirList))
121 #define GEE_ABSTRACT_BIDIR_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_BIDIR_LIST, GeeAbstractBidirListClass))
122 #define GEE_IS_ABSTRACT_BIDIR_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_BIDIR_LIST))
123 #define GEE_IS_ABSTRACT_BIDIR_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_BIDIR_LIST))
124 #define GEE_ABSTRACT_BIDIR_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_BIDIR_LIST, GeeAbstractBidirListClass))
125
126 typedef struct _GeeAbstractBidirList GeeAbstractBidirList;
127 typedef struct _GeeAbstractBidirListClass GeeAbstractBidirListClass;
128 typedef struct _GeeAbstractBidirListPrivate GeeAbstractBidirListPrivate;
129
130 #define GEE_TYPE_SET (gee_set_get_type ())
131 #define GEE_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_SET, GeeSet))
132 #define GEE_IS_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_SET))
133 #define GEE_SET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_SET, GeeSetIface))
134
135 typedef struct _GeeSet GeeSet;
136 typedef struct _GeeSetIface GeeSetIface;
137
138 #define GEE_TYPE_ABSTRACT_SET (gee_abstract_set_get_type ())
139 #define GEE_ABSTRACT_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_SET, GeeAbstractSet))
140 #define GEE_ABSTRACT_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_SET, GeeAbstractSetClass))
141 #define GEE_IS_ABSTRACT_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_SET))
142 #define GEE_IS_ABSTRACT_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_SET))
143 #define GEE_ABSTRACT_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_SET, GeeAbstractSetClass))
144
145 typedef struct _GeeAbstractSet GeeAbstractSet;
146 typedef struct _GeeAbstractSetClass GeeAbstractSetClass;
147 typedef struct _GeeAbstractSetPrivate GeeAbstractSetPrivate;
148
149 #define GEE_TYPE_SORTED_SET (gee_sorted_set_get_type ())
150 #define GEE_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_SORTED_SET, GeeSortedSet))
151 #define GEE_IS_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_SORTED_SET))
152 #define GEE_SORTED_SET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_SORTED_SET, GeeSortedSetIface))
153
154 typedef struct _GeeSortedSet GeeSortedSet;
155 typedef struct _GeeSortedSetIface GeeSortedSetIface;
156
157 #define GEE_TYPE_ABSTRACT_SORTED_SET (gee_abstract_sorted_set_get_type ())
158 #define GEE_ABSTRACT_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_SORTED_SET, GeeAbstractSortedSet))
159 #define GEE_ABSTRACT_SORTED_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_SORTED_SET, GeeAbstractSortedSetClass))
160 #define GEE_IS_ABSTRACT_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_SORTED_SET))
161 #define GEE_IS_ABSTRACT_SORTED_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_SORTED_SET))
162 #define GEE_ABSTRACT_SORTED_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_SORTED_SET, GeeAbstractSortedSetClass))
163
164 typedef struct _GeeAbstractSortedSet GeeAbstractSortedSet;
165 typedef struct _GeeAbstractSortedSetClass GeeAbstractSortedSetClass;
166 typedef struct _GeeAbstractSortedSetPrivate GeeAbstractSortedSetPrivate;
167
168 #define GEE_TYPE_BIDIR_SORTED_SET (gee_bidir_sorted_set_get_type ())
169 #define GEE_BIDIR_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_BIDIR_SORTED_SET, GeeBidirSortedSet))
170 #define GEE_IS_BIDIR_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_BIDIR_SORTED_SET))
171 #define GEE_BIDIR_SORTED_SET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_BIDIR_SORTED_SET, GeeBidirSortedSetIface))
172
173 typedef struct _GeeBidirSortedSet GeeBidirSortedSet;
174 typedef struct _GeeBidirSortedSetIface GeeBidirSortedSetIface;
175
176 #define GEE_TYPE_ABSTRACT_BIDIR_SORTED_SET (gee_abstract_bidir_sorted_set_get_type ())
177 #define GEE_ABSTRACT_BIDIR_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_BIDIR_SORTED_SET, GeeAbstractBidirSortedSet))
178 #define GEE_ABSTRACT_BIDIR_SORTED_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_BIDIR_SORTED_SET, GeeAbstractBidirSortedSetClass))
179 #define GEE_IS_ABSTRACT_BIDIR_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_BIDIR_SORTED_SET))
180 #define GEE_IS_ABSTRACT_BIDIR_SORTED_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_BIDIR_SORTED_SET))
181 #define GEE_ABSTRACT_BIDIR_SORTED_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_BIDIR_SORTED_SET, GeeAbstractBidirSortedSetClass))
182
183 typedef struct _GeeAbstractBidirSortedSet GeeAbstractBidirSortedSet;
184 typedef struct _GeeAbstractBidirSortedSetClass GeeAbstractBidirSortedSetClass;
185 typedef struct _GeeAbstractBidirSortedSetPrivate GeeAbstractBidirSortedSetPrivate;
186
187 #define GEE_TYPE_MAP (gee_map_get_type ())
188 #define GEE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_MAP, GeeMap))
189 #define GEE_IS_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_MAP))
190 #define GEE_MAP_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_MAP, GeeMapIface))
191
192 typedef struct _GeeMap GeeMap;
193 typedef struct _GeeMapIface GeeMapIface;
194
195 #define GEE_TYPE_MAP_ITERATOR (gee_map_iterator_get_type ())
196 #define GEE_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_MAP_ITERATOR, GeeMapIterator))
197 #define GEE_IS_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_MAP_ITERATOR))
198 #define GEE_MAP_ITERATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_MAP_ITERATOR, GeeMapIteratorIface))
199
200 typedef struct _GeeMapIterator GeeMapIterator;
201 typedef struct _GeeMapIteratorIface GeeMapIteratorIface;
202
203 #define GEE_MAP_TYPE_ENTRY (gee_map_entry_get_type ())
204 #define GEE_MAP_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_MAP_TYPE_ENTRY, GeeMapEntry))
205 #define GEE_MAP_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_MAP_TYPE_ENTRY, GeeMapEntryClass))
206 #define GEE_MAP_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_MAP_TYPE_ENTRY))
207 #define GEE_MAP_IS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_MAP_TYPE_ENTRY))
208 #define GEE_MAP_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_MAP_TYPE_ENTRY, GeeMapEntryClass))
209
210 typedef struct _GeeMapEntry GeeMapEntry;
211 typedef struct _GeeMapEntryClass GeeMapEntryClass;
212
213 #define GEE_TYPE_ABSTRACT_MAP (gee_abstract_map_get_type ())
214 #define GEE_ABSTRACT_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap))
215 #define GEE_ABSTRACT_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_MAP, GeeAbstractMapClass))
216 #define GEE_IS_ABSTRACT_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_MAP))
217 #define GEE_IS_ABSTRACT_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_MAP))
218 #define GEE_ABSTRACT_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_MAP, GeeAbstractMapClass))
219
220 typedef struct _GeeAbstractMap GeeAbstractMap;
221 typedef struct _GeeAbstractMapClass GeeAbstractMapClass;
222 typedef struct _GeeAbstractMapPrivate GeeAbstractMapPrivate;
223
224 #define GEE_TYPE_SORTED_MAP (gee_sorted_map_get_type ())
225 #define GEE_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_SORTED_MAP, GeeSortedMap))
226 #define GEE_IS_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_SORTED_MAP))
227 #define GEE_SORTED_MAP_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_SORTED_MAP, GeeSortedMapIface))
228
229 typedef struct _GeeSortedMap GeeSortedMap;
230 typedef struct _GeeSortedMapIface GeeSortedMapIface;
231
232 #define GEE_TYPE_ABSTRACT_SORTED_MAP (gee_abstract_sorted_map_get_type ())
233 #define GEE_ABSTRACT_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_SORTED_MAP, GeeAbstractSortedMap))
234 #define GEE_ABSTRACT_SORTED_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_SORTED_MAP, GeeAbstractSortedMapClass))
235 #define GEE_IS_ABSTRACT_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_SORTED_MAP))
236 #define GEE_IS_ABSTRACT_SORTED_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_SORTED_MAP))
237 #define GEE_ABSTRACT_SORTED_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_SORTED_MAP, GeeAbstractSortedMapClass))
238
239 typedef struct _GeeAbstractSortedMap GeeAbstractSortedMap;
240 typedef struct _GeeAbstractSortedMapClass GeeAbstractSortedMapClass;
241 typedef struct _GeeAbstractSortedMapPrivate GeeAbstractSortedMapPrivate;
242
243 #define GEE_TYPE_BIDIR_SORTED_MAP (gee_bidir_sorted_map_get_type ())
244 #define GEE_BIDIR_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_BIDIR_SORTED_MAP, GeeBidirSortedMap))
245 #define GEE_IS_BIDIR_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_BIDIR_SORTED_MAP))
246 #define GEE_BIDIR_SORTED_MAP_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_BIDIR_SORTED_MAP, GeeBidirSortedMapIface))
247
248 typedef struct _GeeBidirSortedMap GeeBidirSortedMap;
249 typedef struct _GeeBidirSortedMapIface GeeBidirSortedMapIface;
250
251 #define GEE_TYPE_BIDIR_MAP_ITERATOR (gee_bidir_map_iterator_get_type ())
252 #define GEE_BIDIR_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_BIDIR_MAP_ITERATOR, GeeBidirMapIterator))
253 #define GEE_IS_BIDIR_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_BIDIR_MAP_ITERATOR))
254 #define GEE_BIDIR_MAP_ITERATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_BIDIR_MAP_ITERATOR, GeeBidirMapIteratorIface))
255
256 typedef struct _GeeBidirMapIterator GeeBidirMapIterator;
257 typedef struct _GeeBidirMapIteratorIface GeeBidirMapIteratorIface;
258
259 #define GEE_TYPE_ABSTRACT_BIDIR_SORTED_MAP (gee_abstract_bidir_sorted_map_get_type ())
260 #define GEE_ABSTRACT_BIDIR_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_BIDIR_SORTED_MAP, GeeAbstractBidirSortedMap))
261 #define GEE_ABSTRACT_BIDIR_SORTED_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_BIDIR_SORTED_MAP, GeeAbstractBidirSortedMapClass))
262 #define GEE_IS_ABSTRACT_BIDIR_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_BIDIR_SORTED_MAP))
263 #define GEE_IS_ABSTRACT_BIDIR_SORTED_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_BIDIR_SORTED_MAP))
264 #define GEE_ABSTRACT_BIDIR_SORTED_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_BIDIR_SORTED_MAP, GeeAbstractBidirSortedMapClass))
265
266 typedef struct _GeeAbstractBidirSortedMap GeeAbstractBidirSortedMap;
267 typedef struct _GeeAbstractBidirSortedMapClass GeeAbstractBidirSortedMapClass;
268 typedef struct _GeeAbstractBidirSortedMapPrivate GeeAbstractBidirSortedMapPrivate;
269
270 #define GEE_TYPE_MULTI_MAP (gee_multi_map_get_type ())
271 #define GEE_MULTI_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_MULTI_MAP, GeeMultiMap))
272 #define GEE_IS_MULTI_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_MULTI_MAP))
273 #define GEE_MULTI_MAP_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_MULTI_MAP, GeeMultiMapIface))
274
275 typedef struct _GeeMultiMap GeeMultiMap;
276 typedef struct _GeeMultiMapIface GeeMultiMapIface;
277
278 #define GEE_TYPE_MULTI_SET (gee_multi_set_get_type ())
279 #define GEE_MULTI_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_MULTI_SET, GeeMultiSet))
280 #define GEE_IS_MULTI_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_MULTI_SET))
281 #define GEE_MULTI_SET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_MULTI_SET, GeeMultiSetIface))
282
283 typedef struct _GeeMultiSet GeeMultiSet;
284 typedef struct _GeeMultiSetIface GeeMultiSetIface;
285
286 #define GEE_TYPE_ABSTRACT_MULTI_MAP (gee_abstract_multi_map_get_type ())
287 #define GEE_ABSTRACT_MULTI_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_MULTI_MAP, GeeAbstractMultiMap))
288 #define GEE_ABSTRACT_MULTI_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_MULTI_MAP, GeeAbstractMultiMapClass))
289 #define GEE_IS_ABSTRACT_MULTI_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_MULTI_MAP))
290 #define GEE_IS_ABSTRACT_MULTI_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_MULTI_MAP))
291 #define GEE_ABSTRACT_MULTI_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_MULTI_MAP, GeeAbstractMultiMapClass))
292
293 typedef struct _GeeAbstractMultiMap GeeAbstractMultiMap;
294 typedef struct _GeeAbstractMultiMapClass GeeAbstractMultiMapClass;
295 typedef struct _GeeAbstractMultiMapPrivate GeeAbstractMultiMapPrivate;
296
297 #define GEE_TYPE_ABSTRACT_MULTI_SET (gee_abstract_multi_set_get_type ())
298 #define GEE_ABSTRACT_MULTI_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_MULTI_SET, GeeAbstractMultiSet))
299 #define GEE_ABSTRACT_MULTI_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_MULTI_SET, GeeAbstractMultiSetClass))
300 #define GEE_IS_ABSTRACT_MULTI_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_MULTI_SET))
301 #define GEE_IS_ABSTRACT_MULTI_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_MULTI_SET))
302 #define GEE_ABSTRACT_MULTI_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_MULTI_SET, GeeAbstractMultiSetClass))
303
304 typedef struct _GeeAbstractMultiSet GeeAbstractMultiSet;
305 typedef struct _GeeAbstractMultiSetClass GeeAbstractMultiSetClass;
306 typedef struct _GeeAbstractMultiSetPrivate GeeAbstractMultiSetPrivate;
307
308 #define GEE_TYPE_QUEUE (gee_queue_get_type ())
309 #define GEE_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_QUEUE, GeeQueue))
310 #define GEE_IS_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_QUEUE))
311 #define GEE_QUEUE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_QUEUE, GeeQueueIface))
312
313 typedef struct _GeeQueue GeeQueue;
314 typedef struct _GeeQueueIface GeeQueueIface;
315
316 #define GEE_TYPE_ABSTRACT_QUEUE (gee_abstract_queue_get_type ())
317 #define GEE_ABSTRACT_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_QUEUE, GeeAbstractQueue))
318 #define GEE_ABSTRACT_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_QUEUE, GeeAbstractQueueClass))
319 #define GEE_IS_ABSTRACT_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_QUEUE))
320 #define GEE_IS_ABSTRACT_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_QUEUE))
321 #define GEE_ABSTRACT_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_QUEUE, GeeAbstractQueueClass))
322
323 typedef struct _GeeAbstractQueue GeeAbstractQueue;
324 typedef struct _GeeAbstractQueueClass GeeAbstractQueueClass;
325 typedef struct _GeeAbstractQueuePrivate GeeAbstractQueuePrivate;
326
327 #define GEE_TYPE_ARRAY_LIST (gee_array_list_get_type ())
328 #define GEE_ARRAY_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ARRAY_LIST, GeeArrayList))
329 #define GEE_ARRAY_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ARRAY_LIST, GeeArrayListClass))
330 #define GEE_IS_ARRAY_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ARRAY_LIST))
331 #define GEE_IS_ARRAY_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ARRAY_LIST))
332 #define GEE_ARRAY_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ARRAY_LIST, GeeArrayListClass))
333
334 typedef struct _GeeArrayList GeeArrayList;
335 typedef struct _GeeArrayListClass GeeArrayListClass;
336 typedef struct _GeeArrayListPrivate GeeArrayListPrivate;
337
338 #define GEE_TYPE_DEQUE (gee_deque_get_type ())
339 #define GEE_DEQUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_DEQUE, GeeDeque))
340 #define GEE_IS_DEQUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_DEQUE))
341 #define GEE_DEQUE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_DEQUE, GeeDequeIface))
342
343 typedef struct _GeeDeque GeeDeque;
344 typedef struct _GeeDequeIface GeeDequeIface;
345
346 #define GEE_TYPE_ARRAY_QUEUE (gee_array_queue_get_type ())
347 #define GEE_ARRAY_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ARRAY_QUEUE, GeeArrayQueue))
348 #define GEE_ARRAY_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ARRAY_QUEUE, GeeArrayQueueClass))
349 #define GEE_IS_ARRAY_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ARRAY_QUEUE))
350 #define GEE_IS_ARRAY_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ARRAY_QUEUE))
351 #define GEE_ARRAY_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ARRAY_QUEUE, GeeArrayQueueClass))
352
353 typedef struct _GeeArrayQueue GeeArrayQueue;
354 typedef struct _GeeArrayQueueClass GeeArrayQueueClass;
355 typedef struct _GeeArrayQueuePrivate GeeArrayQueuePrivate;
356
357 #define GEE_TYPE_COMPARABLE (gee_comparable_get_type ())
358 #define GEE_COMPARABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_COMPARABLE, GeeComparable))
359 #define GEE_IS_COMPARABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_COMPARABLE))
360 #define GEE_COMPARABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_COMPARABLE, GeeComparableIface))
361
362 typedef struct _GeeComparable GeeComparable;
363 typedef struct _GeeComparableIface GeeComparableIface;
364
365 #define GEE_TYPE_CONCURRENT_LIST (gee_concurrent_list_get_type ())
366 #define GEE_CONCURRENT_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_CONCURRENT_LIST, GeeConcurrentList))
367 #define GEE_CONCURRENT_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_CONCURRENT_LIST, GeeConcurrentListClass))
368 #define GEE_IS_CONCURRENT_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_CONCURRENT_LIST))
369 #define GEE_IS_CONCURRENT_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_CONCURRENT_LIST))
370 #define GEE_CONCURRENT_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_CONCURRENT_LIST, GeeConcurrentListClass))
371
372 typedef struct _GeeConcurrentList GeeConcurrentList;
373 typedef struct _GeeConcurrentListClass GeeConcurrentListClass;
374 typedef struct _GeeConcurrentListPrivate GeeConcurrentListPrivate;
375
376 #define GEE_TYPE_CONCURRENT_SET (gee_concurrent_set_get_type ())
377 #define GEE_CONCURRENT_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_CONCURRENT_SET, GeeConcurrentSet))
378 #define GEE_CONCURRENT_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_CONCURRENT_SET, GeeConcurrentSetClass))
379 #define GEE_IS_CONCURRENT_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_CONCURRENT_SET))
380 #define GEE_IS_CONCURRENT_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_CONCURRENT_SET))
381 #define GEE_CONCURRENT_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_CONCURRENT_SET, GeeConcurrentSetClass))
382
383 typedef struct _GeeConcurrentSet GeeConcurrentSet;
384 typedef struct _GeeConcurrentSetClass GeeConcurrentSetClass;
385 typedef struct _GeeConcurrentSetPrivate GeeConcurrentSetPrivate;
386
387 #define GEE_CONCURRENT_SET_TYPE_RANGE_TYPE (gee_concurrent_set_range_type_get_type ())
388
389 #define GEE_TYPE_HASHABLE (gee_hashable_get_type ())
390 #define GEE_HASHABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_HASHABLE, GeeHashable))
391 #define GEE_IS_HASHABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_HASHABLE))
392 #define GEE_HASHABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_HASHABLE, GeeHashableIface))
393
394 typedef struct _GeeHashable GeeHashable;
395 typedef struct _GeeHashableIface GeeHashableIface;
396
397 #define GEE_TYPE_HASH_MAP (gee_hash_map_get_type ())
398 #define GEE_HASH_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_HASH_MAP, GeeHashMap))
399 #define GEE_HASH_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_HASH_MAP, GeeHashMapClass))
400 #define GEE_IS_HASH_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_HASH_MAP))
401 #define GEE_IS_HASH_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_HASH_MAP))
402 #define GEE_HASH_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_HASH_MAP, GeeHashMapClass))
403
404 typedef struct _GeeHashMap GeeHashMap;
405 typedef struct _GeeHashMapClass GeeHashMapClass;
406 typedef struct _GeeHashMapPrivate GeeHashMapPrivate;
407
408 #define GEE_TYPE_HASH_MULTI_MAP (gee_hash_multi_map_get_type ())
409 #define GEE_HASH_MULTI_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_HASH_MULTI_MAP, GeeHashMultiMap))
410 #define GEE_HASH_MULTI_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_HASH_MULTI_MAP, GeeHashMultiMapClass))
411 #define GEE_IS_HASH_MULTI_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_HASH_MULTI_MAP))
412 #define GEE_IS_HASH_MULTI_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_HASH_MULTI_MAP))
413 #define GEE_HASH_MULTI_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_HASH_MULTI_MAP, GeeHashMultiMapClass))
414
415 typedef struct _GeeHashMultiMap GeeHashMultiMap;
416 typedef struct _GeeHashMultiMapClass GeeHashMultiMapClass;
417 typedef struct _GeeHashMultiMapPrivate GeeHashMultiMapPrivate;
418
419 #define GEE_TYPE_HASH_MULTI_SET (gee_hash_multi_set_get_type ())
420 #define GEE_HASH_MULTI_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_HASH_MULTI_SET, GeeHashMultiSet))
421 #define GEE_HASH_MULTI_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_HASH_MULTI_SET, GeeHashMultiSetClass))
422 #define GEE_IS_HASH_MULTI_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_HASH_MULTI_SET))
423 #define GEE_IS_HASH_MULTI_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_HASH_MULTI_SET))
424 #define GEE_HASH_MULTI_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_HASH_MULTI_SET, GeeHashMultiSetClass))
425
426 typedef struct _GeeHashMultiSet GeeHashMultiSet;
427 typedef struct _GeeHashMultiSetClass GeeHashMultiSetClass;
428 typedef struct _GeeHashMultiSetPrivate GeeHashMultiSetPrivate;
429
430 #define GEE_TYPE_HASH_SET (gee_hash_set_get_type ())
431 #define GEE_HASH_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_HASH_SET, GeeHashSet))
432 #define GEE_HASH_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_HASH_SET, GeeHashSetClass))
433 #define GEE_IS_HASH_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_HASH_SET))
434 #define GEE_IS_HASH_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_HASH_SET))
435 #define GEE_HASH_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_HASH_SET, GeeHashSetClass))
436
437 typedef struct _GeeHashSet GeeHashSet;
438 typedef struct _GeeHashSetClass GeeHashSetClass;
439 typedef struct _GeeHashSetPrivate GeeHashSetPrivate;
440 typedef struct _GeeHazardPointer GeeHazardPointer;
441 typedef struct _GeeHazardPointerNode GeeHazardPointerNode;
442
443 #define GEE_HAZARD_POINTER_TYPE_POLICY (gee_hazard_pointer_policy_get_type ())
444
445 #define GEE_HAZARD_POINTER_TYPE_RELEASE_POLICY (gee_hazard_pointer_release_policy_get_type ())
446 typedef struct _GeeHazardPointerContext GeeHazardPointerContext;
447 typedef struct _GeeHazardPointerFreeNode GeeHazardPointerFreeNode;
448 typedef struct _GeeLazyPrivate GeeLazyPrivate;
449
450 #define GEE_TYPE_LINKED_LIST (gee_linked_list_get_type ())
451 #define GEE_LINKED_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_LINKED_LIST, GeeLinkedList))
452 #define GEE_LINKED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_LINKED_LIST, GeeLinkedListClass))
453 #define GEE_IS_LINKED_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_LINKED_LIST))
454 #define GEE_IS_LINKED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_LINKED_LIST))
455 #define GEE_LINKED_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_LINKED_LIST, GeeLinkedListClass))
456
457 typedef struct _GeeLinkedList GeeLinkedList;
458 typedef struct _GeeLinkedListClass GeeLinkedListClass;
459 typedef struct _GeeLinkedListPrivate GeeLinkedListPrivate;
460 typedef struct _GeeMapEntryPrivate GeeMapEntryPrivate;
461
462 #define GEE_TYPE_PRIORITY_QUEUE (gee_priority_queue_get_type ())
463 #define GEE_PRIORITY_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_PRIORITY_QUEUE, GeePriorityQueue))
464 #define GEE_PRIORITY_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_PRIORITY_QUEUE, GeePriorityQueueClass))
465 #define GEE_IS_PRIORITY_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_PRIORITY_QUEUE))
466 #define GEE_IS_PRIORITY_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_PRIORITY_QUEUE))
467 #define GEE_PRIORITY_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_PRIORITY_QUEUE, GeePriorityQueueClass))
468
469 typedef struct _GeePriorityQueue GeePriorityQueue;
470 typedef struct _GeePriorityQueueClass GeePriorityQueueClass;
471 typedef struct _GeePriorityQueuePrivate GeePriorityQueuePrivate;
472
473 #define GEE_TYPE_TREE_MAP (gee_tree_map_get_type ())
474 #define GEE_TREE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TREE_MAP, GeeTreeMap))
475 #define GEE_TREE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_TREE_MAP, GeeTreeMapClass))
476 #define GEE_IS_TREE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TREE_MAP))
477 #define GEE_IS_TREE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_TREE_MAP))
478 #define GEE_TREE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_TREE_MAP, GeeTreeMapClass))
479
480 typedef struct _GeeTreeMap GeeTreeMap;
481 typedef struct _GeeTreeMapClass GeeTreeMapClass;
482 typedef struct _GeeTreeMapPrivate GeeTreeMapPrivate;
483
484 #define GEE_TYPE_TREE_MULTI_MAP (gee_tree_multi_map_get_type ())
485 #define GEE_TREE_MULTI_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TREE_MULTI_MAP, GeeTreeMultiMap))
486 #define GEE_TREE_MULTI_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_TREE_MULTI_MAP, GeeTreeMultiMapClass))
487 #define GEE_IS_TREE_MULTI_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TREE_MULTI_MAP))
488 #define GEE_IS_TREE_MULTI_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_TREE_MULTI_MAP))
489 #define GEE_TREE_MULTI_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_TREE_MULTI_MAP, GeeTreeMultiMapClass))
490
491 typedef struct _GeeTreeMultiMap GeeTreeMultiMap;
492 typedef struct _GeeTreeMultiMapClass GeeTreeMultiMapClass;
493 typedef struct _GeeTreeMultiMapPrivate GeeTreeMultiMapPrivate;
494
495 #define GEE_TYPE_TREE_MULTI_SET (gee_tree_multi_set_get_type ())
496 #define GEE_TREE_MULTI_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TREE_MULTI_SET, GeeTreeMultiSet))
497 #define GEE_TREE_MULTI_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_TREE_MULTI_SET, GeeTreeMultiSetClass))
498 #define GEE_IS_TREE_MULTI_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TREE_MULTI_SET))
499 #define GEE_IS_TREE_MULTI_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_TREE_MULTI_SET))
500 #define GEE_TREE_MULTI_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_TREE_MULTI_SET, GeeTreeMultiSetClass))
501
502 typedef struct _GeeTreeMultiSet GeeTreeMultiSet;
503 typedef struct _GeeTreeMultiSetClass GeeTreeMultiSetClass;
504 typedef struct _GeeTreeMultiSetPrivate GeeTreeMultiSetPrivate;
505
506 #define GEE_TYPE_TREE_SET (gee_tree_set_get_type ())
507 #define GEE_TREE_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TREE_SET, GeeTreeSet))
508 #define GEE_TREE_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_TREE_SET, GeeTreeSetClass))
509 #define GEE_IS_TREE_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TREE_SET))
510 #define GEE_IS_TREE_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_TREE_SET))
511 #define GEE_TREE_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_TREE_SET, GeeTreeSetClass))
512
513 typedef struct _GeeTreeSet GeeTreeSet;
514 typedef struct _GeeTreeSetClass GeeTreeSetClass;
515 typedef struct _GeeTreeSetPrivate GeeTreeSetPrivate;
516
517 typedef gboolean (*GeeForallFunc) (gpointer g, void* user_data);
518 typedef enum  {
519         GEE_TRAVERSABLE_STREAM_YIELD,
520         GEE_TRAVERSABLE_STREAM_CONTINUE,
521         GEE_TRAVERSABLE_STREAM_END
522 } GeeTraversableStream;
523
524 typedef GeeTraversableStream (*GeeStreamFunc) (GeeTraversableStream state, GeeLazy* g, GeeLazy** lazy, void* user_data);
525 struct _GeeIteratorIface {
526         GTypeInterface parent_iface;
527         gboolean (*next) (GeeIterator* self);
528         gboolean (*has_next) (GeeIterator* self);
529         gpointer (*get) (GeeIterator* self);
530         void (*remove) (GeeIterator* self);
531         gboolean (*get_valid) (GeeIterator* self);
532         gboolean (*get_read_only) (GeeIterator* self);
533 };
534
535 typedef gpointer (*GeeFoldFunc) (gpointer g, gpointer a, void* user_data);
536 typedef gpointer (*GeeMapFunc) (gpointer g, void* user_data);
537 typedef gboolean (*GeePredicate) (gconstpointer g, void* user_data);
538 struct _GeeTraversableIface {
539         GTypeInterface parent_iface;
540         GType (*get_g_type) (GeeTraversable* self);
541         GBoxedCopyFunc (*get_g_dup_func) (GeeTraversable* self);
542         GDestroyNotify (*get_g_destroy_func) (GeeTraversable* self);
543         gboolean (*foreach) (GeeTraversable* self, GeeForallFunc f, void* f_target);
544         GeeIterator* (*stream) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeStreamFunc f, void* f_target, GDestroyNotify f_target_destroy_notify);
545         gpointer (*fold) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
546         GeeIterator* (*map) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeMapFunc f, void* f_target);
547         GeeIterator* (*scan) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
548         GeeIterator* (*filter) (GeeTraversable* self, GeePredicate pred, void* pred_target, GDestroyNotify pred_target_destroy_notify);
549         GeeIterator* (*chop) (GeeTraversable* self, gint offset, gint length);
550         GType (*get_element_type) (GeeTraversable* self);
551 };
552
553 struct _GeeIterableIface {
554         GTypeInterface parent_iface;
555         GType (*get_g_type) (GeeIterable* self);
556         GBoxedCopyFunc (*get_g_dup_func) (GeeIterable* self);
557         GDestroyNotify (*get_g_destroy_func) (GeeIterable* self);
558         GeeIterator* (*iterator) (GeeIterable* self);
559 };
560
561 struct _GeeCollectionIface {
562         GTypeInterface parent_iface;
563         GType (*get_g_type) (GeeCollection* self);
564         GBoxedCopyFunc (*get_g_dup_func) (GeeCollection* self);
565         GDestroyNotify (*get_g_destroy_func) (GeeCollection* self);
566         gboolean (*contains) (GeeCollection* self, gconstpointer item);
567         gboolean (*add) (GeeCollection* self, gconstpointer item);
568         gboolean (*remove) (GeeCollection* self, gconstpointer item);
569         void (*clear) (GeeCollection* self);
570         gboolean (*add_all) (GeeCollection* self, GeeCollection* collection);
571         gboolean (*contains_all) (GeeCollection* self, GeeCollection* collection);
572         gboolean (*remove_all) (GeeCollection* self, GeeCollection* collection);
573         gboolean (*retain_all) (GeeCollection* self, GeeCollection* collection);
574         gpointer* (*to_array) (GeeCollection* self, int* result_length1);
575         gint (*get_size) (GeeCollection* self);
576         gboolean (*get_is_empty) (GeeCollection* self);
577         gboolean (*get_read_only) (GeeCollection* self);
578         GeeCollection* (*get_read_only_view) (GeeCollection* self);
579 };
580
581 struct _GeeAbstractCollection {
582         GObject parent_instance;
583         GeeAbstractCollectionPrivate * priv;
584 };
585
586 struct _GeeAbstractCollectionClass {
587         GObjectClass parent_class;
588         gboolean (*contains) (GeeAbstractCollection* self, gconstpointer item);
589         gboolean (*add) (GeeAbstractCollection* self, gconstpointer item);
590         gboolean (*remove) (GeeAbstractCollection* self, gconstpointer item);
591         void (*clear) (GeeAbstractCollection* self);
592         GeeIterator* (*iterator) (GeeAbstractCollection* self);
593         gboolean (*foreach) (GeeAbstractCollection* self, GeeForallFunc f, void* f_target);
594         void (*reserved0) (GeeAbstractCollection* self);
595         void (*reserved1) (GeeAbstractCollection* self);
596         void (*reserved2) (GeeAbstractCollection* self);
597         void (*reserved3) (GeeAbstractCollection* self);
598         void (*reserved4) (GeeAbstractCollection* self);
599         void (*reserved5) (GeeAbstractCollection* self);
600         void (*reserved6) (GeeAbstractCollection* self);
601         void (*reserved7) (GeeAbstractCollection* self);
602         void (*reserved8) (GeeAbstractCollection* self);
603         void (*reserved9) (GeeAbstractCollection* self);
604         gint (*get_size) (GeeAbstractCollection* self);
605         gboolean (*get_read_only) (GeeAbstractCollection* self);
606         GeeCollection* (*get_read_only_view) (GeeAbstractCollection* self);
607 };
608
609 struct _GeeListIteratorIface {
610         GTypeInterface parent_iface;
611         void (*set) (GeeListIterator* self, gconstpointer item);
612         void (*add) (GeeListIterator* self, gconstpointer item);
613         gint (*index) (GeeListIterator* self);
614 };
615
616 struct _GeeListIface {
617         GTypeInterface parent_iface;
618         GType (*get_g_type) (GeeList* self);
619         GBoxedCopyFunc (*get_g_dup_func) (GeeList* self);
620         GDestroyNotify (*get_g_destroy_func) (GeeList* self);
621         GeeListIterator* (*list_iterator) (GeeList* self);
622         gpointer (*get) (GeeList* self, gint index);
623         void (*set) (GeeList* self, gint index, gconstpointer item);
624         gint (*index_of) (GeeList* self, gconstpointer item);
625         void (*insert) (GeeList* self, gint index, gconstpointer item);
626         gpointer (*remove_at) (GeeList* self, gint index);
627         GeeList* (*slice) (GeeList* self, gint start, gint stop);
628         gpointer (*first) (GeeList* self);
629         gpointer (*last) (GeeList* self);
630         void (*insert_all) (GeeList* self, gint index, GeeCollection* collection);
631         void (*sort) (GeeList* self, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify);
632         GeeList* (*get_read_only_view) (GeeList* self);
633 };
634
635 struct _GeeAbstractList {
636         GeeAbstractCollection parent_instance;
637         GeeAbstractListPrivate * priv;
638 };
639
640 struct _GeeAbstractListClass {
641         GeeAbstractCollectionClass parent_class;
642         GeeListIterator* (*list_iterator) (GeeAbstractList* self);
643         gpointer (*get) (GeeAbstractList* self, gint index);
644         void (*set) (GeeAbstractList* self, gint index, gconstpointer item);
645         gint (*index_of) (GeeAbstractList* self, gconstpointer item);
646         void (*insert) (GeeAbstractList* self, gint index, gconstpointer item);
647         gpointer (*remove_at) (GeeAbstractList* self, gint index);
648         GeeList* (*slice) (GeeAbstractList* self, gint start, gint stop);
649         void (*reserved0) (GeeAbstractList* self);
650         void (*reserved1) (GeeAbstractList* self);
651         void (*reserved2) (GeeAbstractList* self);
652         void (*reserved3) (GeeAbstractList* self);
653         void (*reserved4) (GeeAbstractList* self);
654         void (*reserved5) (GeeAbstractList* self);
655         void (*reserved6) (GeeAbstractList* self);
656         void (*reserved7) (GeeAbstractList* self);
657         void (*reserved8) (GeeAbstractList* self);
658         void (*reserved9) (GeeAbstractList* self);
659         GeeList* (*get_read_only_view) (GeeAbstractList* self);
660 };
661
662 struct _GeeBidirIteratorIface {
663         GTypeInterface parent_iface;
664         GType (*get_g_type) (GeeBidirIterator* self);
665         GBoxedCopyFunc (*get_g_dup_func) (GeeBidirIterator* self);
666         GDestroyNotify (*get_g_destroy_func) (GeeBidirIterator* self);
667         gboolean (*previous) (GeeBidirIterator* self);
668         gboolean (*has_previous) (GeeBidirIterator* self);
669         gboolean (*first) (GeeBidirIterator* self);
670         gboolean (*last) (GeeBidirIterator* self);
671 };
672
673 struct _GeeBidirListIteratorIface {
674         GTypeInterface parent_iface;
675         GType (*get_g_type) (GeeBidirListIterator* self);
676         GBoxedCopyFunc (*get_g_dup_func) (GeeBidirListIterator* self);
677         GDestroyNotify (*get_g_destroy_func) (GeeBidirListIterator* self);
678         void (*insert) (GeeBidirListIterator* self, gconstpointer item);
679 };
680
681 struct _GeeBidirListIface {
682         GTypeInterface parent_iface;
683         GType (*get_g_type) (GeeBidirList* self);
684         GBoxedCopyFunc (*get_g_dup_func) (GeeBidirList* self);
685         GDestroyNotify (*get_g_destroy_func) (GeeBidirList* self);
686         GeeBidirListIterator* (*bidir_list_iterator) (GeeBidirList* self);
687         GeeBidirList* (*get_read_only_view) (GeeBidirList* self);
688 };
689
690 struct _GeeAbstractBidirList {
691         GeeAbstractList parent_instance;
692         GeeAbstractBidirListPrivate * priv;
693 };
694
695 struct _GeeAbstractBidirListClass {
696         GeeAbstractListClass parent_class;
697         GeeBidirListIterator* (*bidir_list_iterator) (GeeAbstractBidirList* self);
698         void (*reserved0) (GeeAbstractBidirList* self);
699         void (*reserved1) (GeeAbstractBidirList* self);
700         void (*reserved2) (GeeAbstractBidirList* self);
701         void (*reserved3) (GeeAbstractBidirList* self);
702         void (*reserved4) (GeeAbstractBidirList* self);
703         void (*reserved5) (GeeAbstractBidirList* self);
704         void (*reserved6) (GeeAbstractBidirList* self);
705         void (*reserved7) (GeeAbstractBidirList* self);
706         void (*reserved8) (GeeAbstractBidirList* self);
707         void (*reserved9) (GeeAbstractBidirList* self);
708         GeeBidirList* (*get_read_only_view) (GeeAbstractBidirList* self);
709 };
710
711 struct _GeeSetIface {
712         GTypeInterface parent_iface;
713         GType (*get_g_type) (GeeSet* self);
714         GBoxedCopyFunc (*get_g_dup_func) (GeeSet* self);
715         GDestroyNotify (*get_g_destroy_func) (GeeSet* self);
716         GeeSet* (*get_read_only_view) (GeeSet* self);
717 };
718
719 struct _GeeAbstractSet {
720         GeeAbstractCollection parent_instance;
721         GeeAbstractSetPrivate * priv;
722 };
723
724 struct _GeeAbstractSetClass {
725         GeeAbstractCollectionClass parent_class;
726         void (*reserved0) (GeeAbstractSet* self);
727         void (*reserved1) (GeeAbstractSet* self);
728         void (*reserved2) (GeeAbstractSet* self);
729         void (*reserved3) (GeeAbstractSet* self);
730         void (*reserved4) (GeeAbstractSet* self);
731         void (*reserved5) (GeeAbstractSet* self);
732         void (*reserved6) (GeeAbstractSet* self);
733         void (*reserved7) (GeeAbstractSet* self);
734         void (*reserved8) (GeeAbstractSet* self);
735         void (*reserved9) (GeeAbstractSet* self);
736         GeeSet* (*get_read_only_view) (GeeAbstractSet* self);
737 };
738
739 struct _GeeSortedSetIface {
740         GTypeInterface parent_iface;
741         GType (*get_g_type) (GeeSortedSet* self);
742         GBoxedCopyFunc (*get_g_dup_func) (GeeSortedSet* self);
743         GDestroyNotify (*get_g_destroy_func) (GeeSortedSet* self);
744         gpointer (*first) (GeeSortedSet* self);
745         gpointer (*last) (GeeSortedSet* self);
746         GeeIterator* (*iterator_at) (GeeSortedSet* self, gconstpointer element);
747         gpointer (*lower) (GeeSortedSet* self, gconstpointer element);
748         gpointer (*higher) (GeeSortedSet* self, gconstpointer element);
749         gpointer (*floor) (GeeSortedSet* self, gconstpointer element);
750         gpointer (*ceil) (GeeSortedSet* self, gconstpointer element);
751         GeeSortedSet* (*head_set) (GeeSortedSet* self, gconstpointer before);
752         GeeSortedSet* (*tail_set) (GeeSortedSet* self, gconstpointer after);
753         GeeSortedSet* (*sub_set) (GeeSortedSet* self, gconstpointer from, gconstpointer to);
754         GeeSortedSet* (*get_read_only_view) (GeeSortedSet* self);
755 };
756
757 struct _GeeAbstractSortedSet {
758         GeeAbstractSet parent_instance;
759         GeeAbstractSortedSetPrivate * priv;
760 };
761
762 struct _GeeAbstractSortedSetClass {
763         GeeAbstractSetClass parent_class;
764         gpointer (*first) (GeeAbstractSortedSet* self);
765         gpointer (*last) (GeeAbstractSortedSet* self);
766         GeeIterator* (*iterator_at) (GeeAbstractSortedSet* self, gconstpointer element);
767         gpointer (*lower) (GeeAbstractSortedSet* self, gconstpointer element);
768         gpointer (*higher) (GeeAbstractSortedSet* self, gconstpointer element);
769         gpointer (*floor) (GeeAbstractSortedSet* self, gconstpointer element);
770         gpointer (*ceil) (GeeAbstractSortedSet* self, gconstpointer element);
771         GeeSortedSet* (*head_set) (GeeAbstractSortedSet* self, gconstpointer before);
772         GeeSortedSet* (*tail_set) (GeeAbstractSortedSet* self, gconstpointer after);
773         GeeSortedSet* (*sub_set) (GeeAbstractSortedSet* self, gconstpointer from, gconstpointer to);
774         void (*reserved0) (GeeAbstractSortedSet* self);
775         void (*reserved1) (GeeAbstractSortedSet* self);
776         void (*reserved2) (GeeAbstractSortedSet* self);
777         void (*reserved3) (GeeAbstractSortedSet* self);
778         void (*reserved4) (GeeAbstractSortedSet* self);
779         void (*reserved5) (GeeAbstractSortedSet* self);
780         void (*reserved6) (GeeAbstractSortedSet* self);
781         void (*reserved7) (GeeAbstractSortedSet* self);
782         void (*reserved8) (GeeAbstractSortedSet* self);
783         void (*reserved9) (GeeAbstractSortedSet* self);
784         GeeSortedSet* (*get_read_only_view) (GeeAbstractSortedSet* self);
785 };
786
787 struct _GeeBidirSortedSetIface {
788         GTypeInterface parent_iface;
789         GType (*get_g_type) (GeeBidirSortedSet* self);
790         GBoxedCopyFunc (*get_g_dup_func) (GeeBidirSortedSet* self);
791         GDestroyNotify (*get_g_destroy_func) (GeeBidirSortedSet* self);
792         GeeBidirIterator* (*bidir_iterator) (GeeBidirSortedSet* self);
793         GeeBidirSortedSet* (*get_read_only_view) (GeeBidirSortedSet* self);
794 };
795
796 struct _GeeAbstractBidirSortedSet {
797         GeeAbstractSortedSet parent_instance;
798         GeeAbstractBidirSortedSetPrivate * priv;
799 };
800
801 struct _GeeAbstractBidirSortedSetClass {
802         GeeAbstractSortedSetClass parent_class;
803         GeeBidirIterator* (*bidir_iterator) (GeeAbstractBidirSortedSet* self);
804         void (*reserved0) (GeeAbstractBidirSortedSet* self);
805         void (*reserved1) (GeeAbstractBidirSortedSet* self);
806         void (*reserved2) (GeeAbstractBidirSortedSet* self);
807         void (*reserved3) (GeeAbstractBidirSortedSet* self);
808         void (*reserved4) (GeeAbstractBidirSortedSet* self);
809         void (*reserved5) (GeeAbstractBidirSortedSet* self);
810         void (*reserved6) (GeeAbstractBidirSortedSet* self);
811         void (*reserved7) (GeeAbstractBidirSortedSet* self);
812         void (*reserved8) (GeeAbstractBidirSortedSet* self);
813         void (*reserved9) (GeeAbstractBidirSortedSet* self);
814         GeeBidirSortedSet* (*get_read_only_view) (GeeAbstractBidirSortedSet* self);
815 };
816
817 typedef gpointer (*GeeFoldMapFunc) (gconstpointer k, gconstpointer v, gpointer a, void* user_data);
818 typedef gboolean (*GeeForallMapFunc) (gconstpointer k, gconstpointer v, void* user_data);
819 struct _GeeMapIteratorIface {
820         GTypeInterface parent_iface;
821         GType (*get_k_type) (GeeMapIterator* self);
822         GBoxedCopyFunc (*get_k_dup_func) (GeeMapIterator* self);
823         GDestroyNotify (*get_k_destroy_func) (GeeMapIterator* self);
824         GType (*get_v_type) (GeeMapIterator* self);
825         GBoxedCopyFunc (*get_v_dup_func) (GeeMapIterator* self);
826         GDestroyNotify (*get_v_destroy_func) (GeeMapIterator* self);
827         gboolean (*next) (GeeMapIterator* self);
828         gboolean (*has_next) (GeeMapIterator* self);
829         gpointer (*get_key) (GeeMapIterator* self);
830         gpointer (*get_value) (GeeMapIterator* self);
831         void (*set_value) (GeeMapIterator* self, gconstpointer value);
832         void (*unset) (GeeMapIterator* self);
833         gpointer (*fold) (GeeMapIterator* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldMapFunc f, void* f_target, gpointer seed);
834         gboolean (*foreach) (GeeMapIterator* self, GeeForallMapFunc f, void* f_target);
835         gboolean (*get_valid) (GeeMapIterator* self);
836         gboolean (*get_mutable) (GeeMapIterator* self);
837         gboolean (*get_read_only) (GeeMapIterator* self);
838 };
839
840 struct _GeeMapIface {
841         GTypeInterface parent_iface;
842         GType (*get_k_type) (GeeMap* self);
843         GBoxedCopyFunc (*get_k_dup_func) (GeeMap* self);
844         GDestroyNotify (*get_k_destroy_func) (GeeMap* self);
845         GType (*get_v_type) (GeeMap* self);
846         GBoxedCopyFunc (*get_v_dup_func) (GeeMap* self);
847         GDestroyNotify (*get_v_destroy_func) (GeeMap* self);
848         gboolean (*has_key) (GeeMap* self, gconstpointer key);
849         gboolean (*has) (GeeMap* self, gconstpointer key, gconstpointer value);
850         gpointer (*get) (GeeMap* self, gconstpointer key);
851         void (*set) (GeeMap* self, gconstpointer key, gconstpointer value);
852         gboolean (*unset) (GeeMap* self, gconstpointer key, gpointer* value);
853         void (*clear) (GeeMap* self);
854         GeeMapIterator* (*map_iterator) (GeeMap* self);
855         void (*set_all) (GeeMap* self, GeeMap* map);
856         gboolean (*unset_all) (GeeMap* self, GeeMap* map);
857         gboolean (*has_all) (GeeMap* self, GeeMap* map);
858         gint (*get_size) (GeeMap* self);
859         gboolean (*get_is_empty) (GeeMap* self);
860         gboolean (*get_read_only) (GeeMap* self);
861         GeeSet* (*get_keys) (GeeMap* self);
862         GeeCollection* (*get_values) (GeeMap* self);
863         GeeSet* (*get_entries) (GeeMap* self);
864         GeeMap* (*get_read_only_view) (GeeMap* self);
865 };
866
867 struct _GeeAbstractMap {
868         GObject parent_instance;
869         GeeAbstractMapPrivate * priv;
870 };
871
872 struct _GeeAbstractMapClass {
873         GObjectClass parent_class;
874         gboolean (*has_key) (GeeAbstractMap* self, gconstpointer key);
875         gboolean (*has) (GeeAbstractMap* self, gconstpointer key, gconstpointer value);
876         gpointer (*get) (GeeAbstractMap* self, gconstpointer key);
877         void (*set) (GeeAbstractMap* self, gconstpointer key, gconstpointer value);
878         gboolean (*unset) (GeeAbstractMap* self, gconstpointer key, gpointer* value);
879         GeeMapIterator* (*map_iterator) (GeeAbstractMap* self);
880         void (*clear) (GeeAbstractMap* self);
881         gboolean (*foreach) (GeeAbstractMap* self, GeeForallFunc f, void* f_target);
882         GeeIterator* (*stream) (GeeAbstractMap* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeStreamFunc f, void* f_target, GDestroyNotify f_target_destroy_notify);
883         void (*reserved0) (GeeAbstractMap* self);
884         void (*reserved1) (GeeAbstractMap* self);
885         void (*reserved2) (GeeAbstractMap* self);
886         void (*reserved3) (GeeAbstractMap* self);
887         void (*reserved4) (GeeAbstractMap* self);
888         void (*reserved5) (GeeAbstractMap* self);
889         void (*reserved6) (GeeAbstractMap* self);
890         void (*reserved7) (GeeAbstractMap* self);
891         void (*reserved8) (GeeAbstractMap* self);
892         void (*reserved9) (GeeAbstractMap* self);
893         gint (*get_size) (GeeAbstractMap* self);
894         gboolean (*get_read_only) (GeeAbstractMap* self);
895         GeeSet* (*get_keys) (GeeAbstractMap* self);
896         GeeCollection* (*get_values) (GeeAbstractMap* self);
897         GeeSet* (*get_entries) (GeeAbstractMap* self);
898         GeeMap* (*get_read_only_view) (GeeAbstractMap* self);
899 };
900
901 struct _GeeSortedMapIface {
902         GTypeInterface parent_iface;
903         GeeSortedMap* (*head_map) (GeeSortedMap* self, gconstpointer before);
904         GeeSortedMap* (*tail_map) (GeeSortedMap* self, gconstpointer after);
905         GeeSortedMap* (*sub_map) (GeeSortedMap* self, gconstpointer before, gconstpointer after);
906         GeeSortedSet* (*get_ascending_keys) (GeeSortedMap* self);
907         GeeSortedSet* (*get_ascending_entries) (GeeSortedMap* self);
908         GeeSortedMap* (*get_read_only_view) (GeeSortedMap* self);
909 };
910
911 struct _GeeAbstractSortedMap {
912         GeeAbstractMap parent_instance;
913         GeeAbstractSortedMapPrivate * priv;
914 };
915
916 struct _GeeAbstractSortedMapClass {
917         GeeAbstractMapClass parent_class;
918         GeeSortedMap* (*head_map) (GeeAbstractSortedMap* self, gconstpointer before);
919         GeeSortedMap* (*tail_map) (GeeAbstractSortedMap* self, gconstpointer after);
920         GeeSortedMap* (*sub_map) (GeeAbstractSortedMap* self, gconstpointer before, gconstpointer after);
921         void (*reserved0) (GeeAbstractSortedMap* self);
922         void (*reserved1) (GeeAbstractSortedMap* self);
923         void (*reserved2) (GeeAbstractSortedMap* self);
924         void (*reserved3) (GeeAbstractSortedMap* self);
925         void (*reserved4) (GeeAbstractSortedMap* self);
926         void (*reserved5) (GeeAbstractSortedMap* self);
927         void (*reserved6) (GeeAbstractSortedMap* self);
928         void (*reserved7) (GeeAbstractSortedMap* self);
929         void (*reserved8) (GeeAbstractSortedMap* self);
930         void (*reserved9) (GeeAbstractSortedMap* self);
931         GeeSortedSet* (*get_ascending_keys) (GeeAbstractSortedMap* self);
932         GeeSortedSet* (*get_ascending_entries) (GeeAbstractSortedMap* self);
933 };
934
935 struct _GeeBidirMapIteratorIface {
936         GTypeInterface parent_iface;
937         GType (*get_k_type) (GeeBidirMapIterator* self);
938         GBoxedCopyFunc (*get_k_dup_func) (GeeBidirMapIterator* self);
939         GDestroyNotify (*get_k_destroy_func) (GeeBidirMapIterator* self);
940         GType (*get_v_type) (GeeBidirMapIterator* self);
941         GBoxedCopyFunc (*get_v_dup_func) (GeeBidirMapIterator* self);
942         GDestroyNotify (*get_v_destroy_func) (GeeBidirMapIterator* self);
943         gboolean (*previous) (GeeBidirMapIterator* self);
944         gboolean (*has_previous) (GeeBidirMapIterator* self);
945         gboolean (*first) (GeeBidirMapIterator* self);
946         gboolean (*last) (GeeBidirMapIterator* self);
947 };
948
949 struct _GeeBidirSortedMapIface {
950         GTypeInterface parent_iface;
951         GType (*get_k_type) (GeeBidirSortedMap* self);
952         GBoxedCopyFunc (*get_k_dup_func) (GeeBidirSortedMap* self);
953         GDestroyNotify (*get_k_destroy_func) (GeeBidirSortedMap* self);
954         GType (*get_v_type) (GeeBidirSortedMap* self);
955         GBoxedCopyFunc (*get_v_dup_func) (GeeBidirSortedMap* self);
956         GDestroyNotify (*get_v_destroy_func) (GeeBidirSortedMap* self);
957         GeeBidirMapIterator* (*bidir_map_iterator) (GeeBidirSortedMap* self);
958         GeeBidirSortedMap* (*get_read_only_view) (GeeBidirSortedMap* self);
959 };
960
961 struct _GeeAbstractBidirSortedMap {
962         GeeAbstractSortedMap parent_instance;
963         GeeAbstractBidirSortedMapPrivate * priv;
964 };
965
966 struct _GeeAbstractBidirSortedMapClass {
967         GeeAbstractSortedMapClass parent_class;
968         GeeBidirMapIterator* (*bidir_map_iterator) (GeeAbstractBidirSortedMap* self);
969         void (*reserved0) (GeeAbstractBidirSortedMap* self);
970         void (*reserved1) (GeeAbstractBidirSortedMap* self);
971         void (*reserved2) (GeeAbstractBidirSortedMap* self);
972         void (*reserved3) (GeeAbstractBidirSortedMap* self);
973         void (*reserved4) (GeeAbstractBidirSortedMap* self);
974         void (*reserved5) (GeeAbstractBidirSortedMap* self);
975         void (*reserved6) (GeeAbstractBidirSortedMap* self);
976         void (*reserved7) (GeeAbstractBidirSortedMap* self);
977         void (*reserved8) (GeeAbstractBidirSortedMap* self);
978         void (*reserved9) (GeeAbstractBidirSortedMap* self);
979         GeeBidirSortedMap* (*get_read_only_view) (GeeAbstractBidirSortedMap* self);
980 };
981
982 struct _GeeMultiSetIface {
983         GTypeInterface parent_iface;
984         GType (*get_g_type) (GeeMultiSet* self);
985         GBoxedCopyFunc (*get_g_dup_func) (GeeMultiSet* self);
986         GDestroyNotify (*get_g_destroy_func) (GeeMultiSet* self);
987         gint (*count) (GeeMultiSet* self, gconstpointer item);
988         GeeMultiSet* (*get_read_only_view) (GeeMultiSet* self);
989 };
990
991 struct _GeeMultiMapIface {
992         GTypeInterface parent_iface;
993         GType (*get_k_type) (GeeMultiMap* self);
994         GBoxedCopyFunc (*get_k_dup_func) (GeeMultiMap* self);
995         GDestroyNotify (*get_k_destroy_func) (GeeMultiMap* self);
996         GType (*get_v_type) (GeeMultiMap* self);
997         GBoxedCopyFunc (*get_v_dup_func) (GeeMultiMap* self);
998         GDestroyNotify (*get_v_destroy_func) (GeeMultiMap* self);
999         GeeSet* (*get_keys) (GeeMultiMap* self);
1000         GeeMultiSet* (*get_all_keys) (GeeMultiMap* self);
1001         GeeCollection* (*get_values) (GeeMultiMap* self);
1002         gboolean (*contains) (GeeMultiMap* self, gconstpointer key);
1003         GeeCollection* (*get) (GeeMultiMap* self, gconstpointer key);
1004         void (*set) (GeeMultiMap* self, gconstpointer key, gconstpointer value);
1005         gboolean (*remove) (GeeMultiMap* self, gconstpointer key, gconstpointer value);
1006         gboolean (*remove_all) (GeeMultiMap* self, gconstpointer key);
1007         void (*clear) (GeeMultiMap* self);
1008         GeeMapIterator* (*map_iterator) (GeeMultiMap* self);
1009         gint (*get_size) (GeeMultiMap* self);
1010         gboolean (*get_read_only) (GeeMultiMap* self);
1011         GeeMultiMap* (*get_read_only_view) (GeeMultiMap* self);
1012 };
1013
1014 typedef gboolean (*GeeEqualDataFunc) (gconstpointer a, gconstpointer b, void* user_data);
1015 struct _GeeAbstractMultiMap {
1016         GObject parent_instance;
1017         GeeAbstractMultiMapPrivate * priv;
1018         GeeMap* _storage_map;
1019 };
1020
1021 struct _GeeAbstractMultiMapClass {
1022         GObjectClass parent_class;
1023         GeeCollection* (*create_value_storage) (GeeAbstractMultiMap* self);
1024         GeeMultiSet* (*create_multi_key_set) (GeeAbstractMultiMap* self);
1025         GeeEqualDataFunc (*get_value_equal_func) (GeeAbstractMultiMap* self, void** result_target, GDestroyNotify* result_target_destroy_notify);
1026         void (*reserved0) (GeeAbstractMultiMap* self);
1027         void (*reserved1) (GeeAbstractMultiMap* self);
1028         void (*reserved2) (GeeAbstractMultiMap* self);
1029         void (*reserved3) (GeeAbstractMultiMap* self);
1030         void (*reserved4) (GeeAbstractMultiMap* self);
1031         void (*reserved5) (GeeAbstractMultiMap* self);
1032         void (*reserved6) (GeeAbstractMultiMap* self);
1033         void (*reserved7) (GeeAbstractMultiMap* self);
1034         void (*reserved8) (GeeAbstractMultiMap* self);
1035         GeeMultiMap* (*get_read_only_view) (GeeAbstractMultiMap* self);
1036 };
1037
1038 struct _GeeAbstractMultiSet {
1039         GeeAbstractCollection parent_instance;
1040         GeeAbstractMultiSetPrivate * priv;
1041         GeeMap* _storage_map;
1042 };
1043
1044 struct _GeeAbstractMultiSetClass {
1045         GeeAbstractCollectionClass parent_class;
1046         void (*reserved0) (GeeAbstractMultiSet* self);
1047         void (*reserved1) (GeeAbstractMultiSet* self);
1048         void (*reserved2) (GeeAbstractMultiSet* self);
1049         void (*reserved3) (GeeAbstractMultiSet* self);
1050         void (*reserved4) (GeeAbstractMultiSet* self);
1051         void (*reserved5) (GeeAbstractMultiSet* self);
1052         void (*reserved6) (GeeAbstractMultiSet* self);
1053         void (*reserved7) (GeeAbstractMultiSet* self);
1054         void (*reserved8) (GeeAbstractMultiSet* self);
1055         GeeMultiSet* (*get_read_only_view) (GeeAbstractMultiSet* self);
1056 };
1057
1058 struct _GeeQueueIface {
1059         GTypeInterface parent_iface;
1060         GType (*get_g_type) (GeeQueue* self);
1061         GBoxedCopyFunc (*get_g_dup_func) (GeeQueue* self);
1062         GDestroyNotify (*get_g_destroy_func) (GeeQueue* self);
1063         gboolean (*offer) (GeeQueue* self, gconstpointer element);
1064         gpointer (*peek) (GeeQueue* self);
1065         gpointer (*poll) (GeeQueue* self);
1066         gint (*drain) (GeeQueue* self, GeeCollection* recipient, gint amount);
1067         gint (*get_capacity) (GeeQueue* self);
1068         gint (*get_remaining_capacity) (GeeQueue* self);
1069         gboolean (*get_is_full) (GeeQueue* self);
1070 };
1071
1072 struct _GeeAbstractQueue {
1073         GeeAbstractCollection parent_instance;
1074         GeeAbstractQueuePrivate * priv;
1075 };
1076
1077 struct _GeeAbstractQueueClass {
1078         GeeAbstractCollectionClass parent_class;
1079         gpointer (*peek) (GeeAbstractQueue* self);
1080         gpointer (*poll) (GeeAbstractQueue* self);
1081         void (*reserved0) (GeeAbstractQueue* self);
1082         void (*reserved1) (GeeAbstractQueue* self);
1083         void (*reserved2) (GeeAbstractQueue* self);
1084         void (*reserved3) (GeeAbstractQueue* self);
1085         void (*reserved4) (GeeAbstractQueue* self);
1086         void (*reserved5) (GeeAbstractQueue* self);
1087         void (*reserved6) (GeeAbstractQueue* self);
1088         void (*reserved7) (GeeAbstractQueue* self);
1089         void (*reserved8) (GeeAbstractQueue* self);
1090         void (*reserved9) (GeeAbstractQueue* self);
1091         gint (*get_capacity) (GeeAbstractQueue* self);
1092         gint (*get_remaining_capacity) (GeeAbstractQueue* self);
1093         gboolean (*get_is_full) (GeeAbstractQueue* self);
1094 };
1095
1096 struct _GeeArrayList {
1097         GeeAbstractBidirList parent_instance;
1098         GeeArrayListPrivate * priv;
1099         gpointer* _items;
1100         gint _items_length1;
1101         gint __items_size_;
1102         gint _size;
1103 };
1104
1105 struct _GeeArrayListClass {
1106         GeeAbstractBidirListClass parent_class;
1107 };
1108
1109 struct _GeeDequeIface {
1110         GTypeInterface parent_iface;
1111         GType (*get_g_type) (GeeDeque* self);
1112         GBoxedCopyFunc (*get_g_dup_func) (GeeDeque* self);
1113         GDestroyNotify (*get_g_destroy_func) (GeeDeque* self);
1114         gboolean (*offer_head) (GeeDeque* self, gconstpointer element);
1115         gpointer (*peek_head) (GeeDeque* self);
1116         gpointer (*poll_head) (GeeDeque* self);
1117         gint (*drain_head) (GeeDeque* self, GeeCollection* recipient, gint amount);
1118         gboolean (*offer_tail) (GeeDeque* self, gconstpointer element);
1119         gpointer (*peek_tail) (GeeDeque* self);
1120         gpointer (*poll_tail) (GeeDeque* self);
1121         gint (*drain_tail) (GeeDeque* self, GeeCollection* recipient, gint amount);
1122 };
1123
1124 struct _GeeArrayQueue {
1125         GeeAbstractQueue parent_instance;
1126         GeeArrayQueuePrivate * priv;
1127 };
1128
1129 struct _GeeArrayQueueClass {
1130         GeeAbstractQueueClass parent_class;
1131 };
1132
1133 struct _GeeComparableIface {
1134         GTypeInterface parent_iface;
1135         gint (*compare_to) (GeeComparable* self, gconstpointer object);
1136 };
1137
1138 struct _GeeConcurrentList {
1139         GeeAbstractList parent_instance;
1140         GeeConcurrentListPrivate * priv;
1141 };
1142
1143 struct _GeeConcurrentListClass {
1144         GeeAbstractListClass parent_class;
1145 };
1146
1147 struct _GeeConcurrentSet {
1148         GeeAbstractSortedSet parent_instance;
1149         GeeConcurrentSetPrivate * priv;
1150 };
1151
1152 struct _GeeConcurrentSetClass {
1153         GeeAbstractSortedSetClass parent_class;
1154 };
1155
1156 typedef enum  {
1157         GEE_CONCURRENT_SET_RANGE_TYPE_HEAD,
1158         GEE_CONCURRENT_SET_RANGE_TYPE_TAIL,
1159         GEE_CONCURRENT_SET_RANGE_TYPE_BOUNDED,
1160         GEE_CONCURRENT_SET_RANGE_TYPE_EMPTY
1161 } GeeConcurrentSetRangeType;
1162
1163 typedef guint (*GeeHashDataFunc) (gconstpointer v, void* user_data);
1164 struct _GeeHashableIface {
1165         GTypeInterface parent_iface;
1166         guint (*hash) (GeeHashable* self);
1167         gboolean (*equal_to) (GeeHashable* self, gconstpointer object);
1168 };
1169
1170 struct _GeeHashMap {
1171         GeeAbstractMap parent_instance;
1172         GeeHashMapPrivate * priv;
1173 };
1174
1175 struct _GeeHashMapClass {
1176         GeeAbstractMapClass parent_class;
1177 };
1178
1179 struct _GeeHashMultiMap {
1180         GeeAbstractMultiMap parent_instance;
1181         GeeHashMultiMapPrivate * priv;
1182 };
1183
1184 struct _GeeHashMultiMapClass {
1185         GeeAbstractMultiMapClass parent_class;
1186 };
1187
1188 struct _GeeHashMultiSet {
1189         GeeAbstractMultiSet parent_instance;
1190         GeeHashMultiSetPrivate * priv;
1191 };
1192
1193 struct _GeeHashMultiSetClass {
1194         GeeAbstractMultiSetClass parent_class;
1195 };
1196
1197 struct _GeeHashSet {
1198         GeeAbstractSet parent_instance;
1199         GeeHashSetPrivate * priv;
1200 };
1201
1202 struct _GeeHashSetClass {
1203         GeeAbstractSetClass parent_class;
1204 };
1205
1206 struct _GeeHazardPointer {
1207         GeeHazardPointerNode* _node;
1208 };
1209
1210 typedef enum  {
1211         GEE_HAZARD_POINTER_POLICY_DEFAULT,
1212         GEE_HAZARD_POINTER_POLICY_THREAD_EXIT,
1213         GEE_HAZARD_POINTER_POLICY_TRY_FREE,
1214         GEE_HAZARD_POINTER_POLICY_FREE,
1215         GEE_HAZARD_POINTER_POLICY_TRY_RELEASE,
1216         GEE_HAZARD_POINTER_POLICY_RELEASE
1217 } GeeHazardPointerPolicy;
1218
1219 typedef enum  {
1220         GEE_HAZARD_POINTER_RELEASE_POLICY_HELPER_THREAD,
1221         GEE_HAZARD_POINTER_RELEASE_POLICY_MAIN_LOOP
1222 } GeeHazardPointerReleasePolicy;
1223
1224 typedef void (*GeeHazardPointerDestroyNotify) (void* ptr, void* user_data);
1225 struct _GeeHazardPointerContext {
1226         GeeHazardPointerContext* _parent;
1227         GeeArrayList* _to_free;
1228         GeeHazardPointerPolicy* _policy;
1229 };
1230
1231 typedef GeeLazy* (*GeeUnfoldFunc) (void* user_data);
1232 typedef gpointer (*GeeLazyFunc) (void* user_data);
1233 struct _GeeLazy {
1234         GTypeInstance parent_instance;
1235         volatile int ref_count;
1236         GeeLazyPrivate * priv;
1237 };
1238
1239 struct _GeeLazyClass {
1240         GTypeClass parent_class;
1241         void (*finalize) (GeeLazy *self);
1242 };
1243
1244 struct _GeeLinkedList {
1245         GeeAbstractBidirList parent_instance;
1246         GeeLinkedListPrivate * priv;
1247 };
1248
1249 struct _GeeLinkedListClass {
1250         GeeAbstractBidirListClass parent_class;
1251 };
1252
1253 struct _GeeMapEntry {
1254         GObject parent_instance;
1255         GeeMapEntryPrivate * priv;
1256 };
1257
1258 struct _GeeMapEntryClass {
1259         GObjectClass parent_class;
1260         gconstpointer (*get_key) (GeeMapEntry* self);
1261         gconstpointer (*get_value) (GeeMapEntry* self);
1262         void (*set_value) (GeeMapEntry* self, gconstpointer value);
1263         gboolean (*get_read_only) (GeeMapEntry* self);
1264 };
1265
1266 struct _GeePriorityQueue {
1267         GeeAbstractQueue parent_instance;
1268         GeePriorityQueuePrivate * priv;
1269 };
1270
1271 struct _GeePriorityQueueClass {
1272         GeeAbstractQueueClass parent_class;
1273 };
1274
1275 struct _GeeTreeMap {
1276         GeeAbstractBidirSortedMap parent_instance;
1277         GeeTreeMapPrivate * priv;
1278 };
1279
1280 struct _GeeTreeMapClass {
1281         GeeAbstractBidirSortedMapClass parent_class;
1282 };
1283
1284 struct _GeeTreeMultiMap {
1285         GeeAbstractMultiMap parent_instance;
1286         GeeTreeMultiMapPrivate * priv;
1287 };
1288
1289 struct _GeeTreeMultiMapClass {
1290         GeeAbstractMultiMapClass parent_class;
1291 };
1292
1293 struct _GeeTreeMultiSet {
1294         GeeAbstractMultiSet parent_instance;
1295         GeeTreeMultiSetPrivate * priv;
1296 };
1297
1298 struct _GeeTreeMultiSetClass {
1299         GeeAbstractMultiSetClass parent_class;
1300 };
1301
1302 struct _GeeTreeSet {
1303         GeeAbstractBidirSortedSet parent_instance;
1304         GeeTreeSetPrivate * priv;
1305 };
1306
1307 struct _GeeTreeSetClass {
1308         GeeAbstractBidirSortedSetClass parent_class;
1309 };
1310
1311
1312 GType gee_traversable_stream_get_type (void) G_GNUC_CONST;
1313 gpointer gee_lazy_ref (gpointer instance);
1314 void gee_lazy_unref (gpointer instance);
1315 GParamSpec* gee_param_spec_lazy (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
1316 void gee_value_set_lazy (GValue* value, gpointer v_object);
1317 void gee_value_take_lazy (GValue* value, gpointer v_object);
1318 gpointer gee_value_get_lazy (const GValue* value);
1319 GType gee_lazy_get_type (void) G_GNUC_CONST;
1320 GType gee_iterator_get_type (void) G_GNUC_CONST;
1321 GType gee_traversable_get_type (void) G_GNUC_CONST;
1322 GType gee_iterable_get_type (void) G_GNUC_CONST;
1323 GType gee_collection_get_type (void) G_GNUC_CONST;
1324 GType gee_abstract_collection_get_type (void) G_GNUC_CONST;
1325 GType gee_list_iterator_get_type (void) G_GNUC_CONST;
1326 GType gee_list_get_type (void) G_GNUC_CONST;
1327 GType gee_abstract_list_get_type (void) G_GNUC_CONST;
1328 GType gee_bidir_iterator_get_type (void) G_GNUC_CONST;
1329 GType gee_bidir_list_iterator_get_type (void) G_GNUC_CONST;
1330 GType gee_bidir_list_get_type (void) G_GNUC_CONST;
1331 GType gee_abstract_bidir_list_get_type (void) G_GNUC_CONST;
1332 GeeBidirListIterator* gee_abstract_bidir_list_bidir_list_iterator (GeeAbstractBidirList* self);
1333 GeeAbstractBidirList* gee_abstract_bidir_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1334 GeeBidirList* gee_abstract_bidir_list_get_read_only_view (GeeAbstractBidirList* self);
1335 GType gee_set_get_type (void) G_GNUC_CONST;
1336 GType gee_abstract_set_get_type (void) G_GNUC_CONST;
1337 GType gee_sorted_set_get_type (void) G_GNUC_CONST;
1338 GType gee_abstract_sorted_set_get_type (void) G_GNUC_CONST;
1339 GType gee_bidir_sorted_set_get_type (void) G_GNUC_CONST;
1340 GType gee_abstract_bidir_sorted_set_get_type (void) G_GNUC_CONST;
1341 GeeBidirIterator* gee_abstract_bidir_sorted_set_bidir_iterator (GeeAbstractBidirSortedSet* self);
1342 GeeAbstractBidirSortedSet* gee_abstract_bidir_sorted_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1343 GeeBidirSortedSet* gee_abstract_bidir_sorted_set_get_read_only_view (GeeAbstractBidirSortedSet* self);
1344 GType gee_map_iterator_get_type (void) G_GNUC_CONST;
1345 GType gee_map_entry_get_type (void) G_GNUC_CONST;
1346 GType gee_map_get_type (void) G_GNUC_CONST;
1347 GType gee_abstract_map_get_type (void) G_GNUC_CONST;
1348 GType gee_sorted_map_get_type (void) G_GNUC_CONST;
1349 GType gee_abstract_sorted_map_get_type (void) G_GNUC_CONST;
1350 GType gee_bidir_map_iterator_get_type (void) G_GNUC_CONST;
1351 GType gee_bidir_sorted_map_get_type (void) G_GNUC_CONST;
1352 GType gee_abstract_bidir_sorted_map_get_type (void) G_GNUC_CONST;
1353 GeeBidirMapIterator* gee_abstract_bidir_sorted_map_bidir_map_iterator (GeeAbstractBidirSortedMap* self);
1354 GeeAbstractBidirSortedMap* gee_abstract_bidir_sorted_map_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func);
1355 GeeBidirSortedMap* gee_abstract_bidir_sorted_map_get_read_only_view (GeeAbstractBidirSortedMap* self);
1356 gboolean gee_abstract_collection_contains (GeeAbstractCollection* self, gconstpointer item);
1357 gboolean gee_abstract_collection_add (GeeAbstractCollection* self, gconstpointer item);
1358 gboolean gee_abstract_collection_remove (GeeAbstractCollection* self, gconstpointer item);
1359 void gee_abstract_collection_clear (GeeAbstractCollection* self);
1360 GeeIterator* gee_abstract_collection_iterator (GeeAbstractCollection* self);
1361 gboolean gee_abstract_collection_foreach (GeeAbstractCollection* self, GeeForallFunc f, void* f_target);
1362 GeeAbstractCollection* gee_abstract_collection_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1363 gint gee_abstract_collection_get_size (GeeAbstractCollection* self);
1364 gboolean gee_abstract_collection_get_read_only (GeeAbstractCollection* self);
1365 GeeCollection* gee_abstract_collection_get_read_only_view (GeeAbstractCollection* self);
1366 GeeListIterator* gee_abstract_list_list_iterator (GeeAbstractList* self);
1367 gpointer gee_abstract_list_get (GeeAbstractList* self, gint index);
1368 void gee_abstract_list_set (GeeAbstractList* self, gint index, gconstpointer item);
1369 gint gee_abstract_list_index_of (GeeAbstractList* self, gconstpointer item);
1370 void gee_abstract_list_insert (GeeAbstractList* self, gint index, gconstpointer item);
1371 gpointer gee_abstract_list_remove_at (GeeAbstractList* self, gint index);
1372 GeeList* gee_abstract_list_slice (GeeAbstractList* self, gint start, gint stop);
1373 GeeAbstractList* gee_abstract_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1374 GeeList* gee_abstract_list_get_read_only_view (GeeAbstractList* self);
1375 gboolean gee_abstract_map_has_key (GeeAbstractMap* self, gconstpointer key);
1376 gboolean gee_abstract_map_has (GeeAbstractMap* self, gconstpointer key, gconstpointer value);
1377 gpointer gee_abstract_map_get (GeeAbstractMap* self, gconstpointer key);
1378 void gee_abstract_map_set (GeeAbstractMap* self, gconstpointer key, gconstpointer value);
1379 gboolean gee_abstract_map_unset (GeeAbstractMap* self, gconstpointer key, gpointer* value);
1380 GeeMapIterator* gee_abstract_map_map_iterator (GeeAbstractMap* self);
1381 void gee_abstract_map_clear (GeeAbstractMap* self);
1382 gboolean gee_abstract_map_foreach (GeeAbstractMap* self, GeeForallFunc f, void* f_target);
1383 GeeIterator* gee_abstract_map_stream (GeeAbstractMap* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeStreamFunc f, void* f_target, GDestroyNotify f_target_destroy_notify);
1384 GeeAbstractMap* gee_abstract_map_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func);
1385 gint gee_abstract_map_get_size (GeeAbstractMap* self);
1386 gboolean gee_abstract_map_get_read_only (GeeAbstractMap* self);
1387 GeeSet* gee_abstract_map_get_keys (GeeAbstractMap* self);
1388 GeeCollection* gee_abstract_map_get_values (GeeAbstractMap* self);
1389 GeeSet* gee_abstract_map_get_entries (GeeAbstractMap* self);
1390 GeeMap* gee_abstract_map_get_read_only_view (GeeAbstractMap* self);
1391 GType gee_multi_set_get_type (void) G_GNUC_CONST;
1392 GType gee_multi_map_get_type (void) G_GNUC_CONST;
1393 GType gee_abstract_multi_map_get_type (void) G_GNUC_CONST;
1394 GeeAbstractMultiMap* gee_abstract_multi_map_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeMap* storage_map);
1395 GeeCollection* gee_abstract_multi_map_create_value_storage (GeeAbstractMultiMap* self);
1396 GeeMultiSet* gee_abstract_multi_map_create_multi_key_set (GeeAbstractMultiMap* self);
1397 GeeEqualDataFunc gee_abstract_multi_map_get_value_equal_func (GeeAbstractMultiMap* self, void** result_target, GDestroyNotify* result_target_destroy_notify);
1398 GeeMultiMap* gee_abstract_multi_map_get_read_only_view (GeeAbstractMultiMap* self);
1399 GType gee_abstract_multi_set_get_type (void) G_GNUC_CONST;
1400 GeeAbstractMultiSet* gee_abstract_multi_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeMap* storage_map);
1401 GeeMultiSet* gee_abstract_multi_set_get_read_only_view (GeeAbstractMultiSet* self);
1402 GType gee_queue_get_type (void) G_GNUC_CONST;
1403 GType gee_abstract_queue_get_type (void) G_GNUC_CONST;
1404 gpointer gee_abstract_queue_peek (GeeAbstractQueue* self);
1405 gpointer gee_abstract_queue_poll (GeeAbstractQueue* self);
1406 GeeAbstractQueue* gee_abstract_queue_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1407 gint gee_abstract_queue_get_capacity (GeeAbstractQueue* self);
1408 gint gee_abstract_queue_get_remaining_capacity (GeeAbstractQueue* self);
1409 gboolean gee_abstract_queue_get_is_full (GeeAbstractQueue* self);
1410 GeeAbstractSet* gee_abstract_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1411 GeeSet* gee_abstract_set_get_read_only_view (GeeAbstractSet* self);
1412 GeeSortedMap* gee_abstract_sorted_map_head_map (GeeAbstractSortedMap* self, gconstpointer before);
1413 GeeSortedMap* gee_abstract_sorted_map_tail_map (GeeAbstractSortedMap* self, gconstpointer after);
1414 GeeSortedMap* gee_abstract_sorted_map_sub_map (GeeAbstractSortedMap* self, gconstpointer before, gconstpointer after);
1415 GeeAbstractSortedMap* gee_abstract_sorted_map_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func);
1416 GeeSortedSet* gee_abstract_sorted_map_get_ascending_keys (GeeAbstractSortedMap* self);
1417 GeeSortedSet* gee_abstract_sorted_map_get_ascending_entries (GeeAbstractSortedMap* self);
1418 gpointer gee_abstract_sorted_set_first (GeeAbstractSortedSet* self);
1419 gpointer gee_abstract_sorted_set_last (GeeAbstractSortedSet* self);
1420 GeeIterator* gee_abstract_sorted_set_iterator_at (GeeAbstractSortedSet* self, gconstpointer element);
1421 gpointer gee_abstract_sorted_set_lower (GeeAbstractSortedSet* self, gconstpointer element);
1422 gpointer gee_abstract_sorted_set_higher (GeeAbstractSortedSet* self, gconstpointer element);
1423 gpointer gee_abstract_sorted_set_floor (GeeAbstractSortedSet* self, gconstpointer element);
1424 gpointer gee_abstract_sorted_set_ceil (GeeAbstractSortedSet* self, gconstpointer element);
1425 GeeSortedSet* gee_abstract_sorted_set_head_set (GeeAbstractSortedSet* self, gconstpointer before);
1426 GeeSortedSet* gee_abstract_sorted_set_tail_set (GeeAbstractSortedSet* self, gconstpointer after);
1427 GeeSortedSet* gee_abstract_sorted_set_sub_set (GeeAbstractSortedSet* self, gconstpointer from, gconstpointer to);
1428 GeeAbstractSortedSet* gee_abstract_sorted_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1429 GeeSortedSet* gee_abstract_sorted_set_get_read_only_view (GeeAbstractSortedSet* self);
1430 GType gee_array_list_get_type (void) G_GNUC_CONST;
1431 GeeArrayList* gee_array_list_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
1432 GeeArrayList* gee_array_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
1433 GeeArrayList* gee_array_list_new_wrap (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gpointer* items, int items_length1, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
1434 GeeArrayList* gee_array_list_construct_wrap (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gpointer* items, int items_length1, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
1435 gboolean gee_array_list_add_all (GeeArrayList* self, GeeCollection* collection);
1436 GeeEqualDataFunc gee_array_list_get_equal_func (GeeArrayList* self, gpointer* result_target);
1437 GType gee_deque_get_type (void) G_GNUC_CONST;
1438 GType gee_array_queue_get_type (void) G_GNUC_CONST;
1439 GeeArrayQueue* gee_array_queue_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
1440 GeeArrayQueue* gee_array_queue_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
1441 GeeEqualDataFunc gee_array_queue_get_equal_func (GeeArrayQueue* self, gpointer* result_target);
1442 gboolean gee_array_queue_get_is_empty (GeeArrayQueue* self);
1443 gboolean gee_bidir_iterator_previous (GeeBidirIterator* self);
1444 gboolean gee_bidir_iterator_has_previous (GeeBidirIterator* self);
1445 gboolean gee_bidir_iterator_first (GeeBidirIterator* self);
1446 gboolean gee_bidir_iterator_last (GeeBidirIterator* self);
1447 GeeBidirListIterator* gee_bidir_list_bidir_list_iterator (GeeBidirList* self);
1448 GeeBidirList* gee_bidir_list_get_read_only_view (GeeBidirList* self);
1449 void gee_bidir_list_iterator_insert (GeeBidirListIterator* self, gconstpointer item);
1450 gboolean gee_bidir_map_iterator_previous (GeeBidirMapIterator* self);
1451 gboolean gee_bidir_map_iterator_has_previous (GeeBidirMapIterator* self);
1452 gboolean gee_bidir_map_iterator_first (GeeBidirMapIterator* self);
1453 gboolean gee_bidir_map_iterator_last (GeeBidirMapIterator* self);
1454 GeeBidirIterator* gee_bidir_sorted_set_bidir_iterator (GeeBidirSortedSet* self);
1455 GeeBidirSortedSet* gee_bidir_sorted_set_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1456 GeeBidirSortedSet* gee_bidir_sorted_set_get_read_only_view (GeeBidirSortedSet* self);
1457 GeeBidirMapIterator* gee_bidir_sorted_map_bidir_map_iterator (GeeBidirSortedMap* self);
1458 GeeBidirSortedMap* gee_bidir_sorted_map_empty (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func);
1459 GeeBidirSortedMap* gee_bidir_sorted_map_get_read_only_view (GeeBidirSortedMap* self);
1460 gboolean gee_collection_contains (GeeCollection* self, gconstpointer item);
1461 gboolean gee_collection_add (GeeCollection* self, gconstpointer item);
1462 gboolean gee_collection_remove (GeeCollection* self, gconstpointer item);
1463 void gee_collection_clear (GeeCollection* self);
1464 gboolean gee_collection_add_all (GeeCollection* self, GeeCollection* collection);
1465 gboolean gee_collection_contains_all (GeeCollection* self, GeeCollection* collection);
1466 gboolean gee_collection_remove_all (GeeCollection* self, GeeCollection* collection);
1467 gboolean gee_collection_retain_all (GeeCollection* self, GeeCollection* collection);
1468 gpointer* gee_collection_to_array (GeeCollection* self, int* result_length1);
1469 gboolean gee_collection_add_all_array (GeeCollection* self, gpointer* array, int array_length1);
1470 gboolean gee_collection_contains_all_array (GeeCollection* self, gpointer* array, int array_length1);
1471 gboolean gee_collection_remove_all_array (GeeCollection* self, gpointer* array, int array_length1);
1472 GeeCollection* gee_collection_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1473 gint gee_collection_get_size (GeeCollection* self);
1474 gboolean gee_collection_get_is_empty (GeeCollection* self);
1475 gboolean gee_collection_get_read_only (GeeCollection* self);
1476 GeeCollection* gee_collection_get_read_only_view (GeeCollection* self);
1477 GType gee_comparable_get_type (void) G_GNUC_CONST;
1478 gint gee_comparable_compare_to (GeeComparable* self, gconstpointer object);
1479 GType gee_concurrent_list_get_type (void) G_GNUC_CONST;
1480 GeeConcurrentList* gee_concurrent_list_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
1481 GeeConcurrentList* gee_concurrent_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
1482 GeeEqualDataFunc gee_concurrent_list_get_equal_func (GeeConcurrentList* self, gpointer* result_target);
1483 gboolean gee_concurrent_list_get_is_empty (GeeConcurrentList* self);
1484 GType gee_concurrent_set_get_type (void) G_GNUC_CONST;
1485 GType gee_concurrent_set_range_type_get_type (void) G_GNUC_CONST;
1486 GeeConcurrentSet* gee_concurrent_set_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify);
1487 GeeConcurrentSet* gee_concurrent_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify);
1488 gboolean gee_deque_offer_head (GeeDeque* self, gconstpointer element);
1489 gpointer gee_deque_peek_head (GeeDeque* self);
1490 gpointer gee_deque_poll_head (GeeDeque* self);
1491 gint gee_deque_drain_head (GeeDeque* self, GeeCollection* recipient, gint amount);
1492 gboolean gee_deque_offer_tail (GeeDeque* self, gconstpointer element);
1493 gpointer gee_deque_peek_tail (GeeDeque* self);
1494 gpointer gee_deque_poll_tail (GeeDeque* self);
1495 gint gee_deque_drain_tail (GeeDeque* self, GeeCollection* recipient, gint amount);
1496 GeeEqualDataFunc gee_functions_get_equal_func_for (GType t, void** result_target, GDestroyNotify* result_target_destroy_notify);
1497 GeeHashDataFunc gee_functions_get_hash_func_for (GType t, void** result_target, GDestroyNotify* result_target_destroy_notify);
1498 GCompareDataFunc gee_functions_get_compare_func_for (GType t, void** result_target, GDestroyNotify* result_target_destroy_notify);
1499 GType gee_hashable_get_type (void) G_GNUC_CONST;
1500 guint gee_hashable_hash (GeeHashable* self);
1501 gboolean gee_hashable_equal_to (GeeHashable* self, gconstpointer object);
1502 GType gee_hash_map_get_type (void) G_GNUC_CONST;
1503 GeeHashMap* gee_hash_map_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeHashDataFunc key_hash_func, void* key_hash_func_target, GDestroyNotify key_hash_func_target_destroy_notify, GeeEqualDataFunc key_equal_func, void* key_equal_func_target, GDestroyNotify key_equal_func_target_destroy_notify, GeeEqualDataFunc value_equal_func, void* value_equal_func_target, GDestroyNotify value_equal_func_target_destroy_notify);
1504 GeeHashMap* gee_hash_map_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeHashDataFunc key_hash_func, void* key_hash_func_target, GDestroyNotify key_hash_func_target_destroy_notify, GeeEqualDataFunc key_equal_func, void* key_equal_func_target, GDestroyNotify key_equal_func_target_destroy_notify, GeeEqualDataFunc value_equal_func, void* value_equal_func_target, GDestroyNotify value_equal_func_target_destroy_notify);
1505 GeeHashDataFunc gee_hash_map_get_key_hash_func (GeeHashMap* self, gpointer* result_target);
1506 GeeEqualDataFunc gee_hash_map_get_key_equal_func (GeeHashMap* self, gpointer* result_target);
1507 GeeEqualDataFunc gee_hash_map_get_value_equal_func (GeeHashMap* self, gpointer* result_target);
1508 GType gee_hash_multi_map_get_type (void) G_GNUC_CONST;
1509 GeeHashMultiMap* gee_hash_multi_map_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeHashDataFunc key_hash_func, void* key_hash_func_target, GDestroyNotify key_hash_func_target_destroy_notify, GeeEqualDataFunc key_equal_func, void* key_equal_func_target, GDestroyNotify key_equal_func_target_destroy_notify, GeeHashDataFunc value_hash_func, void* value_hash_func_target, GDestroyNotify value_hash_func_target_destroy_notify, GeeEqualDataFunc value_equal_func, void* value_equal_func_target, GDestroyNotify value_equal_func_target_destroy_notify);
1510 GeeHashMultiMap* gee_hash_multi_map_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeHashDataFunc key_hash_func, void* key_hash_func_target, GDestroyNotify key_hash_func_target_destroy_notify, GeeEqualDataFunc key_equal_func, void* key_equal_func_target, GDestroyNotify key_equal_func_target_destroy_notify, GeeHashDataFunc value_hash_func, void* value_hash_func_target, GDestroyNotify value_hash_func_target_destroy_notify, GeeEqualDataFunc value_equal_func, void* value_equal_func_target, GDestroyNotify value_equal_func_target_destroy_notify);
1511 GeeHashDataFunc gee_hash_multi_map_get_key_hash_func (GeeHashMultiMap* self, gpointer* result_target);
1512 GeeEqualDataFunc gee_hash_multi_map_get_key_equal_func (GeeHashMultiMap* self, gpointer* result_target);
1513 GeeHashDataFunc gee_hash_multi_map_get_value_hash_func (GeeHashMultiMap* self, gpointer* result_target);
1514 GeeEqualDataFunc gee_hash_multi_map_get_value_equal_func (GeeHashMultiMap* self, gpointer* result_target);
1515 GType gee_hash_multi_set_get_type (void) G_GNUC_CONST;
1516 GeeHashMultiSet* gee_hash_multi_set_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeHashDataFunc hash_func, void* hash_func_target, GeeEqualDataFunc equal_func, void* equal_func_target);
1517 GeeHashMultiSet* gee_hash_multi_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeHashDataFunc hash_func, void* hash_func_target, GeeEqualDataFunc equal_func, void* equal_func_target);
1518 GeeHashDataFunc gee_hash_multi_set_get_hash_func (GeeHashMultiSet* self, gpointer* result_target);
1519 GeeEqualDataFunc gee_hash_multi_set_get_equal_func (GeeHashMultiSet* self, gpointer* result_target);
1520 GType gee_hash_set_get_type (void) G_GNUC_CONST;
1521 GeeHashSet* gee_hash_set_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
1522 GeeHashSet* gee_hash_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
1523 GeeHashDataFunc gee_hash_set_get_hash_func (GeeHashSet* self, gpointer* result_target);
1524 GeeEqualDataFunc gee_hash_set_get_equal_func (GeeHashSet* self, gpointer* result_target);
1525 void gee_hazard_pointer_free (GeeHazardPointer* self);
1526 void gee_hazard_pointer_node_free (GeeHazardPointerNode* self);
1527 GType gee_hazard_pointer_policy_get_type (void) G_GNUC_CONST;
1528 gboolean gee_hazard_pointer_policy_is_concrete (GeeHazardPointerPolicy self);
1529 gboolean gee_hazard_pointer_policy_is_blocking (GeeHazardPointerPolicy self);
1530 gboolean gee_hazard_pointer_policy_is_safe (GeeHazardPointerPolicy self);
1531 GeeHazardPointerPolicy gee_hazard_pointer_policy_to_concrete (GeeHazardPointerPolicy self);
1532 GType gee_hazard_pointer_release_policy_get_type (void) G_GNUC_CONST;
1533 GeeHazardPointer* gee_hazard_pointer_new (gconstpointer* ptr);
1534 GeeHazardPointer* gee_hazard_pointer_new (gconstpointer* ptr);
1535 GeeHazardPointer* gee_hazard_pointer_get_hazard_pointer (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer** aptr, gsize mask, gsize* mask_out);
1536 gpointer gee_hazard_pointer_get_pointer (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer** aptr, gsize mask, gsize* mask_out);
1537 GeeHazardPointer* gee_hazard_pointer_exchange_hazard_pointer (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer** aptr, gpointer new_ptr, gsize mask, gsize new_mask, gsize* old_mask);
1538 void gee_hazard_pointer_set_pointer (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer** aptr, gpointer new_ptr, gsize mask, gsize new_mask);
1539 gpointer gee_hazard_pointer_exchange_pointer (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer** aptr, gpointer new_ptr, gsize mask, gsize new_mask, gsize* old_mask);
1540 gboolean gee_hazard_pointer_compare_and_exchange_pointer (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer** aptr, gconstpointer old_ptr, gpointer _new_ptr, gsize mask, gsize old_mask, gsize new_mask);
1541 gconstpointer gee_hazard_pointer_get (GeeHazardPointer* self, gboolean other_thread);
1542 void gee_hazard_pointer_release (GeeHazardPointer* self, GeeHazardPointerDestroyNotify notify, void* notify_target, GDestroyNotify notify_target_destroy_notify);
1543 void gee_hazard_pointer_set_default_policy (GeeHazardPointerPolicy policy);
1544 void gee_hazard_pointer_set_thread_exit_policy (GeeHazardPointerPolicy policy);
1545 gboolean gee_hazard_pointer_set_release_policy (GeeHazardPointerReleasePolicy policy);
1546 void gee_hazard_pointer_context_free (GeeHazardPointerContext* self);
1547 void gee_hazard_pointer_free_node_free (GeeHazardPointerFreeNode* self);
1548 GeeHazardPointerContext* gee_hazard_pointer_context_new (GeeHazardPointerPolicy* policy);
1549 GeeHazardPointerContext* gee_hazard_pointer_context_new (GeeHazardPointerPolicy* policy);
1550 void gee_hazard_pointer_context_try_free (GeeHazardPointerContext* self);
1551 void gee_hazard_pointer_context_free_all (GeeHazardPointerContext* self);
1552 void gee_hazard_pointer_context_try_release (GeeHazardPointerContext* self);
1553 void gee_hazard_pointer_context_release (GeeHazardPointerContext* self);
1554 GeeIterator* gee_iterable_iterator (GeeIterable* self);
1555 gboolean gee_iterator_next (GeeIterator* self);
1556 gboolean gee_iterator_has_next (GeeIterator* self);
1557 gpointer gee_iterator_get (GeeIterator* self);
1558 void gee_iterator_remove (GeeIterator* self);
1559 GeeIterator* gee_iterator_unfold (GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeUnfoldFunc f, void* f_target, GDestroyNotify f_target_destroy_notify, GeeLazy* current);
1560 GeeIterator* gee_iterator_concat (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeIterator* iters);
1561 gboolean gee_iterator_get_valid (GeeIterator* self);
1562 gboolean gee_iterator_get_read_only (GeeIterator* self);
1563 GeeLazy* gee_lazy_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeLazyFunc func, void* func_target, GDestroyNotify func_target_destroy_notify);
1564 GeeLazy* gee_lazy_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeLazyFunc func, void* func_target, GDestroyNotify func_target_destroy_notify);
1565 GeeLazy* gee_lazy_new_from_value (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer item);
1566 GeeLazy* gee_lazy_construct_from_value (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer item);
1567 void gee_lazy_eval (GeeLazy* self);
1568 gpointer gee_lazy_get (GeeLazy* self);
1569 gconstpointer gee_lazy_get_value (GeeLazy* self);
1570 GType gee_linked_list_get_type (void) G_GNUC_CONST;
1571 GeeLinkedList* gee_linked_list_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
1572 GeeLinkedList* gee_linked_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
1573 gpointer gee_linked_list_first (GeeLinkedList* self);
1574 gpointer gee_linked_list_last (GeeLinkedList* self);
1575 GeeEqualDataFunc gee_linked_list_get_equal_func (GeeLinkedList* self, gpointer* result_target);
1576 GeeListIterator* gee_list_list_iterator (GeeList* self);
1577 gpointer gee_list_get (GeeList* self, gint index);
1578 void gee_list_set (GeeList* self, gint index, gconstpointer item);
1579 gint gee_list_index_of (GeeList* self, gconstpointer item);
1580 void gee_list_insert (GeeList* self, gint index, gconstpointer item);
1581 gpointer gee_list_remove_at (GeeList* self, gint index);
1582 GeeList* gee_list_slice (GeeList* self, gint start, gint stop);
1583 gpointer gee_list_first (GeeList* self);
1584 gpointer gee_list_last (GeeList* self);
1585 void gee_list_insert_all (GeeList* self, gint index, GeeCollection* collection);
1586 void gee_list_sort (GeeList* self, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify);
1587 GeeList* gee_list_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1588 GeeList* gee_list_get_read_only_view (GeeList* self);
1589 void gee_list_iterator_set (GeeListIterator* self, gconstpointer item);
1590 void gee_list_iterator_add (GeeListIterator* self, gconstpointer item);
1591 gint gee_list_iterator_index (GeeListIterator* self);
1592 gboolean gee_map_has_key (GeeMap* self, gconstpointer key);
1593 gboolean gee_map_contains (GeeMap* self, gconstpointer key) G_GNUC_DEPRECATED;
1594 gboolean gee_map_has (GeeMap* self, gconstpointer key, gconstpointer value);
1595 gpointer gee_map_get (GeeMap* self, gconstpointer key);
1596 void gee_map_set (GeeMap* self, gconstpointer key, gconstpointer value);
1597 gboolean gee_map_unset (GeeMap* self, gconstpointer key, gpointer* value);
1598 gboolean gee_map_remove (GeeMap* self, gconstpointer key, gpointer* value) G_GNUC_DEPRECATED;
1599 void gee_map_clear (GeeMap* self);
1600 GeeMapIterator* gee_map_map_iterator (GeeMap* self);
1601 void gee_map_set_all (GeeMap* self, GeeMap* map);
1602 gboolean gee_map_unset_all (GeeMap* self, GeeMap* map);
1603 gboolean gee_map_remove_all (GeeMap* self, GeeMap* map) G_GNUC_DEPRECATED;
1604 gboolean gee_map_has_all (GeeMap* self, GeeMap* map);
1605 gboolean gee_map_contains_all (GeeMap* self, GeeMap* map) G_GNUC_DEPRECATED;
1606 GeeMap* gee_map_empty (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func);
1607 gint gee_map_get_size (GeeMap* self);
1608 gboolean gee_map_get_is_empty (GeeMap* self);
1609 gboolean gee_map_get_read_only (GeeMap* self);
1610 GeeSet* gee_map_get_keys (GeeMap* self);
1611 GeeCollection* gee_map_get_values (GeeMap* self);
1612 GeeSet* gee_map_get_entries (GeeMap* self);
1613 GeeMap* gee_map_get_read_only_view (GeeMap* self);
1614 GType gee_map_get_key_type (GeeMap* self);
1615 GType gee_map_get_value_type (GeeMap* self);
1616 GeeMapEntry* gee_map_entry_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func);
1617 gconstpointer gee_map_entry_get_key (GeeMapEntry* self);
1618 gconstpointer gee_map_entry_get_value (GeeMapEntry* self);
1619 void gee_map_entry_set_value (GeeMapEntry* self, gconstpointer value);
1620 gboolean gee_map_entry_get_read_only (GeeMapEntry* self);
1621 gboolean gee_map_iterator_next (GeeMapIterator* self);
1622 gboolean gee_map_iterator_has_next (GeeMapIterator* self);
1623 gpointer gee_map_iterator_get_key (GeeMapIterator* self);
1624 gpointer gee_map_iterator_get_value (GeeMapIterator* self);
1625 void gee_map_iterator_set_value (GeeMapIterator* self, gconstpointer value);
1626 void gee_map_iterator_unset (GeeMapIterator* self);
1627 gpointer gee_map_iterator_fold (GeeMapIterator* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldMapFunc f, void* f_target, gpointer seed);
1628 gboolean gee_map_iterator_foreach (GeeMapIterator* self, GeeForallMapFunc f, void* f_target);
1629 gboolean gee_map_iterator_get_valid (GeeMapIterator* self);
1630 gboolean gee_map_iterator_get_mutable (GeeMapIterator* self);
1631 gboolean gee_map_iterator_get_read_only (GeeMapIterator* self);
1632 GeeSet* gee_multi_map_get_keys (GeeMultiMap* self);
1633 GeeMultiSet* gee_multi_map_get_all_keys (GeeMultiMap* self);
1634 GeeCollection* gee_multi_map_get_values (GeeMultiMap* self);
1635 gboolean gee_multi_map_contains (GeeMultiMap* self, gconstpointer key);
1636 GeeCollection* gee_multi_map_get (GeeMultiMap* self, gconstpointer key);
1637 void gee_multi_map_set (GeeMultiMap* self, gconstpointer key, gconstpointer value);
1638 gboolean gee_multi_map_remove (GeeMultiMap* self, gconstpointer key, gconstpointer value);
1639 gboolean gee_multi_map_remove_all (GeeMultiMap* self, gconstpointer key);
1640 void gee_multi_map_clear (GeeMultiMap* self);
1641 GeeMapIterator* gee_multi_map_map_iterator (GeeMultiMap* self);
1642 gint gee_multi_map_get_size (GeeMultiMap* self);
1643 gboolean gee_multi_map_get_read_only (GeeMultiMap* self);
1644 GType gee_multi_map_get_key_type (GeeMultiMap* self);
1645 GType gee_multi_map_get_value_type (GeeMultiMap* self);
1646 GeeMultiMap* gee_multi_map_get_read_only_view (GeeMultiMap* self);
1647 gint gee_multi_set_count (GeeMultiSet* self, gconstpointer item);
1648 GeeSet* gee_multi_set_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1649 GeeMultiSet* gee_multi_set_get_read_only_view (GeeMultiSet* self);
1650 GType gee_priority_queue_get_type (void) G_GNUC_CONST;
1651 GeePriorityQueue* gee_priority_queue_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify);
1652 GeePriorityQueue* gee_priority_queue_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify);
1653 gboolean gee_priority_queue_offer (GeePriorityQueue* self, gconstpointer element);
1654 gint gee_priority_queue_drain (GeePriorityQueue* self, GeeCollection* recipient, gint amount);
1655 GCompareDataFunc gee_priority_queue_get_compare_func (GeePriorityQueue* self, gpointer* result_target);
1656 gboolean gee_queue_offer (GeeQueue* self, gconstpointer element);
1657 gpointer gee_queue_peek (GeeQueue* self);
1658 gpointer gee_queue_poll (GeeQueue* self);
1659 gint gee_queue_drain (GeeQueue* self, GeeCollection* recipient, gint amount);
1660 #define GEE_QUEUE_UNBOUNDED_CAPACITY (-1)
1661 gint gee_queue_get_capacity (GeeQueue* self);
1662 gint gee_queue_get_remaining_capacity (GeeQueue* self);
1663 gboolean gee_queue_get_is_full (GeeQueue* self);
1664 GeeSet* gee_set_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1665 GeeSet* gee_set_get_read_only_view (GeeSet* self);
1666 GeeSortedMap* gee_sorted_map_head_map (GeeSortedMap* self, gconstpointer before);
1667 GeeSortedMap* gee_sorted_map_tail_map (GeeSortedMap* self, gconstpointer after);
1668 GeeSortedMap* gee_sorted_map_sub_map (GeeSortedMap* self, gconstpointer before, gconstpointer after);
1669 GeeMap* gee_sorted_map_empty (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func);
1670 GeeSortedSet* gee_sorted_map_get_ascending_keys (GeeSortedMap* self);
1671 GeeSortedSet* gee_sorted_map_get_ascending_entries (GeeSortedMap* self);
1672 GeeSortedMap* gee_sorted_map_get_read_only_view (GeeSortedMap* self);
1673 gpointer gee_sorted_set_first (GeeSortedSet* self);
1674 gpointer gee_sorted_set_last (GeeSortedSet* self);
1675 GeeIterator* gee_sorted_set_iterator_at (GeeSortedSet* self, gconstpointer element);
1676 gpointer gee_sorted_set_lower (GeeSortedSet* self, gconstpointer element);
1677 gpointer gee_sorted_set_higher (GeeSortedSet* self, gconstpointer element);
1678 gpointer gee_sorted_set_floor (GeeSortedSet* self, gconstpointer element);
1679 gpointer gee_sorted_set_ceil (GeeSortedSet* self, gconstpointer element);
1680 GeeSortedSet* gee_sorted_set_head_set (GeeSortedSet* self, gconstpointer before);
1681 GeeSortedSet* gee_sorted_set_tail_set (GeeSortedSet* self, gconstpointer after);
1682 GeeSortedSet* gee_sorted_set_sub_set (GeeSortedSet* self, gconstpointer from, gconstpointer to);
1683 GeeSortedSet* gee_sorted_set_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1684 GeeSortedSet* gee_sorted_set_get_read_only_view (GeeSortedSet* self);
1685 gboolean gee_traversable_foreach (GeeTraversable* self, GeeForallFunc f, void* f_target);
1686 GeeIterator* gee_traversable_stream (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeStreamFunc f, void* f_target, GDestroyNotify f_target_destroy_notify);
1687 gpointer gee_traversable_fold (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
1688 GeeIterator* gee_traversable_map (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeMapFunc f, void* f_target);
1689 GeeIterator* gee_traversable_scan (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
1690 GeeIterator* gee_traversable_filter (GeeTraversable* self, GeePredicate pred, void* pred_target, GDestroyNotify pred_target_destroy_notify);
1691 GeeIterator* gee_traversable_chop (GeeTraversable* self, gint offset, gint length);
1692 GType gee_traversable_get_element_type (GeeTraversable* self);
1693 GType gee_tree_map_get_type (void) G_GNUC_CONST;
1694 GeeTreeMap* gee_tree_map_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GCompareDataFunc key_compare_func, void* key_compare_func_target, GDestroyNotify key_compare_func_target_destroy_notify, GeeEqualDataFunc value_equal_func, void* value_equal_func_target, GDestroyNotify value_equal_func_target_destroy_notify);
1695 GeeTreeMap* gee_tree_map_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GCompareDataFunc key_compare_func, void* key_compare_func_target, GDestroyNotify key_compare_func_target_destroy_notify, GeeEqualDataFunc value_equal_func, void* value_equal_func_target, GDestroyNotify value_equal_func_target_destroy_notify);
1696 GCompareDataFunc gee_tree_map_get_key_compare_func (GeeTreeMap* self, gpointer* result_target);
1697 GeeEqualDataFunc gee_tree_map_get_value_equal_func (GeeTreeMap* self, gpointer* result_target);
1698 GType gee_tree_multi_map_get_type (void) G_GNUC_CONST;
1699 GeeTreeMultiMap* gee_tree_multi_map_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GCompareDataFunc key_compare_func, void* key_compare_func_target, GDestroyNotify key_compare_func_target_destroy_notify, GCompareDataFunc value_compare_func, void* value_compare_func_target, GDestroyNotify value_compare_func_target_destroy_notify);
1700 GeeTreeMultiMap* gee_tree_multi_map_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GCompareDataFunc key_compare_func, void* key_compare_func_target, GDestroyNotify key_compare_func_target_destroy_notify, GCompareDataFunc value_compare_func, void* value_compare_func_target, GDestroyNotify value_compare_func_target_destroy_notify);
1701 GCompareDataFunc gee_tree_multi_map_get_key_compare_func (GeeTreeMultiMap* self, gpointer* result_target);
1702 GCompareDataFunc gee_tree_multi_map_get_value_compare_func (GeeTreeMultiMap* self, gpointer* result_target);
1703 GType gee_tree_multi_set_get_type (void) G_GNUC_CONST;
1704 GeeTreeMultiSet* gee_tree_multi_set_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify);
1705 GeeTreeMultiSet* gee_tree_multi_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify);
1706 GCompareDataFunc gee_tree_multi_set_get_compare_func (GeeTreeMultiSet* self, gpointer* result_target);
1707 GType gee_tree_set_get_type (void) G_GNUC_CONST;
1708 GeeTreeSet* gee_tree_set_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify);
1709 GeeTreeSet* gee_tree_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify);
1710 GCompareDataFunc gee_tree_set_get_compare_func (GeeTreeSet* self, gpointer* result_target);
1711
1712
1713 G_END_DECLS
1714
1715 #endif