Update Changelog
[profile/ivi/libgee.git] / gee / gee-internals.h
1 /* gee-internals.h generated by valac 0.18.0, the Vala compiler, do not modify */
2
3
4 #ifndef __GEE_INTERNALS_H__
5 #define __GEE_INTERNALS_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 typedef struct _GeeHazardPointerFreeNode GeeHazardPointerFreeNode;
445
446 #define GEE_HAZARD_POINTER_TYPE_RELEASE_POLICY (gee_hazard_pointer_release_policy_get_type ())
447 typedef struct _GeeHazardPointerContext GeeHazardPointerContext;
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_READ_ONLY_COLLECTION (gee_read_only_collection_get_type ())
474 #define GEE_READ_ONLY_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_COLLECTION, GeeReadOnlyCollection))
475 #define GEE_READ_ONLY_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_COLLECTION, GeeReadOnlyCollectionClass))
476 #define GEE_IS_READ_ONLY_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_COLLECTION))
477 #define GEE_IS_READ_ONLY_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_COLLECTION))
478 #define GEE_READ_ONLY_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_COLLECTION, GeeReadOnlyCollectionClass))
479
480 typedef struct _GeeReadOnlyCollection GeeReadOnlyCollection;
481 typedef struct _GeeReadOnlyCollectionClass GeeReadOnlyCollectionClass;
482 typedef struct _GeeReadOnlyCollectionPrivate GeeReadOnlyCollectionPrivate;
483
484 #define GEE_TYPE_READ_ONLY_LIST (gee_read_only_list_get_type ())
485 #define GEE_READ_ONLY_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_LIST, GeeReadOnlyList))
486 #define GEE_READ_ONLY_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_LIST, GeeReadOnlyListClass))
487 #define GEE_IS_READ_ONLY_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_LIST))
488 #define GEE_IS_READ_ONLY_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_LIST))
489 #define GEE_READ_ONLY_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_LIST, GeeReadOnlyListClass))
490
491 typedef struct _GeeReadOnlyList GeeReadOnlyList;
492 typedef struct _GeeReadOnlyListClass GeeReadOnlyListClass;
493 typedef struct _GeeReadOnlyListPrivate GeeReadOnlyListPrivate;
494
495 #define GEE_TYPE_READ_ONLY_BIDIR_LIST (gee_read_only_bidir_list_get_type ())
496 #define GEE_READ_ONLY_BIDIR_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_BIDIR_LIST, GeeReadOnlyBidirList))
497 #define GEE_READ_ONLY_BIDIR_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_BIDIR_LIST, GeeReadOnlyBidirListClass))
498 #define GEE_IS_READ_ONLY_BIDIR_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_BIDIR_LIST))
499 #define GEE_IS_READ_ONLY_BIDIR_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_BIDIR_LIST))
500 #define GEE_READ_ONLY_BIDIR_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_BIDIR_LIST, GeeReadOnlyBidirListClass))
501
502 typedef struct _GeeReadOnlyBidirList GeeReadOnlyBidirList;
503 typedef struct _GeeReadOnlyBidirListClass GeeReadOnlyBidirListClass;
504 typedef struct _GeeReadOnlyBidirListPrivate GeeReadOnlyBidirListPrivate;
505
506 #define GEE_TYPE_READ_ONLY_SET (gee_read_only_set_get_type ())
507 #define GEE_READ_ONLY_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_SET, GeeReadOnlySet))
508 #define GEE_READ_ONLY_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_SET, GeeReadOnlySetClass))
509 #define GEE_IS_READ_ONLY_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_SET))
510 #define GEE_IS_READ_ONLY_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_SET))
511 #define GEE_READ_ONLY_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_SET, GeeReadOnlySetClass))
512
513 typedef struct _GeeReadOnlySet GeeReadOnlySet;
514 typedef struct _GeeReadOnlySetClass GeeReadOnlySetClass;
515 typedef struct _GeeReadOnlySetPrivate GeeReadOnlySetPrivate;
516
517 #define GEE_TYPE_READ_ONLY_SORTED_SET (gee_read_only_sorted_set_get_type ())
518 #define GEE_READ_ONLY_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_SORTED_SET, GeeReadOnlySortedSet))
519 #define GEE_READ_ONLY_SORTED_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_SORTED_SET, GeeReadOnlySortedSetClass))
520 #define GEE_IS_READ_ONLY_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_SORTED_SET))
521 #define GEE_IS_READ_ONLY_SORTED_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_SORTED_SET))
522 #define GEE_READ_ONLY_SORTED_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_SORTED_SET, GeeReadOnlySortedSetClass))
523
524 typedef struct _GeeReadOnlySortedSet GeeReadOnlySortedSet;
525 typedef struct _GeeReadOnlySortedSetClass GeeReadOnlySortedSetClass;
526 typedef struct _GeeReadOnlySortedSetPrivate GeeReadOnlySortedSetPrivate;
527
528 #define GEE_TYPE_READ_ONLY_BIDIR_SORTED_SET (gee_read_only_bidir_sorted_set_get_type ())
529 #define GEE_READ_ONLY_BIDIR_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_BIDIR_SORTED_SET, GeeReadOnlyBidirSortedSet))
530 #define GEE_READ_ONLY_BIDIR_SORTED_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_BIDIR_SORTED_SET, GeeReadOnlyBidirSortedSetClass))
531 #define GEE_IS_READ_ONLY_BIDIR_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_BIDIR_SORTED_SET))
532 #define GEE_IS_READ_ONLY_BIDIR_SORTED_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_BIDIR_SORTED_SET))
533 #define GEE_READ_ONLY_BIDIR_SORTED_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_BIDIR_SORTED_SET, GeeReadOnlyBidirSortedSetClass))
534
535 typedef struct _GeeReadOnlyBidirSortedSet GeeReadOnlyBidirSortedSet;
536 typedef struct _GeeReadOnlyBidirSortedSetClass GeeReadOnlyBidirSortedSetClass;
537 typedef struct _GeeReadOnlyBidirSortedSetPrivate GeeReadOnlyBidirSortedSetPrivate;
538
539 #define GEE_READ_ONLY_COLLECTION_TYPE_ITERATOR (gee_read_only_collection_iterator_get_type ())
540 #define GEE_READ_ONLY_COLLECTION_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_READ_ONLY_COLLECTION_TYPE_ITERATOR, GeeReadOnlyCollectionIterator))
541 #define GEE_READ_ONLY_COLLECTION_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_READ_ONLY_COLLECTION_TYPE_ITERATOR, GeeReadOnlyCollectionIteratorClass))
542 #define GEE_READ_ONLY_COLLECTION_IS_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_READ_ONLY_COLLECTION_TYPE_ITERATOR))
543 #define GEE_READ_ONLY_COLLECTION_IS_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_READ_ONLY_COLLECTION_TYPE_ITERATOR))
544 #define GEE_READ_ONLY_COLLECTION_ITERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_READ_ONLY_COLLECTION_TYPE_ITERATOR, GeeReadOnlyCollectionIteratorClass))
545
546 typedef struct _GeeReadOnlyCollectionIterator GeeReadOnlyCollectionIterator;
547 typedef struct _GeeReadOnlyCollectionIteratorClass GeeReadOnlyCollectionIteratorClass;
548 typedef struct _GeeReadOnlyCollectionIteratorPrivate GeeReadOnlyCollectionIteratorPrivate;
549
550 #define GEE_READ_ONLY_BIDIR_SORTED_SET_TYPE_BIDIR_ITERATOR (gee_read_only_bidir_sorted_set_bidir_iterator_get_type ())
551 #define GEE_READ_ONLY_BIDIR_SORTED_SET_BIDIR_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_READ_ONLY_BIDIR_SORTED_SET_TYPE_BIDIR_ITERATOR, GeeReadOnlyBidirSortedSetBidirIterator))
552 #define GEE_READ_ONLY_BIDIR_SORTED_SET_BIDIR_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_READ_ONLY_BIDIR_SORTED_SET_TYPE_BIDIR_ITERATOR, GeeReadOnlyBidirSortedSetBidirIteratorClass))
553 #define GEE_READ_ONLY_BIDIR_SORTED_SET_IS_BIDIR_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_READ_ONLY_BIDIR_SORTED_SET_TYPE_BIDIR_ITERATOR))
554 #define GEE_READ_ONLY_BIDIR_SORTED_SET_IS_BIDIR_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_READ_ONLY_BIDIR_SORTED_SET_TYPE_BIDIR_ITERATOR))
555 #define GEE_READ_ONLY_BIDIR_SORTED_SET_BIDIR_ITERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_READ_ONLY_BIDIR_SORTED_SET_TYPE_BIDIR_ITERATOR, GeeReadOnlyBidirSortedSetBidirIteratorClass))
556
557 typedef struct _GeeReadOnlyBidirSortedSetBidirIterator GeeReadOnlyBidirSortedSetBidirIterator;
558 typedef struct _GeeReadOnlyBidirSortedSetBidirIteratorClass GeeReadOnlyBidirSortedSetBidirIteratorClass;
559 typedef struct _GeeReadOnlyBidirSortedSetBidirIteratorPrivate GeeReadOnlyBidirSortedSetBidirIteratorPrivate;
560
561 #define GEE_TYPE_READ_ONLY_MAP (gee_read_only_map_get_type ())
562 #define GEE_READ_ONLY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_MAP, GeeReadOnlyMap))
563 #define GEE_READ_ONLY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_MAP, GeeReadOnlyMapClass))
564 #define GEE_IS_READ_ONLY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_MAP))
565 #define GEE_IS_READ_ONLY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_MAP))
566 #define GEE_READ_ONLY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_MAP, GeeReadOnlyMapClass))
567
568 typedef struct _GeeReadOnlyMap GeeReadOnlyMap;
569 typedef struct _GeeReadOnlyMapClass GeeReadOnlyMapClass;
570 typedef struct _GeeReadOnlyMapPrivate GeeReadOnlyMapPrivate;
571
572 #define GEE_TYPE_READ_ONLY_SORTED_MAP (gee_read_only_sorted_map_get_type ())
573 #define GEE_READ_ONLY_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_SORTED_MAP, GeeReadOnlySortedMap))
574 #define GEE_READ_ONLY_SORTED_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_SORTED_MAP, GeeReadOnlySortedMapClass))
575 #define GEE_IS_READ_ONLY_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_SORTED_MAP))
576 #define GEE_IS_READ_ONLY_SORTED_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_SORTED_MAP))
577 #define GEE_READ_ONLY_SORTED_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_SORTED_MAP, GeeReadOnlySortedMapClass))
578
579 typedef struct _GeeReadOnlySortedMap GeeReadOnlySortedMap;
580 typedef struct _GeeReadOnlySortedMapClass GeeReadOnlySortedMapClass;
581 typedef struct _GeeReadOnlySortedMapPrivate GeeReadOnlySortedMapPrivate;
582
583 #define GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP (gee_read_only_bidir_sorted_map_get_type ())
584 #define GEE_READ_ONLY_BIDIR_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP, GeeReadOnlyBidirSortedMap))
585 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP, GeeReadOnlyBidirSortedMapClass))
586 #define GEE_IS_READ_ONLY_BIDIR_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP))
587 #define GEE_IS_READ_ONLY_BIDIR_SORTED_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP))
588 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP, GeeReadOnlyBidirSortedMapClass))
589
590 typedef struct _GeeReadOnlyBidirSortedMap GeeReadOnlyBidirSortedMap;
591 typedef struct _GeeReadOnlyBidirSortedMapClass GeeReadOnlyBidirSortedMapClass;
592 typedef struct _GeeReadOnlyBidirSortedMapPrivate GeeReadOnlyBidirSortedMapPrivate;
593
594 #define GEE_READ_ONLY_MAP_TYPE_MAP_ITERATOR (gee_read_only_map_map_iterator_get_type ())
595 #define GEE_READ_ONLY_MAP_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_READ_ONLY_MAP_TYPE_MAP_ITERATOR, GeeReadOnlyMapMapIterator))
596 #define GEE_READ_ONLY_MAP_MAP_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_READ_ONLY_MAP_TYPE_MAP_ITERATOR, GeeReadOnlyMapMapIteratorClass))
597 #define GEE_READ_ONLY_MAP_IS_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_READ_ONLY_MAP_TYPE_MAP_ITERATOR))
598 #define GEE_READ_ONLY_MAP_IS_MAP_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_READ_ONLY_MAP_TYPE_MAP_ITERATOR))
599 #define GEE_READ_ONLY_MAP_MAP_ITERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_READ_ONLY_MAP_TYPE_MAP_ITERATOR, GeeReadOnlyMapMapIteratorClass))
600
601 typedef struct _GeeReadOnlyMapMapIterator GeeReadOnlyMapMapIterator;
602 typedef struct _GeeReadOnlyMapMapIteratorClass GeeReadOnlyMapMapIteratorClass;
603 typedef struct _GeeReadOnlyMapMapIteratorPrivate GeeReadOnlyMapMapIteratorPrivate;
604
605 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR (gee_read_only_bidir_sorted_map_bidir_map_iterator_get_type ())
606 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR, GeeReadOnlyBidirSortedMapBidirMapIterator))
607 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR, GeeReadOnlyBidirSortedMapBidirMapIteratorClass))
608 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_IS_BIDIR_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR))
609 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_IS_BIDIR_MAP_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR))
610 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR, GeeReadOnlyBidirSortedMapBidirMapIteratorClass))
611
612 typedef struct _GeeReadOnlyBidirSortedMapBidirMapIterator GeeReadOnlyBidirSortedMapBidirMapIterator;
613 typedef struct _GeeReadOnlyBidirSortedMapBidirMapIteratorClass GeeReadOnlyBidirSortedMapBidirMapIteratorClass;
614 typedef struct _GeeReadOnlyBidirSortedMapBidirMapIteratorPrivate GeeReadOnlyBidirSortedMapBidirMapIteratorPrivate;
615
616 #define GEE_READ_ONLY_LIST_TYPE_ITERATOR (gee_read_only_list_iterator_get_type ())
617 #define GEE_READ_ONLY_LIST_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_READ_ONLY_LIST_TYPE_ITERATOR, GeeReadOnlyListIterator))
618 #define GEE_READ_ONLY_LIST_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_READ_ONLY_LIST_TYPE_ITERATOR, GeeReadOnlyListIteratorClass))
619 #define GEE_READ_ONLY_LIST_IS_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_READ_ONLY_LIST_TYPE_ITERATOR))
620 #define GEE_READ_ONLY_LIST_IS_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_READ_ONLY_LIST_TYPE_ITERATOR))
621 #define GEE_READ_ONLY_LIST_ITERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_READ_ONLY_LIST_TYPE_ITERATOR, GeeReadOnlyListIteratorClass))
622
623 typedef struct _GeeReadOnlyListIterator GeeReadOnlyListIterator;
624 typedef struct _GeeReadOnlyListIteratorClass GeeReadOnlyListIteratorClass;
625 typedef struct _GeeReadOnlyListIteratorPrivate GeeReadOnlyListIteratorPrivate;
626
627 #define GEE_TYPE_READ_ONLY_MULTI_MAP (gee_read_only_multi_map_get_type ())
628 #define GEE_READ_ONLY_MULTI_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_MULTI_MAP, GeeReadOnlyMultiMap))
629 #define GEE_READ_ONLY_MULTI_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_MULTI_MAP, GeeReadOnlyMultiMapClass))
630 #define GEE_IS_READ_ONLY_MULTI_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_MULTI_MAP))
631 #define GEE_IS_READ_ONLY_MULTI_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_MULTI_MAP))
632 #define GEE_READ_ONLY_MULTI_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_MULTI_MAP, GeeReadOnlyMultiMapClass))
633
634 typedef struct _GeeReadOnlyMultiMap GeeReadOnlyMultiMap;
635 typedef struct _GeeReadOnlyMultiMapClass GeeReadOnlyMultiMapClass;
636 typedef struct _GeeReadOnlyMultiMapPrivate GeeReadOnlyMultiMapPrivate;
637
638 #define GEE_TYPE_READ_ONLY_MULTI_SET (gee_read_only_multi_set_get_type ())
639 #define GEE_READ_ONLY_MULTI_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_MULTI_SET, GeeReadOnlyMultiSet))
640 #define GEE_READ_ONLY_MULTI_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_MULTI_SET, GeeReadOnlyMultiSetClass))
641 #define GEE_IS_READ_ONLY_MULTI_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_MULTI_SET))
642 #define GEE_IS_READ_ONLY_MULTI_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_MULTI_SET))
643 #define GEE_READ_ONLY_MULTI_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_MULTI_SET, GeeReadOnlyMultiSetClass))
644
645 typedef struct _GeeReadOnlyMultiSet GeeReadOnlyMultiSet;
646 typedef struct _GeeReadOnlyMultiSetClass GeeReadOnlyMultiSetClass;
647 typedef struct _GeeReadOnlyMultiSetPrivate GeeReadOnlyMultiSetPrivate;
648
649 #define GEE_TYPE_TIM_SORT (gee_tim_sort_get_type ())
650 #define GEE_TIM_SORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TIM_SORT, GeeTimSort))
651 #define GEE_TIM_SORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_TIM_SORT, GeeTimSortClass))
652 #define GEE_IS_TIM_SORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TIM_SORT))
653 #define GEE_IS_TIM_SORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_TIM_SORT))
654 #define GEE_TIM_SORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_TIM_SORT, GeeTimSortClass))
655
656 typedef struct _GeeTimSort GeeTimSort;
657 typedef struct _GeeTimSortClass GeeTimSortClass;
658 typedef struct _GeeTimSortPrivate GeeTimSortPrivate;
659
660 #define GEE_TYPE_TREE_MAP (gee_tree_map_get_type ())
661 #define GEE_TREE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TREE_MAP, GeeTreeMap))
662 #define GEE_TREE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_TREE_MAP, GeeTreeMapClass))
663 #define GEE_IS_TREE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TREE_MAP))
664 #define GEE_IS_TREE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_TREE_MAP))
665 #define GEE_TREE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_TREE_MAP, GeeTreeMapClass))
666
667 typedef struct _GeeTreeMap GeeTreeMap;
668 typedef struct _GeeTreeMapClass GeeTreeMapClass;
669 typedef struct _GeeTreeMapPrivate GeeTreeMapPrivate;
670
671 #define GEE_TYPE_TREE_MULTI_MAP (gee_tree_multi_map_get_type ())
672 #define GEE_TREE_MULTI_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TREE_MULTI_MAP, GeeTreeMultiMap))
673 #define GEE_TREE_MULTI_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_TREE_MULTI_MAP, GeeTreeMultiMapClass))
674 #define GEE_IS_TREE_MULTI_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TREE_MULTI_MAP))
675 #define GEE_IS_TREE_MULTI_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_TREE_MULTI_MAP))
676 #define GEE_TREE_MULTI_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_TREE_MULTI_MAP, GeeTreeMultiMapClass))
677
678 typedef struct _GeeTreeMultiMap GeeTreeMultiMap;
679 typedef struct _GeeTreeMultiMapClass GeeTreeMultiMapClass;
680 typedef struct _GeeTreeMultiMapPrivate GeeTreeMultiMapPrivate;
681
682 #define GEE_TYPE_TREE_MULTI_SET (gee_tree_multi_set_get_type ())
683 #define GEE_TREE_MULTI_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TREE_MULTI_SET, GeeTreeMultiSet))
684 #define GEE_TREE_MULTI_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_TREE_MULTI_SET, GeeTreeMultiSetClass))
685 #define GEE_IS_TREE_MULTI_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TREE_MULTI_SET))
686 #define GEE_IS_TREE_MULTI_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_TREE_MULTI_SET))
687 #define GEE_TREE_MULTI_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_TREE_MULTI_SET, GeeTreeMultiSetClass))
688
689 typedef struct _GeeTreeMultiSet GeeTreeMultiSet;
690 typedef struct _GeeTreeMultiSetClass GeeTreeMultiSetClass;
691 typedef struct _GeeTreeMultiSetPrivate GeeTreeMultiSetPrivate;
692
693 #define GEE_TYPE_TREE_SET (gee_tree_set_get_type ())
694 #define GEE_TREE_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TREE_SET, GeeTreeSet))
695 #define GEE_TREE_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_TREE_SET, GeeTreeSetClass))
696 #define GEE_IS_TREE_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TREE_SET))
697 #define GEE_IS_TREE_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_TREE_SET))
698 #define GEE_TREE_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_TREE_SET, GeeTreeSetClass))
699
700 typedef struct _GeeTreeSet GeeTreeSet;
701 typedef struct _GeeTreeSetClass GeeTreeSetClass;
702 typedef struct _GeeTreeSetPrivate GeeTreeSetPrivate;
703
704 #define GEE_TYPE_UNFOLD_ITERATOR (gee_unfold_iterator_get_type ())
705 #define GEE_UNFOLD_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_UNFOLD_ITERATOR, GeeUnfoldIterator))
706 #define GEE_UNFOLD_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_UNFOLD_ITERATOR, GeeUnfoldIteratorClass))
707 #define GEE_IS_UNFOLD_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_UNFOLD_ITERATOR))
708 #define GEE_IS_UNFOLD_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_UNFOLD_ITERATOR))
709 #define GEE_UNFOLD_ITERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_UNFOLD_ITERATOR, GeeUnfoldIteratorClass))
710
711 typedef struct _GeeUnfoldIterator GeeUnfoldIterator;
712 typedef struct _GeeUnfoldIteratorClass GeeUnfoldIteratorClass;
713 typedef struct _GeeUnfoldIteratorPrivate GeeUnfoldIteratorPrivate;
714
715 typedef gboolean (*GeeForallFunc) (gpointer g, void* user_data);
716 typedef enum  {
717         GEE_TRAVERSABLE_STREAM_YIELD,
718         GEE_TRAVERSABLE_STREAM_CONTINUE,
719         GEE_TRAVERSABLE_STREAM_END
720 } GeeTraversableStream;
721
722 typedef GeeTraversableStream (*GeeStreamFunc) (GeeTraversableStream state, GeeLazy* g, GeeLazy** lazy, void* user_data);
723 struct _GeeIteratorIface {
724         GTypeInterface parent_iface;
725         gboolean (*next) (GeeIterator* self);
726         gboolean (*has_next) (GeeIterator* self);
727         gpointer (*get) (GeeIterator* self);
728         void (*remove) (GeeIterator* self);
729         gboolean (*get_valid) (GeeIterator* self);
730         gboolean (*get_read_only) (GeeIterator* self);
731 };
732
733 typedef gpointer (*GeeFoldFunc) (gpointer g, gpointer a, void* user_data);
734 typedef gpointer (*GeeMapFunc) (gpointer g, void* user_data);
735 typedef gboolean (*GeePredicate) (gconstpointer g, void* user_data);
736 struct _GeeTraversableIface {
737         GTypeInterface parent_iface;
738         GType (*get_g_type) (GeeTraversable* self);
739         GBoxedCopyFunc (*get_g_dup_func) (GeeTraversable* self);
740         GDestroyNotify (*get_g_destroy_func) (GeeTraversable* self);
741         gboolean (*foreach) (GeeTraversable* self, GeeForallFunc f, void* f_target);
742         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);
743         gpointer (*fold) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
744         GeeIterator* (*map) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeMapFunc f, void* f_target);
745         GeeIterator* (*scan) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
746         GeeIterator* (*filter) (GeeTraversable* self, GeePredicate pred, void* pred_target, GDestroyNotify pred_target_destroy_notify);
747         GeeIterator* (*chop) (GeeTraversable* self, gint offset, gint length);
748         GType (*get_element_type) (GeeTraversable* self);
749 };
750
751 struct _GeeIterableIface {
752         GTypeInterface parent_iface;
753         GType (*get_g_type) (GeeIterable* self);
754         GBoxedCopyFunc (*get_g_dup_func) (GeeIterable* self);
755         GDestroyNotify (*get_g_destroy_func) (GeeIterable* self);
756         GeeIterator* (*iterator) (GeeIterable* self);
757 };
758
759 struct _GeeCollectionIface {
760         GTypeInterface parent_iface;
761         GType (*get_g_type) (GeeCollection* self);
762         GBoxedCopyFunc (*get_g_dup_func) (GeeCollection* self);
763         GDestroyNotify (*get_g_destroy_func) (GeeCollection* self);
764         gboolean (*contains) (GeeCollection* self, gconstpointer item);
765         gboolean (*add) (GeeCollection* self, gconstpointer item);
766         gboolean (*remove) (GeeCollection* self, gconstpointer item);
767         void (*clear) (GeeCollection* self);
768         gboolean (*add_all) (GeeCollection* self, GeeCollection* collection);
769         gboolean (*contains_all) (GeeCollection* self, GeeCollection* collection);
770         gboolean (*remove_all) (GeeCollection* self, GeeCollection* collection);
771         gboolean (*retain_all) (GeeCollection* self, GeeCollection* collection);
772         gpointer* (*to_array) (GeeCollection* self, int* result_length1);
773         gint (*get_size) (GeeCollection* self);
774         gboolean (*get_is_empty) (GeeCollection* self);
775         gboolean (*get_read_only) (GeeCollection* self);
776         GeeCollection* (*get_read_only_view) (GeeCollection* self);
777 };
778
779 struct _GeeAbstractCollection {
780         GObject parent_instance;
781         GeeAbstractCollectionPrivate * priv;
782 };
783
784 struct _GeeAbstractCollectionClass {
785         GObjectClass parent_class;
786         gboolean (*contains) (GeeAbstractCollection* self, gconstpointer item);
787         gboolean (*add) (GeeAbstractCollection* self, gconstpointer item);
788         gboolean (*remove) (GeeAbstractCollection* self, gconstpointer item);
789         void (*clear) (GeeAbstractCollection* self);
790         GeeIterator* (*iterator) (GeeAbstractCollection* self);
791         gboolean (*foreach) (GeeAbstractCollection* self, GeeForallFunc f, void* f_target);
792         void (*reserved0) (GeeAbstractCollection* self);
793         void (*reserved1) (GeeAbstractCollection* self);
794         void (*reserved2) (GeeAbstractCollection* self);
795         void (*reserved3) (GeeAbstractCollection* self);
796         void (*reserved4) (GeeAbstractCollection* self);
797         void (*reserved5) (GeeAbstractCollection* self);
798         void (*reserved6) (GeeAbstractCollection* self);
799         void (*reserved7) (GeeAbstractCollection* self);
800         void (*reserved8) (GeeAbstractCollection* self);
801         void (*reserved9) (GeeAbstractCollection* self);
802         gint (*get_size) (GeeAbstractCollection* self);
803         gboolean (*get_read_only) (GeeAbstractCollection* self);
804         GeeCollection* (*get_read_only_view) (GeeAbstractCollection* self);
805 };
806
807 struct _GeeListIteratorIface {
808         GTypeInterface parent_iface;
809         void (*set) (GeeListIterator* self, gconstpointer item);
810         void (*add) (GeeListIterator* self, gconstpointer item);
811         gint (*index) (GeeListIterator* self);
812 };
813
814 struct _GeeListIface {
815         GTypeInterface parent_iface;
816         GType (*get_g_type) (GeeList* self);
817         GBoxedCopyFunc (*get_g_dup_func) (GeeList* self);
818         GDestroyNotify (*get_g_destroy_func) (GeeList* self);
819         GeeListIterator* (*list_iterator) (GeeList* self);
820         gpointer (*get) (GeeList* self, gint index);
821         void (*set) (GeeList* self, gint index, gconstpointer item);
822         gint (*index_of) (GeeList* self, gconstpointer item);
823         void (*insert) (GeeList* self, gint index, gconstpointer item);
824         gpointer (*remove_at) (GeeList* self, gint index);
825         GeeList* (*slice) (GeeList* self, gint start, gint stop);
826         gpointer (*first) (GeeList* self);
827         gpointer (*last) (GeeList* self);
828         void (*insert_all) (GeeList* self, gint index, GeeCollection* collection);
829         void (*sort) (GeeList* self, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify);
830         GeeList* (*get_read_only_view) (GeeList* self);
831 };
832
833 struct _GeeAbstractList {
834         GeeAbstractCollection parent_instance;
835         GeeAbstractListPrivate * priv;
836 };
837
838 struct _GeeAbstractListClass {
839         GeeAbstractCollectionClass parent_class;
840         GeeListIterator* (*list_iterator) (GeeAbstractList* self);
841         gpointer (*get) (GeeAbstractList* self, gint index);
842         void (*set) (GeeAbstractList* self, gint index, gconstpointer item);
843         gint (*index_of) (GeeAbstractList* self, gconstpointer item);
844         void (*insert) (GeeAbstractList* self, gint index, gconstpointer item);
845         gpointer (*remove_at) (GeeAbstractList* self, gint index);
846         GeeList* (*slice) (GeeAbstractList* self, gint start, gint stop);
847         void (*reserved0) (GeeAbstractList* self);
848         void (*reserved1) (GeeAbstractList* self);
849         void (*reserved2) (GeeAbstractList* self);
850         void (*reserved3) (GeeAbstractList* self);
851         void (*reserved4) (GeeAbstractList* self);
852         void (*reserved5) (GeeAbstractList* self);
853         void (*reserved6) (GeeAbstractList* self);
854         void (*reserved7) (GeeAbstractList* self);
855         void (*reserved8) (GeeAbstractList* self);
856         void (*reserved9) (GeeAbstractList* self);
857         GeeList* (*get_read_only_view) (GeeAbstractList* self);
858 };
859
860 struct _GeeBidirIteratorIface {
861         GTypeInterface parent_iface;
862         GType (*get_g_type) (GeeBidirIterator* self);
863         GBoxedCopyFunc (*get_g_dup_func) (GeeBidirIterator* self);
864         GDestroyNotify (*get_g_destroy_func) (GeeBidirIterator* self);
865         gboolean (*previous) (GeeBidirIterator* self);
866         gboolean (*has_previous) (GeeBidirIterator* self);
867         gboolean (*first) (GeeBidirIterator* self);
868         gboolean (*last) (GeeBidirIterator* self);
869 };
870
871 struct _GeeBidirListIteratorIface {
872         GTypeInterface parent_iface;
873         GType (*get_g_type) (GeeBidirListIterator* self);
874         GBoxedCopyFunc (*get_g_dup_func) (GeeBidirListIterator* self);
875         GDestroyNotify (*get_g_destroy_func) (GeeBidirListIterator* self);
876         void (*insert) (GeeBidirListIterator* self, gconstpointer item);
877 };
878
879 struct _GeeBidirListIface {
880         GTypeInterface parent_iface;
881         GType (*get_g_type) (GeeBidirList* self);
882         GBoxedCopyFunc (*get_g_dup_func) (GeeBidirList* self);
883         GDestroyNotify (*get_g_destroy_func) (GeeBidirList* self);
884         GeeBidirListIterator* (*bidir_list_iterator) (GeeBidirList* self);
885         GeeBidirList* (*get_read_only_view) (GeeBidirList* self);
886 };
887
888 struct _GeeAbstractBidirList {
889         GeeAbstractList parent_instance;
890         GeeAbstractBidirListPrivate * priv;
891 };
892
893 struct _GeeAbstractBidirListClass {
894         GeeAbstractListClass parent_class;
895         GeeBidirListIterator* (*bidir_list_iterator) (GeeAbstractBidirList* self);
896         void (*reserved0) (GeeAbstractBidirList* self);
897         void (*reserved1) (GeeAbstractBidirList* self);
898         void (*reserved2) (GeeAbstractBidirList* self);
899         void (*reserved3) (GeeAbstractBidirList* self);
900         void (*reserved4) (GeeAbstractBidirList* self);
901         void (*reserved5) (GeeAbstractBidirList* self);
902         void (*reserved6) (GeeAbstractBidirList* self);
903         void (*reserved7) (GeeAbstractBidirList* self);
904         void (*reserved8) (GeeAbstractBidirList* self);
905         void (*reserved9) (GeeAbstractBidirList* self);
906         GeeBidirList* (*get_read_only_view) (GeeAbstractBidirList* self);
907 };
908
909 struct _GeeSetIface {
910         GTypeInterface parent_iface;
911         GType (*get_g_type) (GeeSet* self);
912         GBoxedCopyFunc (*get_g_dup_func) (GeeSet* self);
913         GDestroyNotify (*get_g_destroy_func) (GeeSet* self);
914         GeeSet* (*get_read_only_view) (GeeSet* self);
915 };
916
917 struct _GeeAbstractSet {
918         GeeAbstractCollection parent_instance;
919         GeeAbstractSetPrivate * priv;
920 };
921
922 struct _GeeAbstractSetClass {
923         GeeAbstractCollectionClass parent_class;
924         void (*reserved0) (GeeAbstractSet* self);
925         void (*reserved1) (GeeAbstractSet* self);
926         void (*reserved2) (GeeAbstractSet* self);
927         void (*reserved3) (GeeAbstractSet* self);
928         void (*reserved4) (GeeAbstractSet* self);
929         void (*reserved5) (GeeAbstractSet* self);
930         void (*reserved6) (GeeAbstractSet* self);
931         void (*reserved7) (GeeAbstractSet* self);
932         void (*reserved8) (GeeAbstractSet* self);
933         void (*reserved9) (GeeAbstractSet* self);
934         GeeSet* (*get_read_only_view) (GeeAbstractSet* self);
935 };
936
937 struct _GeeSortedSetIface {
938         GTypeInterface parent_iface;
939         GType (*get_g_type) (GeeSortedSet* self);
940         GBoxedCopyFunc (*get_g_dup_func) (GeeSortedSet* self);
941         GDestroyNotify (*get_g_destroy_func) (GeeSortedSet* self);
942         gpointer (*first) (GeeSortedSet* self);
943         gpointer (*last) (GeeSortedSet* self);
944         GeeIterator* (*iterator_at) (GeeSortedSet* self, gconstpointer element);
945         gpointer (*lower) (GeeSortedSet* self, gconstpointer element);
946         gpointer (*higher) (GeeSortedSet* self, gconstpointer element);
947         gpointer (*floor) (GeeSortedSet* self, gconstpointer element);
948         gpointer (*ceil) (GeeSortedSet* self, gconstpointer element);
949         GeeSortedSet* (*head_set) (GeeSortedSet* self, gconstpointer before);
950         GeeSortedSet* (*tail_set) (GeeSortedSet* self, gconstpointer after);
951         GeeSortedSet* (*sub_set) (GeeSortedSet* self, gconstpointer from, gconstpointer to);
952         GeeSortedSet* (*get_read_only_view) (GeeSortedSet* self);
953 };
954
955 struct _GeeAbstractSortedSet {
956         GeeAbstractSet parent_instance;
957         GeeAbstractSortedSetPrivate * priv;
958 };
959
960 struct _GeeAbstractSortedSetClass {
961         GeeAbstractSetClass parent_class;
962         gpointer (*first) (GeeAbstractSortedSet* self);
963         gpointer (*last) (GeeAbstractSortedSet* self);
964         GeeIterator* (*iterator_at) (GeeAbstractSortedSet* self, gconstpointer element);
965         gpointer (*lower) (GeeAbstractSortedSet* self, gconstpointer element);
966         gpointer (*higher) (GeeAbstractSortedSet* self, gconstpointer element);
967         gpointer (*floor) (GeeAbstractSortedSet* self, gconstpointer element);
968         gpointer (*ceil) (GeeAbstractSortedSet* self, gconstpointer element);
969         GeeSortedSet* (*head_set) (GeeAbstractSortedSet* self, gconstpointer before);
970         GeeSortedSet* (*tail_set) (GeeAbstractSortedSet* self, gconstpointer after);
971         GeeSortedSet* (*sub_set) (GeeAbstractSortedSet* self, gconstpointer from, gconstpointer to);
972         void (*reserved0) (GeeAbstractSortedSet* self);
973         void (*reserved1) (GeeAbstractSortedSet* self);
974         void (*reserved2) (GeeAbstractSortedSet* self);
975         void (*reserved3) (GeeAbstractSortedSet* self);
976         void (*reserved4) (GeeAbstractSortedSet* self);
977         void (*reserved5) (GeeAbstractSortedSet* self);
978         void (*reserved6) (GeeAbstractSortedSet* self);
979         void (*reserved7) (GeeAbstractSortedSet* self);
980         void (*reserved8) (GeeAbstractSortedSet* self);
981         void (*reserved9) (GeeAbstractSortedSet* self);
982         GeeSortedSet* (*get_read_only_view) (GeeAbstractSortedSet* self);
983 };
984
985 struct _GeeBidirSortedSetIface {
986         GTypeInterface parent_iface;
987         GType (*get_g_type) (GeeBidirSortedSet* self);
988         GBoxedCopyFunc (*get_g_dup_func) (GeeBidirSortedSet* self);
989         GDestroyNotify (*get_g_destroy_func) (GeeBidirSortedSet* self);
990         GeeBidirIterator* (*bidir_iterator) (GeeBidirSortedSet* self);
991         GeeBidirSortedSet* (*get_read_only_view) (GeeBidirSortedSet* self);
992 };
993
994 struct _GeeAbstractBidirSortedSet {
995         GeeAbstractSortedSet parent_instance;
996         GeeAbstractBidirSortedSetPrivate * priv;
997 };
998
999 struct _GeeAbstractBidirSortedSetClass {
1000         GeeAbstractSortedSetClass parent_class;
1001         GeeBidirIterator* (*bidir_iterator) (GeeAbstractBidirSortedSet* self);
1002         void (*reserved0) (GeeAbstractBidirSortedSet* self);
1003         void (*reserved1) (GeeAbstractBidirSortedSet* self);
1004         void (*reserved2) (GeeAbstractBidirSortedSet* self);
1005         void (*reserved3) (GeeAbstractBidirSortedSet* self);
1006         void (*reserved4) (GeeAbstractBidirSortedSet* self);
1007         void (*reserved5) (GeeAbstractBidirSortedSet* self);
1008         void (*reserved6) (GeeAbstractBidirSortedSet* self);
1009         void (*reserved7) (GeeAbstractBidirSortedSet* self);
1010         void (*reserved8) (GeeAbstractBidirSortedSet* self);
1011         void (*reserved9) (GeeAbstractBidirSortedSet* self);
1012         GeeBidirSortedSet* (*get_read_only_view) (GeeAbstractBidirSortedSet* self);
1013 };
1014
1015 typedef gpointer (*GeeFoldMapFunc) (gconstpointer k, gconstpointer v, gpointer a, void* user_data);
1016 typedef gboolean (*GeeForallMapFunc) (gconstpointer k, gconstpointer v, void* user_data);
1017 struct _GeeMapIteratorIface {
1018         GTypeInterface parent_iface;
1019         GType (*get_k_type) (GeeMapIterator* self);
1020         GBoxedCopyFunc (*get_k_dup_func) (GeeMapIterator* self);
1021         GDestroyNotify (*get_k_destroy_func) (GeeMapIterator* self);
1022         GType (*get_v_type) (GeeMapIterator* self);
1023         GBoxedCopyFunc (*get_v_dup_func) (GeeMapIterator* self);
1024         GDestroyNotify (*get_v_destroy_func) (GeeMapIterator* self);
1025         gboolean (*next) (GeeMapIterator* self);
1026         gboolean (*has_next) (GeeMapIterator* self);
1027         gpointer (*get_key) (GeeMapIterator* self);
1028         gpointer (*get_value) (GeeMapIterator* self);
1029         void (*set_value) (GeeMapIterator* self, gconstpointer value);
1030         void (*unset) (GeeMapIterator* self);
1031         gpointer (*fold) (GeeMapIterator* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldMapFunc f, void* f_target, gpointer seed);
1032         gboolean (*foreach) (GeeMapIterator* self, GeeForallMapFunc f, void* f_target);
1033         gboolean (*get_valid) (GeeMapIterator* self);
1034         gboolean (*get_mutable) (GeeMapIterator* self);
1035         gboolean (*get_read_only) (GeeMapIterator* self);
1036 };
1037
1038 struct _GeeMapIface {
1039         GTypeInterface parent_iface;
1040         GType (*get_k_type) (GeeMap* self);
1041         GBoxedCopyFunc (*get_k_dup_func) (GeeMap* self);
1042         GDestroyNotify (*get_k_destroy_func) (GeeMap* self);
1043         GType (*get_v_type) (GeeMap* self);
1044         GBoxedCopyFunc (*get_v_dup_func) (GeeMap* self);
1045         GDestroyNotify (*get_v_destroy_func) (GeeMap* self);
1046         gboolean (*has_key) (GeeMap* self, gconstpointer key);
1047         gboolean (*has) (GeeMap* self, gconstpointer key, gconstpointer value);
1048         gpointer (*get) (GeeMap* self, gconstpointer key);
1049         void (*set) (GeeMap* self, gconstpointer key, gconstpointer value);
1050         gboolean (*unset) (GeeMap* self, gconstpointer key, gpointer* value);
1051         void (*clear) (GeeMap* self);
1052         GeeMapIterator* (*map_iterator) (GeeMap* self);
1053         void (*set_all) (GeeMap* self, GeeMap* map);
1054         gboolean (*unset_all) (GeeMap* self, GeeMap* map);
1055         gboolean (*has_all) (GeeMap* self, GeeMap* map);
1056         gint (*get_size) (GeeMap* self);
1057         gboolean (*get_is_empty) (GeeMap* self);
1058         gboolean (*get_read_only) (GeeMap* self);
1059         GeeSet* (*get_keys) (GeeMap* self);
1060         GeeCollection* (*get_values) (GeeMap* self);
1061         GeeSet* (*get_entries) (GeeMap* self);
1062         GeeMap* (*get_read_only_view) (GeeMap* self);
1063 };
1064
1065 struct _GeeAbstractMap {
1066         GObject parent_instance;
1067         GeeAbstractMapPrivate * priv;
1068 };
1069
1070 struct _GeeAbstractMapClass {
1071         GObjectClass parent_class;
1072         gboolean (*has_key) (GeeAbstractMap* self, gconstpointer key);
1073         gboolean (*has) (GeeAbstractMap* self, gconstpointer key, gconstpointer value);
1074         gpointer (*get) (GeeAbstractMap* self, gconstpointer key);
1075         void (*set) (GeeAbstractMap* self, gconstpointer key, gconstpointer value);
1076         gboolean (*unset) (GeeAbstractMap* self, gconstpointer key, gpointer* value);
1077         GeeMapIterator* (*map_iterator) (GeeAbstractMap* self);
1078         void (*clear) (GeeAbstractMap* self);
1079         gboolean (*foreach) (GeeAbstractMap* self, GeeForallFunc f, void* f_target);
1080         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);
1081         void (*reserved0) (GeeAbstractMap* self);
1082         void (*reserved1) (GeeAbstractMap* self);
1083         void (*reserved2) (GeeAbstractMap* self);
1084         void (*reserved3) (GeeAbstractMap* self);
1085         void (*reserved4) (GeeAbstractMap* self);
1086         void (*reserved5) (GeeAbstractMap* self);
1087         void (*reserved6) (GeeAbstractMap* self);
1088         void (*reserved7) (GeeAbstractMap* self);
1089         void (*reserved8) (GeeAbstractMap* self);
1090         void (*reserved9) (GeeAbstractMap* self);
1091         gint (*get_size) (GeeAbstractMap* self);
1092         gboolean (*get_read_only) (GeeAbstractMap* self);
1093         GeeSet* (*get_keys) (GeeAbstractMap* self);
1094         GeeCollection* (*get_values) (GeeAbstractMap* self);
1095         GeeSet* (*get_entries) (GeeAbstractMap* self);
1096         GeeMap* (*get_read_only_view) (GeeAbstractMap* self);
1097 };
1098
1099 struct _GeeSortedMapIface {
1100         GTypeInterface parent_iface;
1101         GeeSortedMap* (*head_map) (GeeSortedMap* self, gconstpointer before);
1102         GeeSortedMap* (*tail_map) (GeeSortedMap* self, gconstpointer after);
1103         GeeSortedMap* (*sub_map) (GeeSortedMap* self, gconstpointer before, gconstpointer after);
1104         GeeSortedSet* (*get_ascending_keys) (GeeSortedMap* self);
1105         GeeSortedSet* (*get_ascending_entries) (GeeSortedMap* self);
1106         GeeSortedMap* (*get_read_only_view) (GeeSortedMap* self);
1107 };
1108
1109 struct _GeeAbstractSortedMap {
1110         GeeAbstractMap parent_instance;
1111         GeeAbstractSortedMapPrivate * priv;
1112 };
1113
1114 struct _GeeAbstractSortedMapClass {
1115         GeeAbstractMapClass parent_class;
1116         GeeSortedMap* (*head_map) (GeeAbstractSortedMap* self, gconstpointer before);
1117         GeeSortedMap* (*tail_map) (GeeAbstractSortedMap* self, gconstpointer after);
1118         GeeSortedMap* (*sub_map) (GeeAbstractSortedMap* self, gconstpointer before, gconstpointer after);
1119         void (*reserved0) (GeeAbstractSortedMap* self);
1120         void (*reserved1) (GeeAbstractSortedMap* self);
1121         void (*reserved2) (GeeAbstractSortedMap* self);
1122         void (*reserved3) (GeeAbstractSortedMap* self);
1123         void (*reserved4) (GeeAbstractSortedMap* self);
1124         void (*reserved5) (GeeAbstractSortedMap* self);
1125         void (*reserved6) (GeeAbstractSortedMap* self);
1126         void (*reserved7) (GeeAbstractSortedMap* self);
1127         void (*reserved8) (GeeAbstractSortedMap* self);
1128         void (*reserved9) (GeeAbstractSortedMap* self);
1129         GeeSortedSet* (*get_ascending_keys) (GeeAbstractSortedMap* self);
1130         GeeSortedSet* (*get_ascending_entries) (GeeAbstractSortedMap* self);
1131 };
1132
1133 struct _GeeBidirMapIteratorIface {
1134         GTypeInterface parent_iface;
1135         GType (*get_k_type) (GeeBidirMapIterator* self);
1136         GBoxedCopyFunc (*get_k_dup_func) (GeeBidirMapIterator* self);
1137         GDestroyNotify (*get_k_destroy_func) (GeeBidirMapIterator* self);
1138         GType (*get_v_type) (GeeBidirMapIterator* self);
1139         GBoxedCopyFunc (*get_v_dup_func) (GeeBidirMapIterator* self);
1140         GDestroyNotify (*get_v_destroy_func) (GeeBidirMapIterator* self);
1141         gboolean (*previous) (GeeBidirMapIterator* self);
1142         gboolean (*has_previous) (GeeBidirMapIterator* self);
1143         gboolean (*first) (GeeBidirMapIterator* self);
1144         gboolean (*last) (GeeBidirMapIterator* self);
1145 };
1146
1147 struct _GeeBidirSortedMapIface {
1148         GTypeInterface parent_iface;
1149         GType (*get_k_type) (GeeBidirSortedMap* self);
1150         GBoxedCopyFunc (*get_k_dup_func) (GeeBidirSortedMap* self);
1151         GDestroyNotify (*get_k_destroy_func) (GeeBidirSortedMap* self);
1152         GType (*get_v_type) (GeeBidirSortedMap* self);
1153         GBoxedCopyFunc (*get_v_dup_func) (GeeBidirSortedMap* self);
1154         GDestroyNotify (*get_v_destroy_func) (GeeBidirSortedMap* self);
1155         GeeBidirMapIterator* (*bidir_map_iterator) (GeeBidirSortedMap* self);
1156         GeeBidirSortedMap* (*get_read_only_view) (GeeBidirSortedMap* self);
1157 };
1158
1159 struct _GeeAbstractBidirSortedMap {
1160         GeeAbstractSortedMap parent_instance;
1161         GeeAbstractBidirSortedMapPrivate * priv;
1162 };
1163
1164 struct _GeeAbstractBidirSortedMapClass {
1165         GeeAbstractSortedMapClass parent_class;
1166         GeeBidirMapIterator* (*bidir_map_iterator) (GeeAbstractBidirSortedMap* self);
1167         void (*reserved0) (GeeAbstractBidirSortedMap* self);
1168         void (*reserved1) (GeeAbstractBidirSortedMap* self);
1169         void (*reserved2) (GeeAbstractBidirSortedMap* self);
1170         void (*reserved3) (GeeAbstractBidirSortedMap* self);
1171         void (*reserved4) (GeeAbstractBidirSortedMap* self);
1172         void (*reserved5) (GeeAbstractBidirSortedMap* self);
1173         void (*reserved6) (GeeAbstractBidirSortedMap* self);
1174         void (*reserved7) (GeeAbstractBidirSortedMap* self);
1175         void (*reserved8) (GeeAbstractBidirSortedMap* self);
1176         void (*reserved9) (GeeAbstractBidirSortedMap* self);
1177         GeeBidirSortedMap* (*get_read_only_view) (GeeAbstractBidirSortedMap* self);
1178 };
1179
1180 struct _GeeMultiSetIface {
1181         GTypeInterface parent_iface;
1182         GType (*get_g_type) (GeeMultiSet* self);
1183         GBoxedCopyFunc (*get_g_dup_func) (GeeMultiSet* self);
1184         GDestroyNotify (*get_g_destroy_func) (GeeMultiSet* self);
1185         gint (*count) (GeeMultiSet* self, gconstpointer item);
1186         GeeMultiSet* (*get_read_only_view) (GeeMultiSet* self);
1187 };
1188
1189 struct _GeeMultiMapIface {
1190         GTypeInterface parent_iface;
1191         GType (*get_k_type) (GeeMultiMap* self);
1192         GBoxedCopyFunc (*get_k_dup_func) (GeeMultiMap* self);
1193         GDestroyNotify (*get_k_destroy_func) (GeeMultiMap* self);
1194         GType (*get_v_type) (GeeMultiMap* self);
1195         GBoxedCopyFunc (*get_v_dup_func) (GeeMultiMap* self);
1196         GDestroyNotify (*get_v_destroy_func) (GeeMultiMap* self);
1197         GeeSet* (*get_keys) (GeeMultiMap* self);
1198         GeeMultiSet* (*get_all_keys) (GeeMultiMap* self);
1199         GeeCollection* (*get_values) (GeeMultiMap* self);
1200         gboolean (*contains) (GeeMultiMap* self, gconstpointer key);
1201         GeeCollection* (*get) (GeeMultiMap* self, gconstpointer key);
1202         void (*set) (GeeMultiMap* self, gconstpointer key, gconstpointer value);
1203         gboolean (*remove) (GeeMultiMap* self, gconstpointer key, gconstpointer value);
1204         gboolean (*remove_all) (GeeMultiMap* self, gconstpointer key);
1205         void (*clear) (GeeMultiMap* self);
1206         GeeMapIterator* (*map_iterator) (GeeMultiMap* self);
1207         gint (*get_size) (GeeMultiMap* self);
1208         gboolean (*get_read_only) (GeeMultiMap* self);
1209         GeeMultiMap* (*get_read_only_view) (GeeMultiMap* self);
1210 };
1211
1212 typedef gboolean (*GeeEqualDataFunc) (gconstpointer a, gconstpointer b, void* user_data);
1213 struct _GeeAbstractMultiMap {
1214         GObject parent_instance;
1215         GeeAbstractMultiMapPrivate * priv;
1216         GeeMap* _storage_map;
1217 };
1218
1219 struct _GeeAbstractMultiMapClass {
1220         GObjectClass parent_class;
1221         GeeCollection* (*create_value_storage) (GeeAbstractMultiMap* self);
1222         GeeMultiSet* (*create_multi_key_set) (GeeAbstractMultiMap* self);
1223         GeeEqualDataFunc (*get_value_equal_func) (GeeAbstractMultiMap* self, void** result_target, GDestroyNotify* result_target_destroy_notify);
1224         void (*reserved0) (GeeAbstractMultiMap* self);
1225         void (*reserved1) (GeeAbstractMultiMap* self);
1226         void (*reserved2) (GeeAbstractMultiMap* self);
1227         void (*reserved3) (GeeAbstractMultiMap* self);
1228         void (*reserved4) (GeeAbstractMultiMap* self);
1229         void (*reserved5) (GeeAbstractMultiMap* self);
1230         void (*reserved6) (GeeAbstractMultiMap* self);
1231         void (*reserved7) (GeeAbstractMultiMap* self);
1232         void (*reserved8) (GeeAbstractMultiMap* self);
1233         GeeMultiMap* (*get_read_only_view) (GeeAbstractMultiMap* self);
1234 };
1235
1236 struct _GeeAbstractMultiSet {
1237         GeeAbstractCollection parent_instance;
1238         GeeAbstractMultiSetPrivate * priv;
1239         GeeMap* _storage_map;
1240 };
1241
1242 struct _GeeAbstractMultiSetClass {
1243         GeeAbstractCollectionClass parent_class;
1244         void (*reserved0) (GeeAbstractMultiSet* self);
1245         void (*reserved1) (GeeAbstractMultiSet* self);
1246         void (*reserved2) (GeeAbstractMultiSet* self);
1247         void (*reserved3) (GeeAbstractMultiSet* self);
1248         void (*reserved4) (GeeAbstractMultiSet* self);
1249         void (*reserved5) (GeeAbstractMultiSet* self);
1250         void (*reserved6) (GeeAbstractMultiSet* self);
1251         void (*reserved7) (GeeAbstractMultiSet* self);
1252         void (*reserved8) (GeeAbstractMultiSet* self);
1253         GeeMultiSet* (*get_read_only_view) (GeeAbstractMultiSet* self);
1254 };
1255
1256 struct _GeeQueueIface {
1257         GTypeInterface parent_iface;
1258         GType (*get_g_type) (GeeQueue* self);
1259         GBoxedCopyFunc (*get_g_dup_func) (GeeQueue* self);
1260         GDestroyNotify (*get_g_destroy_func) (GeeQueue* self);
1261         gboolean (*offer) (GeeQueue* self, gconstpointer element);
1262         gpointer (*peek) (GeeQueue* self);
1263         gpointer (*poll) (GeeQueue* self);
1264         gint (*drain) (GeeQueue* self, GeeCollection* recipient, gint amount);
1265         gint (*get_capacity) (GeeQueue* self);
1266         gint (*get_remaining_capacity) (GeeQueue* self);
1267         gboolean (*get_is_full) (GeeQueue* self);
1268 };
1269
1270 struct _GeeAbstractQueue {
1271         GeeAbstractCollection parent_instance;
1272         GeeAbstractQueuePrivate * priv;
1273 };
1274
1275 struct _GeeAbstractQueueClass {
1276         GeeAbstractCollectionClass parent_class;
1277         gpointer (*peek) (GeeAbstractQueue* self);
1278         gpointer (*poll) (GeeAbstractQueue* self);
1279         void (*reserved0) (GeeAbstractQueue* self);
1280         void (*reserved1) (GeeAbstractQueue* self);
1281         void (*reserved2) (GeeAbstractQueue* self);
1282         void (*reserved3) (GeeAbstractQueue* self);
1283         void (*reserved4) (GeeAbstractQueue* self);
1284         void (*reserved5) (GeeAbstractQueue* self);
1285         void (*reserved6) (GeeAbstractQueue* self);
1286         void (*reserved7) (GeeAbstractQueue* self);
1287         void (*reserved8) (GeeAbstractQueue* self);
1288         void (*reserved9) (GeeAbstractQueue* self);
1289         gint (*get_capacity) (GeeAbstractQueue* self);
1290         gint (*get_remaining_capacity) (GeeAbstractQueue* self);
1291         gboolean (*get_is_full) (GeeAbstractQueue* self);
1292 };
1293
1294 struct _GeeArrayList {
1295         GeeAbstractBidirList parent_instance;
1296         GeeArrayListPrivate * priv;
1297         gpointer* _items;
1298         gint _items_length1;
1299         gint __items_size_;
1300         gint _size;
1301 };
1302
1303 struct _GeeArrayListClass {
1304         GeeAbstractBidirListClass parent_class;
1305 };
1306
1307 struct _GeeDequeIface {
1308         GTypeInterface parent_iface;
1309         GType (*get_g_type) (GeeDeque* self);
1310         GBoxedCopyFunc (*get_g_dup_func) (GeeDeque* self);
1311         GDestroyNotify (*get_g_destroy_func) (GeeDeque* self);
1312         gboolean (*offer_head) (GeeDeque* self, gconstpointer element);
1313         gpointer (*peek_head) (GeeDeque* self);
1314         gpointer (*poll_head) (GeeDeque* self);
1315         gint (*drain_head) (GeeDeque* self, GeeCollection* recipient, gint amount);
1316         gboolean (*offer_tail) (GeeDeque* self, gconstpointer element);
1317         gpointer (*peek_tail) (GeeDeque* self);
1318         gpointer (*poll_tail) (GeeDeque* self);
1319         gint (*drain_tail) (GeeDeque* self, GeeCollection* recipient, gint amount);
1320 };
1321
1322 struct _GeeArrayQueue {
1323         GeeAbstractQueue parent_instance;
1324         GeeArrayQueuePrivate * priv;
1325 };
1326
1327 struct _GeeArrayQueueClass {
1328         GeeAbstractQueueClass parent_class;
1329 };
1330
1331 struct _GeeComparableIface {
1332         GTypeInterface parent_iface;
1333         gint (*compare_to) (GeeComparable* self, gconstpointer object);
1334 };
1335
1336 struct _GeeConcurrentList {
1337         GeeAbstractList parent_instance;
1338         GeeConcurrentListPrivate * priv;
1339 };
1340
1341 struct _GeeConcurrentListClass {
1342         GeeAbstractListClass parent_class;
1343 };
1344
1345 struct _GeeConcurrentSet {
1346         GeeAbstractSortedSet parent_instance;
1347         GeeConcurrentSetPrivate * priv;
1348 };
1349
1350 struct _GeeConcurrentSetClass {
1351         GeeAbstractSortedSetClass parent_class;
1352 };
1353
1354 typedef enum  {
1355         GEE_CONCURRENT_SET_RANGE_TYPE_HEAD,
1356         GEE_CONCURRENT_SET_RANGE_TYPE_TAIL,
1357         GEE_CONCURRENT_SET_RANGE_TYPE_BOUNDED,
1358         GEE_CONCURRENT_SET_RANGE_TYPE_EMPTY
1359 } GeeConcurrentSetRangeType;
1360
1361 typedef guint (*GeeHashDataFunc) (gconstpointer v, void* user_data);
1362 struct _GeeHashableIface {
1363         GTypeInterface parent_iface;
1364         guint (*hash) (GeeHashable* self);
1365         gboolean (*equal_to) (GeeHashable* self, gconstpointer object);
1366 };
1367
1368 struct _GeeHashMap {
1369         GeeAbstractMap parent_instance;
1370         GeeHashMapPrivate * priv;
1371 };
1372
1373 struct _GeeHashMapClass {
1374         GeeAbstractMapClass parent_class;
1375 };
1376
1377 struct _GeeHashMultiMap {
1378         GeeAbstractMultiMap parent_instance;
1379         GeeHashMultiMapPrivate * priv;
1380 };
1381
1382 struct _GeeHashMultiMapClass {
1383         GeeAbstractMultiMapClass parent_class;
1384 };
1385
1386 struct _GeeHashMultiSet {
1387         GeeAbstractMultiSet parent_instance;
1388         GeeHashMultiSetPrivate * priv;
1389 };
1390
1391 struct _GeeHashMultiSetClass {
1392         GeeAbstractMultiSetClass parent_class;
1393 };
1394
1395 struct _GeeHashSet {
1396         GeeAbstractSet parent_instance;
1397         GeeHashSetPrivate * priv;
1398 };
1399
1400 struct _GeeHashSetClass {
1401         GeeAbstractSetClass parent_class;
1402 };
1403
1404 struct _GeeHazardPointer {
1405         GeeHazardPointerNode* _node;
1406 };
1407
1408 typedef enum  {
1409         GEE_HAZARD_POINTER_POLICY_DEFAULT,
1410         GEE_HAZARD_POINTER_POLICY_THREAD_EXIT,
1411         GEE_HAZARD_POINTER_POLICY_TRY_FREE,
1412         GEE_HAZARD_POINTER_POLICY_FREE,
1413         GEE_HAZARD_POINTER_POLICY_TRY_RELEASE,
1414         GEE_HAZARD_POINTER_POLICY_RELEASE
1415 } GeeHazardPointerPolicy;
1416
1417 typedef enum  {
1418         GEE_HAZARD_POINTER_RELEASE_POLICY_HELPER_THREAD,
1419         GEE_HAZARD_POINTER_RELEASE_POLICY_MAIN_LOOP
1420 } GeeHazardPointerReleasePolicy;
1421
1422 typedef void (*GeeHazardPointerDestroyNotify) (void* ptr, void* user_data);
1423 struct _GeeHazardPointerContext {
1424         GeeHazardPointerContext* _parent;
1425         GeeArrayList* _to_free;
1426         GeeHazardPointerPolicy* _policy;
1427 };
1428
1429 struct _GeeHazardPointerFreeNode {
1430         void* pointer;
1431         GeeHazardPointerDestroyNotify destroy_notify;
1432         gpointer destroy_notify_target;
1433         GDestroyNotify destroy_notify_target_destroy_notify;
1434 };
1435
1436 struct _GeeHazardPointerNode {
1437         GeeHazardPointerNode* _next;
1438         gint _active;
1439         void* _hazard;
1440 };
1441
1442 typedef GeeLazy* (*GeeUnfoldFunc) (void* user_data);
1443 typedef gpointer (*GeeLazyFunc) (void* user_data);
1444 struct _GeeLazy {
1445         GTypeInstance parent_instance;
1446         volatile int ref_count;
1447         GeeLazyPrivate * priv;
1448 };
1449
1450 struct _GeeLazyClass {
1451         GTypeClass parent_class;
1452         void (*finalize) (GeeLazy *self);
1453 };
1454
1455 struct _GeeLinkedList {
1456         GeeAbstractBidirList parent_instance;
1457         GeeLinkedListPrivate * priv;
1458 };
1459
1460 struct _GeeLinkedListClass {
1461         GeeAbstractBidirListClass parent_class;
1462 };
1463
1464 struct _GeeMapEntry {
1465         GObject parent_instance;
1466         GeeMapEntryPrivate * priv;
1467 };
1468
1469 struct _GeeMapEntryClass {
1470         GObjectClass parent_class;
1471         gconstpointer (*get_key) (GeeMapEntry* self);
1472         gconstpointer (*get_value) (GeeMapEntry* self);
1473         void (*set_value) (GeeMapEntry* self, gconstpointer value);
1474         gboolean (*get_read_only) (GeeMapEntry* self);
1475 };
1476
1477 struct _GeePriorityQueue {
1478         GeeAbstractQueue parent_instance;
1479         GeePriorityQueuePrivate * priv;
1480 };
1481
1482 struct _GeePriorityQueueClass {
1483         GeeAbstractQueueClass parent_class;
1484 };
1485
1486 struct _GeeReadOnlyCollection {
1487         GObject parent_instance;
1488         GeeReadOnlyCollectionPrivate * priv;
1489         GeeCollection* _collection;
1490 };
1491
1492 struct _GeeReadOnlyCollectionClass {
1493         GObjectClass parent_class;
1494         GeeCollection* (*get_read_only_view) (GeeReadOnlyCollection* self);
1495 };
1496
1497 struct _GeeReadOnlyList {
1498         GeeReadOnlyCollection parent_instance;
1499         GeeReadOnlyListPrivate * priv;
1500 };
1501
1502 struct _GeeReadOnlyListClass {
1503         GeeReadOnlyCollectionClass parent_class;
1504         GeeList* (*get_read_only_view) (GeeReadOnlyList* self);
1505 };
1506
1507 struct _GeeReadOnlyBidirList {
1508         GeeReadOnlyList parent_instance;
1509         GeeReadOnlyBidirListPrivate * priv;
1510 };
1511
1512 struct _GeeReadOnlyBidirListClass {
1513         GeeReadOnlyListClass parent_class;
1514         GeeBidirList* (*get_read_only_view) (GeeReadOnlyBidirList* self);
1515 };
1516
1517 struct _GeeReadOnlySet {
1518         GeeReadOnlyCollection parent_instance;
1519         GeeReadOnlySetPrivate * priv;
1520 };
1521
1522 struct _GeeReadOnlySetClass {
1523         GeeReadOnlyCollectionClass parent_class;
1524         GeeSet* (*get_read_only_view) (GeeReadOnlySet* self);
1525 };
1526
1527 struct _GeeReadOnlySortedSet {
1528         GeeReadOnlySet parent_instance;
1529         GeeReadOnlySortedSetPrivate * priv;
1530 };
1531
1532 struct _GeeReadOnlySortedSetClass {
1533         GeeReadOnlySetClass parent_class;
1534 };
1535
1536 struct _GeeReadOnlyBidirSortedSet {
1537         GeeReadOnlySortedSet parent_instance;
1538         GeeReadOnlyBidirSortedSetPrivate * priv;
1539 };
1540
1541 struct _GeeReadOnlyBidirSortedSetClass {
1542         GeeReadOnlySortedSetClass parent_class;
1543 };
1544
1545 struct _GeeReadOnlyCollectionIterator {
1546         GObject parent_instance;
1547         GeeReadOnlyCollectionIteratorPrivate * priv;
1548         GeeIterator* _iter;
1549 };
1550
1551 struct _GeeReadOnlyCollectionIteratorClass {
1552         GObjectClass parent_class;
1553 };
1554
1555 struct _GeeReadOnlyBidirSortedSetBidirIterator {
1556         GeeReadOnlyCollectionIterator parent_instance;
1557         GeeReadOnlyBidirSortedSetBidirIteratorPrivate * priv;
1558 };
1559
1560 struct _GeeReadOnlyBidirSortedSetBidirIteratorClass {
1561         GeeReadOnlyCollectionIteratorClass parent_class;
1562 };
1563
1564 struct _GeeReadOnlyMap {
1565         GObject parent_instance;
1566         GeeReadOnlyMapPrivate * priv;
1567         GeeMap* _map;
1568 };
1569
1570 struct _GeeReadOnlyMapClass {
1571         GObjectClass parent_class;
1572         GeeMap* (*get_read_only_view) (GeeReadOnlyMap* self);
1573 };
1574
1575 struct _GeeReadOnlySortedMap {
1576         GeeReadOnlyMap parent_instance;
1577         GeeReadOnlySortedMapPrivate * priv;
1578 };
1579
1580 struct _GeeReadOnlySortedMapClass {
1581         GeeReadOnlyMapClass parent_class;
1582 };
1583
1584 struct _GeeReadOnlyBidirSortedMap {
1585         GeeReadOnlySortedMap parent_instance;
1586         GeeReadOnlyBidirSortedMapPrivate * priv;
1587 };
1588
1589 struct _GeeReadOnlyBidirSortedMapClass {
1590         GeeReadOnlySortedMapClass parent_class;
1591 };
1592
1593 struct _GeeReadOnlyMapMapIterator {
1594         GObject parent_instance;
1595         GeeReadOnlyMapMapIteratorPrivate * priv;
1596         GeeMapIterator* _iter;
1597 };
1598
1599 struct _GeeReadOnlyMapMapIteratorClass {
1600         GObjectClass parent_class;
1601 };
1602
1603 struct _GeeReadOnlyBidirSortedMapBidirMapIterator {
1604         GeeReadOnlyMapMapIterator parent_instance;
1605         GeeReadOnlyBidirSortedMapBidirMapIteratorPrivate * priv;
1606 };
1607
1608 struct _GeeReadOnlyBidirSortedMapBidirMapIteratorClass {
1609         GeeReadOnlyMapMapIteratorClass parent_class;
1610 };
1611
1612 struct _GeeReadOnlyListIterator {
1613         GeeReadOnlyCollectionIterator parent_instance;
1614         GeeReadOnlyListIteratorPrivate * priv;
1615 };
1616
1617 struct _GeeReadOnlyListIteratorClass {
1618         GeeReadOnlyCollectionIteratorClass parent_class;
1619 };
1620
1621 struct _GeeReadOnlyMultiMap {
1622         GObject parent_instance;
1623         GeeReadOnlyMultiMapPrivate * priv;
1624 };
1625
1626 struct _GeeReadOnlyMultiMapClass {
1627         GObjectClass parent_class;
1628         GeeMultiMap* (*get_read_only_view) (GeeReadOnlyMultiMap* self);
1629 };
1630
1631 struct _GeeReadOnlyMultiSet {
1632         GeeReadOnlyCollection parent_instance;
1633         GeeReadOnlyMultiSetPrivate * priv;
1634 };
1635
1636 struct _GeeReadOnlyMultiSetClass {
1637         GeeReadOnlyCollectionClass parent_class;
1638         GeeMultiSet* (*get_read_only_view) (GeeReadOnlyMultiSet* self);
1639 };
1640
1641 struct _GeeTimSort {
1642         GObject parent_instance;
1643         GeeTimSortPrivate * priv;
1644 };
1645
1646 struct _GeeTimSortClass {
1647         GObjectClass parent_class;
1648 };
1649
1650 struct _GeeTreeMap {
1651         GeeAbstractBidirSortedMap parent_instance;
1652         GeeTreeMapPrivate * priv;
1653 };
1654
1655 struct _GeeTreeMapClass {
1656         GeeAbstractBidirSortedMapClass parent_class;
1657 };
1658
1659 struct _GeeTreeMultiMap {
1660         GeeAbstractMultiMap parent_instance;
1661         GeeTreeMultiMapPrivate * priv;
1662 };
1663
1664 struct _GeeTreeMultiMapClass {
1665         GeeAbstractMultiMapClass parent_class;
1666 };
1667
1668 struct _GeeTreeMultiSet {
1669         GeeAbstractMultiSet parent_instance;
1670         GeeTreeMultiSetPrivate * priv;
1671 };
1672
1673 struct _GeeTreeMultiSetClass {
1674         GeeAbstractMultiSetClass parent_class;
1675 };
1676
1677 struct _GeeTreeSet {
1678         GeeAbstractBidirSortedSet parent_instance;
1679         GeeTreeSetPrivate * priv;
1680 };
1681
1682 struct _GeeTreeSetClass {
1683         GeeAbstractBidirSortedSetClass parent_class;
1684 };
1685
1686 struct _GeeUnfoldIterator {
1687         GObject parent_instance;
1688         GeeUnfoldIteratorPrivate * priv;
1689 };
1690
1691 struct _GeeUnfoldIteratorClass {
1692         GObjectClass parent_class;
1693 };
1694
1695
1696 GType gee_traversable_stream_get_type (void) G_GNUC_CONST;
1697 gpointer gee_lazy_ref (gpointer instance);
1698 void gee_lazy_unref (gpointer instance);
1699 GParamSpec* gee_param_spec_lazy (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
1700 void gee_value_set_lazy (GValue* value, gpointer v_object);
1701 void gee_value_take_lazy (GValue* value, gpointer v_object);
1702 gpointer gee_value_get_lazy (const GValue* value);
1703 GType gee_lazy_get_type (void) G_GNUC_CONST;
1704 GType gee_iterator_get_type (void) G_GNUC_CONST;
1705 GType gee_traversable_get_type (void) G_GNUC_CONST;
1706 GType gee_iterable_get_type (void) G_GNUC_CONST;
1707 GType gee_collection_get_type (void) G_GNUC_CONST;
1708 GType gee_abstract_collection_get_type (void) G_GNUC_CONST;
1709 GType gee_list_iterator_get_type (void) G_GNUC_CONST;
1710 GType gee_list_get_type (void) G_GNUC_CONST;
1711 GType gee_abstract_list_get_type (void) G_GNUC_CONST;
1712 GType gee_bidir_iterator_get_type (void) G_GNUC_CONST;
1713 GType gee_bidir_list_iterator_get_type (void) G_GNUC_CONST;
1714 GType gee_bidir_list_get_type (void) G_GNUC_CONST;
1715 GType gee_abstract_bidir_list_get_type (void) G_GNUC_CONST;
1716 GeeBidirListIterator* gee_abstract_bidir_list_bidir_list_iterator (GeeAbstractBidirList* self);
1717 void gee_abstract_bidir_list_reserved0 (GeeAbstractBidirList* self);
1718 void gee_abstract_bidir_list_reserved1 (GeeAbstractBidirList* self);
1719 void gee_abstract_bidir_list_reserved2 (GeeAbstractBidirList* self);
1720 void gee_abstract_bidir_list_reserved3 (GeeAbstractBidirList* self);
1721 void gee_abstract_bidir_list_reserved4 (GeeAbstractBidirList* self);
1722 void gee_abstract_bidir_list_reserved5 (GeeAbstractBidirList* self);
1723 void gee_abstract_bidir_list_reserved6 (GeeAbstractBidirList* self);
1724 void gee_abstract_bidir_list_reserved7 (GeeAbstractBidirList* self);
1725 void gee_abstract_bidir_list_reserved8 (GeeAbstractBidirList* self);
1726 void gee_abstract_bidir_list_reserved9 (GeeAbstractBidirList* self);
1727 GeeAbstractBidirList* gee_abstract_bidir_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1728 GeeBidirList* gee_abstract_bidir_list_get_read_only_view (GeeAbstractBidirList* self);
1729 GType gee_set_get_type (void) G_GNUC_CONST;
1730 GType gee_abstract_set_get_type (void) G_GNUC_CONST;
1731 GType gee_sorted_set_get_type (void) G_GNUC_CONST;
1732 GType gee_abstract_sorted_set_get_type (void) G_GNUC_CONST;
1733 GType gee_bidir_sorted_set_get_type (void) G_GNUC_CONST;
1734 GType gee_abstract_bidir_sorted_set_get_type (void) G_GNUC_CONST;
1735 GeeBidirIterator* gee_abstract_bidir_sorted_set_bidir_iterator (GeeAbstractBidirSortedSet* self);
1736 void gee_abstract_bidir_sorted_set_reserved0 (GeeAbstractBidirSortedSet* self);
1737 void gee_abstract_bidir_sorted_set_reserved1 (GeeAbstractBidirSortedSet* self);
1738 void gee_abstract_bidir_sorted_set_reserved2 (GeeAbstractBidirSortedSet* self);
1739 void gee_abstract_bidir_sorted_set_reserved3 (GeeAbstractBidirSortedSet* self);
1740 void gee_abstract_bidir_sorted_set_reserved4 (GeeAbstractBidirSortedSet* self);
1741 void gee_abstract_bidir_sorted_set_reserved5 (GeeAbstractBidirSortedSet* self);
1742 void gee_abstract_bidir_sorted_set_reserved6 (GeeAbstractBidirSortedSet* self);
1743 void gee_abstract_bidir_sorted_set_reserved7 (GeeAbstractBidirSortedSet* self);
1744 void gee_abstract_bidir_sorted_set_reserved8 (GeeAbstractBidirSortedSet* self);
1745 void gee_abstract_bidir_sorted_set_reserved9 (GeeAbstractBidirSortedSet* self);
1746 GeeAbstractBidirSortedSet* gee_abstract_bidir_sorted_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1747 GeeBidirSortedSet* gee_abstract_bidir_sorted_set_get_read_only_view (GeeAbstractBidirSortedSet* self);
1748 GType gee_map_iterator_get_type (void) G_GNUC_CONST;
1749 GType gee_map_entry_get_type (void) G_GNUC_CONST;
1750 GType gee_map_get_type (void) G_GNUC_CONST;
1751 GType gee_abstract_map_get_type (void) G_GNUC_CONST;
1752 GType gee_sorted_map_get_type (void) G_GNUC_CONST;
1753 GType gee_abstract_sorted_map_get_type (void) G_GNUC_CONST;
1754 GType gee_bidir_map_iterator_get_type (void) G_GNUC_CONST;
1755 GType gee_bidir_sorted_map_get_type (void) G_GNUC_CONST;
1756 GType gee_abstract_bidir_sorted_map_get_type (void) G_GNUC_CONST;
1757 GeeBidirMapIterator* gee_abstract_bidir_sorted_map_bidir_map_iterator (GeeAbstractBidirSortedMap* self);
1758 void gee_abstract_bidir_sorted_map_reserved0 (GeeAbstractBidirSortedMap* self);
1759 void gee_abstract_bidir_sorted_map_reserved1 (GeeAbstractBidirSortedMap* self);
1760 void gee_abstract_bidir_sorted_map_reserved2 (GeeAbstractBidirSortedMap* self);
1761 void gee_abstract_bidir_sorted_map_reserved3 (GeeAbstractBidirSortedMap* self);
1762 void gee_abstract_bidir_sorted_map_reserved4 (GeeAbstractBidirSortedMap* self);
1763 void gee_abstract_bidir_sorted_map_reserved5 (GeeAbstractBidirSortedMap* self);
1764 void gee_abstract_bidir_sorted_map_reserved6 (GeeAbstractBidirSortedMap* self);
1765 void gee_abstract_bidir_sorted_map_reserved7 (GeeAbstractBidirSortedMap* self);
1766 void gee_abstract_bidir_sorted_map_reserved8 (GeeAbstractBidirSortedMap* self);
1767 void gee_abstract_bidir_sorted_map_reserved9 (GeeAbstractBidirSortedMap* self);
1768 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);
1769 GeeBidirSortedMap* gee_abstract_bidir_sorted_map_get_read_only_view (GeeAbstractBidirSortedMap* self);
1770 gboolean gee_abstract_collection_contains (GeeAbstractCollection* self, gconstpointer item);
1771 gboolean gee_abstract_collection_add (GeeAbstractCollection* self, gconstpointer item);
1772 gboolean gee_abstract_collection_remove (GeeAbstractCollection* self, gconstpointer item);
1773 void gee_abstract_collection_clear (GeeAbstractCollection* self);
1774 GeeIterator* gee_abstract_collection_iterator (GeeAbstractCollection* self);
1775 gboolean gee_abstract_collection_foreach (GeeAbstractCollection* self, GeeForallFunc f, void* f_target);
1776 void gee_abstract_collection_reserved0 (GeeAbstractCollection* self);
1777 void gee_abstract_collection_reserved1 (GeeAbstractCollection* self);
1778 void gee_abstract_collection_reserved2 (GeeAbstractCollection* self);
1779 void gee_abstract_collection_reserved3 (GeeAbstractCollection* self);
1780 void gee_abstract_collection_reserved4 (GeeAbstractCollection* self);
1781 void gee_abstract_collection_reserved5 (GeeAbstractCollection* self);
1782 void gee_abstract_collection_reserved6 (GeeAbstractCollection* self);
1783 void gee_abstract_collection_reserved7 (GeeAbstractCollection* self);
1784 void gee_abstract_collection_reserved8 (GeeAbstractCollection* self);
1785 void gee_abstract_collection_reserved9 (GeeAbstractCollection* self);
1786 GeeAbstractCollection* gee_abstract_collection_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1787 gint gee_abstract_collection_get_size (GeeAbstractCollection* self);
1788 gboolean gee_abstract_collection_get_read_only (GeeAbstractCollection* self);
1789 GeeCollection* gee_abstract_collection_get_read_only_view (GeeAbstractCollection* self);
1790 GeeListIterator* gee_abstract_list_list_iterator (GeeAbstractList* self);
1791 gpointer gee_abstract_list_get (GeeAbstractList* self, gint index);
1792 void gee_abstract_list_set (GeeAbstractList* self, gint index, gconstpointer item);
1793 gint gee_abstract_list_index_of (GeeAbstractList* self, gconstpointer item);
1794 void gee_abstract_list_insert (GeeAbstractList* self, gint index, gconstpointer item);
1795 gpointer gee_abstract_list_remove_at (GeeAbstractList* self, gint index);
1796 GeeList* gee_abstract_list_slice (GeeAbstractList* self, gint start, gint stop);
1797 void gee_abstract_list_reserved0 (GeeAbstractList* self);
1798 void gee_abstract_list_reserved1 (GeeAbstractList* self);
1799 void gee_abstract_list_reserved2 (GeeAbstractList* self);
1800 void gee_abstract_list_reserved3 (GeeAbstractList* self);
1801 void gee_abstract_list_reserved4 (GeeAbstractList* self);
1802 void gee_abstract_list_reserved5 (GeeAbstractList* self);
1803 void gee_abstract_list_reserved6 (GeeAbstractList* self);
1804 void gee_abstract_list_reserved7 (GeeAbstractList* self);
1805 void gee_abstract_list_reserved8 (GeeAbstractList* self);
1806 void gee_abstract_list_reserved9 (GeeAbstractList* self);
1807 GeeAbstractList* gee_abstract_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1808 GeeList* gee_abstract_list_get_read_only_view (GeeAbstractList* self);
1809 gboolean gee_abstract_map_has_key (GeeAbstractMap* self, gconstpointer key);
1810 gboolean gee_abstract_map_has (GeeAbstractMap* self, gconstpointer key, gconstpointer value);
1811 gpointer gee_abstract_map_get (GeeAbstractMap* self, gconstpointer key);
1812 void gee_abstract_map_set (GeeAbstractMap* self, gconstpointer key, gconstpointer value);
1813 gboolean gee_abstract_map_unset (GeeAbstractMap* self, gconstpointer key, gpointer* value);
1814 GeeMapIterator* gee_abstract_map_map_iterator (GeeAbstractMap* self);
1815 void gee_abstract_map_clear (GeeAbstractMap* self);
1816 gboolean gee_abstract_map_foreach (GeeAbstractMap* self, GeeForallFunc f, void* f_target);
1817 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);
1818 void gee_abstract_map_reserved0 (GeeAbstractMap* self);
1819 void gee_abstract_map_reserved1 (GeeAbstractMap* self);
1820 void gee_abstract_map_reserved2 (GeeAbstractMap* self);
1821 void gee_abstract_map_reserved3 (GeeAbstractMap* self);
1822 void gee_abstract_map_reserved4 (GeeAbstractMap* self);
1823 void gee_abstract_map_reserved5 (GeeAbstractMap* self);
1824 void gee_abstract_map_reserved6 (GeeAbstractMap* self);
1825 void gee_abstract_map_reserved7 (GeeAbstractMap* self);
1826 void gee_abstract_map_reserved8 (GeeAbstractMap* self);
1827 void gee_abstract_map_reserved9 (GeeAbstractMap* self);
1828 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);
1829 gint gee_abstract_map_get_size (GeeAbstractMap* self);
1830 gboolean gee_abstract_map_get_read_only (GeeAbstractMap* self);
1831 GeeSet* gee_abstract_map_get_keys (GeeAbstractMap* self);
1832 GeeCollection* gee_abstract_map_get_values (GeeAbstractMap* self);
1833 GeeSet* gee_abstract_map_get_entries (GeeAbstractMap* self);
1834 GeeMap* gee_abstract_map_get_read_only_view (GeeAbstractMap* self);
1835 GType gee_multi_set_get_type (void) G_GNUC_CONST;
1836 GType gee_multi_map_get_type (void) G_GNUC_CONST;
1837 GType gee_abstract_multi_map_get_type (void) G_GNUC_CONST;
1838 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);
1839 GeeCollection* gee_abstract_multi_map_create_value_storage (GeeAbstractMultiMap* self);
1840 GeeMultiSet* gee_abstract_multi_map_create_multi_key_set (GeeAbstractMultiMap* self);
1841 GeeEqualDataFunc gee_abstract_multi_map_get_value_equal_func (GeeAbstractMultiMap* self, void** result_target, GDestroyNotify* result_target_destroy_notify);
1842 void gee_abstract_multi_map_reserved0 (GeeAbstractMultiMap* self);
1843 void gee_abstract_multi_map_reserved1 (GeeAbstractMultiMap* self);
1844 void gee_abstract_multi_map_reserved2 (GeeAbstractMultiMap* self);
1845 void gee_abstract_multi_map_reserved3 (GeeAbstractMultiMap* self);
1846 void gee_abstract_multi_map_reserved4 (GeeAbstractMultiMap* self);
1847 void gee_abstract_multi_map_reserved5 (GeeAbstractMultiMap* self);
1848 void gee_abstract_multi_map_reserved6 (GeeAbstractMultiMap* self);
1849 void gee_abstract_multi_map_reserved7 (GeeAbstractMultiMap* self);
1850 void gee_abstract_multi_map_reserved8 (GeeAbstractMultiMap* self);
1851 GeeMultiMap* gee_abstract_multi_map_get_read_only_view (GeeAbstractMultiMap* self);
1852 GType gee_abstract_multi_set_get_type (void) G_GNUC_CONST;
1853 GeeAbstractMultiSet* gee_abstract_multi_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeMap* storage_map);
1854 void gee_abstract_multi_set_reserved0 (GeeAbstractMultiSet* self);
1855 void gee_abstract_multi_set_reserved1 (GeeAbstractMultiSet* self);
1856 void gee_abstract_multi_set_reserved2 (GeeAbstractMultiSet* self);
1857 void gee_abstract_multi_set_reserved3 (GeeAbstractMultiSet* self);
1858 void gee_abstract_multi_set_reserved4 (GeeAbstractMultiSet* self);
1859 void gee_abstract_multi_set_reserved5 (GeeAbstractMultiSet* self);
1860 void gee_abstract_multi_set_reserved6 (GeeAbstractMultiSet* self);
1861 void gee_abstract_multi_set_reserved7 (GeeAbstractMultiSet* self);
1862 void gee_abstract_multi_set_reserved8 (GeeAbstractMultiSet* self);
1863 GeeMultiSet* gee_abstract_multi_set_get_read_only_view (GeeAbstractMultiSet* self);
1864 GType gee_queue_get_type (void) G_GNUC_CONST;
1865 GType gee_abstract_queue_get_type (void) G_GNUC_CONST;
1866 gpointer gee_abstract_queue_peek (GeeAbstractQueue* self);
1867 gpointer gee_abstract_queue_poll (GeeAbstractQueue* self);
1868 void gee_abstract_queue_reserved0 (GeeAbstractQueue* self);
1869 void gee_abstract_queue_reserved1 (GeeAbstractQueue* self);
1870 void gee_abstract_queue_reserved2 (GeeAbstractQueue* self);
1871 void gee_abstract_queue_reserved3 (GeeAbstractQueue* self);
1872 void gee_abstract_queue_reserved4 (GeeAbstractQueue* self);
1873 void gee_abstract_queue_reserved5 (GeeAbstractQueue* self);
1874 void gee_abstract_queue_reserved6 (GeeAbstractQueue* self);
1875 void gee_abstract_queue_reserved7 (GeeAbstractQueue* self);
1876 void gee_abstract_queue_reserved8 (GeeAbstractQueue* self);
1877 void gee_abstract_queue_reserved9 (GeeAbstractQueue* self);
1878 GeeAbstractQueue* gee_abstract_queue_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1879 gint gee_abstract_queue_get_capacity (GeeAbstractQueue* self);
1880 gint gee_abstract_queue_get_remaining_capacity (GeeAbstractQueue* self);
1881 gboolean gee_abstract_queue_get_is_full (GeeAbstractQueue* self);
1882 void gee_abstract_set_reserved0 (GeeAbstractSet* self);
1883 void gee_abstract_set_reserved1 (GeeAbstractSet* self);
1884 void gee_abstract_set_reserved2 (GeeAbstractSet* self);
1885 void gee_abstract_set_reserved3 (GeeAbstractSet* self);
1886 void gee_abstract_set_reserved4 (GeeAbstractSet* self);
1887 void gee_abstract_set_reserved5 (GeeAbstractSet* self);
1888 void gee_abstract_set_reserved6 (GeeAbstractSet* self);
1889 void gee_abstract_set_reserved7 (GeeAbstractSet* self);
1890 void gee_abstract_set_reserved8 (GeeAbstractSet* self);
1891 void gee_abstract_set_reserved9 (GeeAbstractSet* self);
1892 GeeAbstractSet* gee_abstract_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1893 GeeSet* gee_abstract_set_get_read_only_view (GeeAbstractSet* self);
1894 GeeSortedMap* gee_abstract_sorted_map_head_map (GeeAbstractSortedMap* self, gconstpointer before);
1895 GeeSortedMap* gee_abstract_sorted_map_tail_map (GeeAbstractSortedMap* self, gconstpointer after);
1896 GeeSortedMap* gee_abstract_sorted_map_sub_map (GeeAbstractSortedMap* self, gconstpointer before, gconstpointer after);
1897 void gee_abstract_sorted_map_reserved0 (GeeAbstractSortedMap* self);
1898 void gee_abstract_sorted_map_reserved1 (GeeAbstractSortedMap* self);
1899 void gee_abstract_sorted_map_reserved2 (GeeAbstractSortedMap* self);
1900 void gee_abstract_sorted_map_reserved3 (GeeAbstractSortedMap* self);
1901 void gee_abstract_sorted_map_reserved4 (GeeAbstractSortedMap* self);
1902 void gee_abstract_sorted_map_reserved5 (GeeAbstractSortedMap* self);
1903 void gee_abstract_sorted_map_reserved6 (GeeAbstractSortedMap* self);
1904 void gee_abstract_sorted_map_reserved7 (GeeAbstractSortedMap* self);
1905 void gee_abstract_sorted_map_reserved8 (GeeAbstractSortedMap* self);
1906 void gee_abstract_sorted_map_reserved9 (GeeAbstractSortedMap* self);
1907 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);
1908 GeeSortedSet* gee_abstract_sorted_map_get_ascending_keys (GeeAbstractSortedMap* self);
1909 GeeSortedSet* gee_abstract_sorted_map_get_ascending_entries (GeeAbstractSortedMap* self);
1910 gpointer gee_abstract_sorted_set_first (GeeAbstractSortedSet* self);
1911 gpointer gee_abstract_sorted_set_last (GeeAbstractSortedSet* self);
1912 GeeIterator* gee_abstract_sorted_set_iterator_at (GeeAbstractSortedSet* self, gconstpointer element);
1913 gpointer gee_abstract_sorted_set_lower (GeeAbstractSortedSet* self, gconstpointer element);
1914 gpointer gee_abstract_sorted_set_higher (GeeAbstractSortedSet* self, gconstpointer element);
1915 gpointer gee_abstract_sorted_set_floor (GeeAbstractSortedSet* self, gconstpointer element);
1916 gpointer gee_abstract_sorted_set_ceil (GeeAbstractSortedSet* self, gconstpointer element);
1917 GeeSortedSet* gee_abstract_sorted_set_head_set (GeeAbstractSortedSet* self, gconstpointer before);
1918 GeeSortedSet* gee_abstract_sorted_set_tail_set (GeeAbstractSortedSet* self, gconstpointer after);
1919 GeeSortedSet* gee_abstract_sorted_set_sub_set (GeeAbstractSortedSet* self, gconstpointer from, gconstpointer to);
1920 void gee_abstract_sorted_set_reserved0 (GeeAbstractSortedSet* self);
1921 void gee_abstract_sorted_set_reserved1 (GeeAbstractSortedSet* self);
1922 void gee_abstract_sorted_set_reserved2 (GeeAbstractSortedSet* self);
1923 void gee_abstract_sorted_set_reserved3 (GeeAbstractSortedSet* self);
1924 void gee_abstract_sorted_set_reserved4 (GeeAbstractSortedSet* self);
1925 void gee_abstract_sorted_set_reserved5 (GeeAbstractSortedSet* self);
1926 void gee_abstract_sorted_set_reserved6 (GeeAbstractSortedSet* self);
1927 void gee_abstract_sorted_set_reserved7 (GeeAbstractSortedSet* self);
1928 void gee_abstract_sorted_set_reserved8 (GeeAbstractSortedSet* self);
1929 void gee_abstract_sorted_set_reserved9 (GeeAbstractSortedSet* self);
1930 GeeAbstractSortedSet* gee_abstract_sorted_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1931 GeeSortedSet* gee_abstract_sorted_set_get_read_only_view (GeeAbstractSortedSet* self);
1932 GType gee_array_list_get_type (void) G_GNUC_CONST;
1933 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);
1934 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);
1935 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);
1936 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);
1937 gboolean gee_array_list_add_all (GeeArrayList* self, GeeCollection* collection);
1938 GeeEqualDataFunc gee_array_list_get_equal_func (GeeArrayList* self, gpointer* result_target);
1939 GType gee_deque_get_type (void) G_GNUC_CONST;
1940 GType gee_array_queue_get_type (void) G_GNUC_CONST;
1941 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);
1942 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);
1943 GeeEqualDataFunc gee_array_queue_get_equal_func (GeeArrayQueue* self, gpointer* result_target);
1944 gboolean gee_array_queue_get_is_empty (GeeArrayQueue* self);
1945 gboolean gee_bidir_iterator_previous (GeeBidirIterator* self);
1946 gboolean gee_bidir_iterator_has_previous (GeeBidirIterator* self);
1947 gboolean gee_bidir_iterator_first (GeeBidirIterator* self);
1948 gboolean gee_bidir_iterator_last (GeeBidirIterator* self);
1949 GeeBidirListIterator* gee_bidir_list_bidir_list_iterator (GeeBidirList* self);
1950 GeeBidirList* gee_bidir_list_get_read_only_view (GeeBidirList* self);
1951 void gee_bidir_list_iterator_insert (GeeBidirListIterator* self, gconstpointer item);
1952 gboolean gee_bidir_map_iterator_previous (GeeBidirMapIterator* self);
1953 gboolean gee_bidir_map_iterator_has_previous (GeeBidirMapIterator* self);
1954 gboolean gee_bidir_map_iterator_first (GeeBidirMapIterator* self);
1955 gboolean gee_bidir_map_iterator_last (GeeBidirMapIterator* self);
1956 GeeBidirIterator* gee_bidir_sorted_set_bidir_iterator (GeeBidirSortedSet* self);
1957 GeeBidirSortedSet* gee_bidir_sorted_set_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1958 GeeBidirSortedSet* gee_bidir_sorted_set_get_read_only_view (GeeBidirSortedSet* self);
1959 GeeBidirMapIterator* gee_bidir_sorted_map_bidir_map_iterator (GeeBidirSortedMap* self);
1960 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);
1961 GeeBidirSortedMap* gee_bidir_sorted_map_get_read_only_view (GeeBidirSortedMap* self);
1962 gboolean gee_collection_contains (GeeCollection* self, gconstpointer item);
1963 gboolean gee_collection_add (GeeCollection* self, gconstpointer item);
1964 gboolean gee_collection_remove (GeeCollection* self, gconstpointer item);
1965 void gee_collection_clear (GeeCollection* self);
1966 gboolean gee_collection_add_all (GeeCollection* self, GeeCollection* collection);
1967 gboolean gee_collection_contains_all (GeeCollection* self, GeeCollection* collection);
1968 gboolean gee_collection_remove_all (GeeCollection* self, GeeCollection* collection);
1969 gboolean gee_collection_retain_all (GeeCollection* self, GeeCollection* collection);
1970 gpointer* gee_collection_to_array (GeeCollection* self, int* result_length1);
1971 gboolean gee_collection_add_all_array (GeeCollection* self, gpointer* array, int array_length1);
1972 gboolean gee_collection_contains_all_array (GeeCollection* self, gpointer* array, int array_length1);
1973 gboolean gee_collection_remove_all_array (GeeCollection* self, gpointer* array, int array_length1);
1974 GeeCollection* gee_collection_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
1975 gint gee_collection_get_size (GeeCollection* self);
1976 gboolean gee_collection_get_is_empty (GeeCollection* self);
1977 gboolean gee_collection_get_read_only (GeeCollection* self);
1978 GeeCollection* gee_collection_get_read_only_view (GeeCollection* self);
1979 GType gee_comparable_get_type (void) G_GNUC_CONST;
1980 gint gee_comparable_compare_to (GeeComparable* self, gconstpointer object);
1981 GType gee_concurrent_list_get_type (void) G_GNUC_CONST;
1982 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);
1983 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);
1984 GeeEqualDataFunc gee_concurrent_list_get_equal_func (GeeConcurrentList* self, gpointer* result_target);
1985 gboolean gee_concurrent_list_get_is_empty (GeeConcurrentList* self);
1986 GType gee_concurrent_set_get_type (void) G_GNUC_CONST;
1987 GType gee_concurrent_set_range_type_get_type (void) G_GNUC_CONST;
1988 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);
1989 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);
1990 gboolean gee_deque_offer_head (GeeDeque* self, gconstpointer element);
1991 gpointer gee_deque_peek_head (GeeDeque* self);
1992 gpointer gee_deque_poll_head (GeeDeque* self);
1993 gint gee_deque_drain_head (GeeDeque* self, GeeCollection* recipient, gint amount);
1994 gboolean gee_deque_offer_tail (GeeDeque* self, gconstpointer element);
1995 gpointer gee_deque_peek_tail (GeeDeque* self);
1996 gpointer gee_deque_poll_tail (GeeDeque* self);
1997 gint gee_deque_drain_tail (GeeDeque* self, GeeCollection* recipient, gint amount);
1998 GeeEqualDataFunc gee_functions_get_equal_func_for (GType t, void** result_target, GDestroyNotify* result_target_destroy_notify);
1999 GeeHashDataFunc gee_functions_get_hash_func_for (GType t, void** result_target, GDestroyNotify* result_target_destroy_notify);
2000 GCompareDataFunc gee_functions_get_compare_func_for (GType t, void** result_target, GDestroyNotify* result_target_destroy_notify);
2001 GType gee_hashable_get_type (void) G_GNUC_CONST;
2002 guint gee_hashable_hash (GeeHashable* self);
2003 gboolean gee_hashable_equal_to (GeeHashable* self, gconstpointer object);
2004 GType gee_hash_map_get_type (void) G_GNUC_CONST;
2005 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);
2006 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);
2007 GeeHashDataFunc gee_hash_map_get_key_hash_func (GeeHashMap* self, gpointer* result_target);
2008 GeeEqualDataFunc gee_hash_map_get_key_equal_func (GeeHashMap* self, gpointer* result_target);
2009 GeeEqualDataFunc gee_hash_map_get_value_equal_func (GeeHashMap* self, gpointer* result_target);
2010 GType gee_hash_multi_map_get_type (void) G_GNUC_CONST;
2011 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);
2012 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);
2013 GeeHashDataFunc gee_hash_multi_map_get_key_hash_func (GeeHashMultiMap* self, gpointer* result_target);
2014 GeeEqualDataFunc gee_hash_multi_map_get_key_equal_func (GeeHashMultiMap* self, gpointer* result_target);
2015 GeeHashDataFunc gee_hash_multi_map_get_value_hash_func (GeeHashMultiMap* self, gpointer* result_target);
2016 GeeEqualDataFunc gee_hash_multi_map_get_value_equal_func (GeeHashMultiMap* self, gpointer* result_target);
2017 GType gee_hash_multi_set_get_type (void) G_GNUC_CONST;
2018 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);
2019 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);
2020 GeeHashDataFunc gee_hash_multi_set_get_hash_func (GeeHashMultiSet* self, gpointer* result_target);
2021 GeeEqualDataFunc gee_hash_multi_set_get_equal_func (GeeHashMultiSet* self, gpointer* result_target);
2022 GType gee_hash_set_get_type (void) G_GNUC_CONST;
2023 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);
2024 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);
2025 GeeHashDataFunc gee_hash_set_get_hash_func (GeeHashSet* self, gpointer* result_target);
2026 GeeEqualDataFunc gee_hash_set_get_equal_func (GeeHashSet* self, gpointer* result_target);
2027 void gee_hazard_pointer_free (GeeHazardPointer* self);
2028 void gee_hazard_pointer_node_free (GeeHazardPointerNode* self);
2029 GType gee_hazard_pointer_policy_get_type (void) G_GNUC_CONST;
2030 gboolean gee_hazard_pointer_policy_is_concrete (GeeHazardPointerPolicy self);
2031 gboolean gee_hazard_pointer_policy_is_blocking (GeeHazardPointerPolicy self);
2032 gboolean gee_hazard_pointer_policy_is_safe (GeeHazardPointerPolicy self);
2033 GeeHazardPointerPolicy gee_hazard_pointer_policy_to_concrete (GeeHazardPointerPolicy self);
2034 void gee_hazard_pointer_free_node_free (GeeHazardPointerFreeNode* self);
2035 GeeArrayList* gee_hazard_pointer_policy_perform (GeeHazardPointerPolicy self, GeeArrayList* to_free);
2036 void gee_hazard_pointer_release_policy_ensure_start (void);
2037 GType gee_hazard_pointer_release_policy_get_type (void) G_GNUC_CONST;
2038 extern GeeHazardPointerNode* gee_hazard_pointer__head;
2039 extern gint gee_hazard_pointer__default_policy;
2040 extern gint gee_hazard_pointer__thread_exit_policy;
2041 extern gint gee_hazard_pointer_release_policy;
2042 extern GeeQueue* gee_hazard_pointer__queue;
2043 extern GStaticMutex gee_hazard_pointer__queue_mutex;
2044 extern GeeArrayList* gee_hazard_pointer__global_to_free;
2045 GeeHazardPointer* gee_hazard_pointer_new (gconstpointer* ptr);
2046 GeeHazardPointer* gee_hazard_pointer_new (gconstpointer* ptr);
2047 GeeHazardPointer* gee_hazard_pointer_new_from_node (GeeHazardPointerNode* node);
2048 GeeHazardPointer* gee_hazard_pointer_new_from_node (GeeHazardPointerNode* node);
2049 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);
2050 gpointer gee_hazard_pointer_get_pointer (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer** aptr, gsize mask, gsize* mask_out);
2051 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);
2052 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);
2053 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);
2054 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);
2055 gconstpointer gee_hazard_pointer_get (GeeHazardPointer* self, gboolean other_thread);
2056 void gee_hazard_pointer_release (GeeHazardPointer* self, GeeHazardPointerDestroyNotify notify, void* notify_target, GDestroyNotify notify_target_destroy_notify);
2057 void gee_hazard_pointer_set_default_policy (GeeHazardPointerPolicy policy);
2058 void gee_hazard_pointer_set_thread_exit_policy (GeeHazardPointerPolicy policy);
2059 gboolean gee_hazard_pointer_set_release_policy (GeeHazardPointerReleasePolicy policy);
2060 GeeHazardPointerNode* gee_hazard_pointer_acquire (void);
2061 gboolean gee_hazard_pointer_try_free (GeeArrayList* to_free);
2062 GeeHazardPointerNode* gee_hazard_pointer_get_head (void);
2063 GeeHazardPointerDestroyNotify gee_hazard_pointer_get_destroy_notify (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, void** result_target, GDestroyNotify* result_target_destroy_notify);
2064 void gee_hazard_pointer_context_free (GeeHazardPointerContext* self);
2065 extern GStaticPrivate gee_hazard_pointer_context__current_context;
2066 extern GStaticPrivate gee_hazard_pointer_context__root_context;
2067 GeeHazardPointerContext* gee_hazard_pointer_context_new (GeeHazardPointerPolicy* policy);
2068 GeeHazardPointerContext* gee_hazard_pointer_context_new (GeeHazardPointerPolicy* policy);
2069 void gee_hazard_pointer_context_try_free (GeeHazardPointerContext* self);
2070 void gee_hazard_pointer_context_free_all (GeeHazardPointerContext* self);
2071 void gee_hazard_pointer_context_try_release (GeeHazardPointerContext* self);
2072 void gee_hazard_pointer_context_release (GeeHazardPointerContext* self);
2073 void gee_hazard_pointer_context_release_ptr (GeeHazardPointerContext* self, void* ptr, GeeHazardPointerDestroyNotify notify, void* notify_target, GDestroyNotify notify_target_destroy_notify);
2074 GeeHazardPointerContext* gee_hazard_pointer_context_get_current_context (void);
2075 GeeHazardPointerFreeNode* gee_hazard_pointer_free_node_new (void);
2076 GeeHazardPointerFreeNode* gee_hazard_pointer_free_node_new (void);
2077 GeeHazardPointerNode* gee_hazard_pointer_node_new (void);
2078 GeeHazardPointerNode* gee_hazard_pointer_node_new (void);
2079 void gee_hazard_pointer_node_release (GeeHazardPointerNode* self);
2080 gboolean gee_hazard_pointer_node_is_active (GeeHazardPointerNode* self);
2081 gboolean gee_hazard_pointer_node_activate (GeeHazardPointerNode* self);
2082 void gee_hazard_pointer_node_set (GeeHazardPointerNode* self, void* ptr);
2083 void* gee_hazard_pointer_node_get (GeeHazardPointerNode* self, gboolean safe);
2084 GeeHazardPointerNode* gee_hazard_pointer_node_get_next (GeeHazardPointerNode* self);
2085 void gee_hazard_pointer_node_set_next (GeeHazardPointerNode* self, GeeHazardPointerNode* next);
2086 GeeIterator* gee_iterable_iterator (GeeIterable* self);
2087 gboolean gee_iterator_next (GeeIterator* self);
2088 gboolean gee_iterator_has_next (GeeIterator* self);
2089 gpointer gee_iterator_get (GeeIterator* self);
2090 void gee_iterator_remove (GeeIterator* self);
2091 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);
2092 GeeIterator* gee_iterator_concat (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeIterator* iters);
2093 gboolean gee_iterator_get_valid (GeeIterator* self);
2094 gboolean gee_iterator_get_read_only (GeeIterator* self);
2095 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);
2096 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);
2097 GeeLazy* gee_lazy_new_from_value (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer item);
2098 GeeLazy* gee_lazy_construct_from_value (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer item);
2099 void gee_lazy_eval (GeeLazy* self);
2100 gpointer gee_lazy_get (GeeLazy* self);
2101 gconstpointer gee_lazy_get_value (GeeLazy* self);
2102 GType gee_linked_list_get_type (void) G_GNUC_CONST;
2103 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);
2104 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);
2105 gpointer gee_linked_list_first (GeeLinkedList* self);
2106 gpointer gee_linked_list_last (GeeLinkedList* self);
2107 GeeEqualDataFunc gee_linked_list_get_equal_func (GeeLinkedList* self, gpointer* result_target);
2108 GeeListIterator* gee_list_list_iterator (GeeList* self);
2109 gpointer gee_list_get (GeeList* self, gint index);
2110 void gee_list_set (GeeList* self, gint index, gconstpointer item);
2111 gint gee_list_index_of (GeeList* self, gconstpointer item);
2112 void gee_list_insert (GeeList* self, gint index, gconstpointer item);
2113 gpointer gee_list_remove_at (GeeList* self, gint index);
2114 GeeList* gee_list_slice (GeeList* self, gint start, gint stop);
2115 gpointer gee_list_first (GeeList* self);
2116 gpointer gee_list_last (GeeList* self);
2117 void gee_list_insert_all (GeeList* self, gint index, GeeCollection* collection);
2118 void gee_list_sort (GeeList* self, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify);
2119 GeeList* gee_list_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
2120 GeeList* gee_list_get_read_only_view (GeeList* self);
2121 void gee_list_iterator_set (GeeListIterator* self, gconstpointer item);
2122 void gee_list_iterator_add (GeeListIterator* self, gconstpointer item);
2123 gint gee_list_iterator_index (GeeListIterator* self);
2124 gboolean gee_map_has_key (GeeMap* self, gconstpointer key);
2125 gboolean gee_map_contains (GeeMap* self, gconstpointer key) G_GNUC_DEPRECATED;
2126 gboolean gee_map_has (GeeMap* self, gconstpointer key, gconstpointer value);
2127 gpointer gee_map_get (GeeMap* self, gconstpointer key);
2128 void gee_map_set (GeeMap* self, gconstpointer key, gconstpointer value);
2129 gboolean gee_map_unset (GeeMap* self, gconstpointer key, gpointer* value);
2130 gboolean gee_map_remove (GeeMap* self, gconstpointer key, gpointer* value) G_GNUC_DEPRECATED;
2131 void gee_map_clear (GeeMap* self);
2132 GeeMapIterator* gee_map_map_iterator (GeeMap* self);
2133 void gee_map_set_all (GeeMap* self, GeeMap* map);
2134 gboolean gee_map_unset_all (GeeMap* self, GeeMap* map);
2135 gboolean gee_map_remove_all (GeeMap* self, GeeMap* map) G_GNUC_DEPRECATED;
2136 gboolean gee_map_has_all (GeeMap* self, GeeMap* map);
2137 gboolean gee_map_contains_all (GeeMap* self, GeeMap* map) G_GNUC_DEPRECATED;
2138 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);
2139 gint gee_map_get_size (GeeMap* self);
2140 gboolean gee_map_get_is_empty (GeeMap* self);
2141 gboolean gee_map_get_read_only (GeeMap* self);
2142 GeeSet* gee_map_get_keys (GeeMap* self);
2143 GeeCollection* gee_map_get_values (GeeMap* self);
2144 GeeSet* gee_map_get_entries (GeeMap* self);
2145 GeeMap* gee_map_get_read_only_view (GeeMap* self);
2146 GType gee_map_get_key_type (GeeMap* self);
2147 GType gee_map_get_value_type (GeeMap* self);
2148 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);
2149 gconstpointer gee_map_entry_get_key (GeeMapEntry* self);
2150 gconstpointer gee_map_entry_get_value (GeeMapEntry* self);
2151 void gee_map_entry_set_value (GeeMapEntry* self, gconstpointer value);
2152 gboolean gee_map_entry_get_read_only (GeeMapEntry* self);
2153 gboolean gee_map_iterator_next (GeeMapIterator* self);
2154 gboolean gee_map_iterator_has_next (GeeMapIterator* self);
2155 gpointer gee_map_iterator_get_key (GeeMapIterator* self);
2156 gpointer gee_map_iterator_get_value (GeeMapIterator* self);
2157 void gee_map_iterator_set_value (GeeMapIterator* self, gconstpointer value);
2158 void gee_map_iterator_unset (GeeMapIterator* self);
2159 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);
2160 gboolean gee_map_iterator_foreach (GeeMapIterator* self, GeeForallMapFunc f, void* f_target);
2161 gboolean gee_map_iterator_get_valid (GeeMapIterator* self);
2162 gboolean gee_map_iterator_get_mutable (GeeMapIterator* self);
2163 gboolean gee_map_iterator_get_read_only (GeeMapIterator* self);
2164 GeeSet* gee_multi_map_get_keys (GeeMultiMap* self);
2165 GeeMultiSet* gee_multi_map_get_all_keys (GeeMultiMap* self);
2166 GeeCollection* gee_multi_map_get_values (GeeMultiMap* self);
2167 gboolean gee_multi_map_contains (GeeMultiMap* self, gconstpointer key);
2168 GeeCollection* gee_multi_map_get (GeeMultiMap* self, gconstpointer key);
2169 void gee_multi_map_set (GeeMultiMap* self, gconstpointer key, gconstpointer value);
2170 gboolean gee_multi_map_remove (GeeMultiMap* self, gconstpointer key, gconstpointer value);
2171 gboolean gee_multi_map_remove_all (GeeMultiMap* self, gconstpointer key);
2172 void gee_multi_map_clear (GeeMultiMap* self);
2173 GeeMapIterator* gee_multi_map_map_iterator (GeeMultiMap* self);
2174 gint gee_multi_map_get_size (GeeMultiMap* self);
2175 gboolean gee_multi_map_get_read_only (GeeMultiMap* self);
2176 GType gee_multi_map_get_key_type (GeeMultiMap* self);
2177 GType gee_multi_map_get_value_type (GeeMultiMap* self);
2178 GeeMultiMap* gee_multi_map_get_read_only_view (GeeMultiMap* self);
2179 gint gee_multi_set_count (GeeMultiSet* self, gconstpointer item);
2180 GeeSet* gee_multi_set_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
2181 GeeMultiSet* gee_multi_set_get_read_only_view (GeeMultiSet* self);
2182 GType gee_priority_queue_get_type (void) G_GNUC_CONST;
2183 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);
2184 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);
2185 gboolean gee_priority_queue_offer (GeePriorityQueue* self, gconstpointer element);
2186 gint gee_priority_queue_drain (GeePriorityQueue* self, GeeCollection* recipient, gint amount);
2187 GCompareDataFunc gee_priority_queue_get_compare_func (GeePriorityQueue* self, gpointer* result_target);
2188 gboolean gee_queue_offer (GeeQueue* self, gconstpointer element);
2189 gpointer gee_queue_peek (GeeQueue* self);
2190 gpointer gee_queue_poll (GeeQueue* self);
2191 gint gee_queue_drain (GeeQueue* self, GeeCollection* recipient, gint amount);
2192 #define GEE_QUEUE_UNBOUNDED_CAPACITY (-1)
2193 gint gee_queue_get_capacity (GeeQueue* self);
2194 gint gee_queue_get_remaining_capacity (GeeQueue* self);
2195 gboolean gee_queue_get_is_full (GeeQueue* self);
2196 GType gee_read_only_collection_get_type (void) G_GNUC_CONST;
2197 GType gee_read_only_list_get_type (void) G_GNUC_CONST;
2198 GType gee_read_only_bidir_list_get_type (void) G_GNUC_CONST;
2199 GeeReadOnlyBidirList* gee_read_only_bidir_list_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeBidirList* list);
2200 GeeReadOnlyBidirList* gee_read_only_bidir_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeBidirList* list);
2201 GeeBidirList* gee_read_only_bidir_list_get_read_only_view (GeeReadOnlyBidirList* self);
2202 GType gee_read_only_set_get_type (void) G_GNUC_CONST;
2203 GType gee_read_only_sorted_set_get_type (void) G_GNUC_CONST;
2204 GType gee_read_only_bidir_sorted_set_get_type (void) G_GNUC_CONST;
2205 GeeReadOnlyBidirSortedSet* gee_read_only_bidir_sorted_set_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeBidirSortedSet* set);
2206 GeeReadOnlyBidirSortedSet* gee_read_only_bidir_sorted_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeBidirSortedSet* set);
2207 GType gee_read_only_collection_iterator_get_type (void) G_GNUC_CONST;
2208 GType gee_read_only_bidir_sorted_set_bidir_iterator_get_type (void) G_GNUC_CONST;
2209 GeeReadOnlyBidirSortedSetBidirIterator* gee_read_only_bidir_sorted_set_bidir_iterator_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeBidirIterator* iterator);
2210 GeeReadOnlyBidirSortedSetBidirIterator* gee_read_only_bidir_sorted_set_bidir_iterator_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeBidirIterator* iterator);
2211 GType gee_read_only_map_get_type (void) G_GNUC_CONST;
2212 GType gee_read_only_sorted_map_get_type (void) G_GNUC_CONST;
2213 GType gee_read_only_bidir_sorted_map_get_type (void) G_GNUC_CONST;
2214 GeeReadOnlyBidirSortedMap* gee_read_only_bidir_sorted_map_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeBidirSortedMap* map);
2215 GeeReadOnlyBidirSortedMap* gee_read_only_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, GeeBidirSortedMap* map);
2216 GType gee_read_only_map_map_iterator_get_type (void) G_GNUC_CONST;
2217 GType gee_read_only_bidir_sorted_map_bidir_map_iterator_get_type (void) G_GNUC_CONST;
2218 GeeReadOnlyBidirSortedMapBidirMapIterator* gee_read_only_bidir_sorted_map_bidir_map_iterator_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeBidirMapIterator* iterator);
2219 GeeReadOnlyBidirSortedMapBidirMapIterator* gee_read_only_bidir_sorted_map_bidir_map_iterator_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, GeeBidirMapIterator* iterator);
2220 GeeReadOnlyCollection* gee_read_only_collection_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeCollection* collection);
2221 GeeReadOnlyCollection* gee_read_only_collection_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeCollection* collection);
2222 GeeCollection* gee_read_only_collection_get_read_only_view (GeeReadOnlyCollection* self);
2223 GeeReadOnlyCollectionIterator* gee_read_only_collection_iterator_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeIterator* iterator);
2224 GeeReadOnlyCollectionIterator* gee_read_only_collection_iterator_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeIterator* iterator);
2225 GeeReadOnlyList* gee_read_only_list_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeList* list);
2226 GeeReadOnlyList* gee_read_only_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeList* list);
2227 GeeList* gee_read_only_list_get_read_only_view (GeeReadOnlyList* self);
2228 GType gee_read_only_list_iterator_get_type (void) G_GNUC_CONST;
2229 GeeReadOnlyListIterator* gee_read_only_list_iterator_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeListIterator* iterator);
2230 GeeReadOnlyListIterator* gee_read_only_list_iterator_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeListIterator* iterator);
2231 GeeReadOnlyMap* gee_read_only_map_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeMap* map);
2232 GeeReadOnlyMap* gee_read_only_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* map);
2233 gboolean gee_read_only_map_contains (GeeReadOnlyMap* self, gconstpointer key);
2234 gboolean gee_read_only_map_remove (GeeReadOnlyMap* self, gconstpointer key, gpointer* value);
2235 gboolean gee_read_only_map_remove_all (GeeReadOnlyMap* self, GeeMap* map);
2236 gboolean gee_read_only_map_contains_all (GeeReadOnlyMap* self, GeeMap* map);
2237 GeeMap* gee_read_only_map_get_read_only_view (GeeReadOnlyMap* self);
2238 GType gee_read_only_map_get_key_type (GeeReadOnlyMap* self);
2239 GType gee_read_only_map_get_value_type (GeeReadOnlyMap* self);
2240 GeeReadOnlyMapMapIterator* gee_read_only_map_map_iterator_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeMapIterator* iterator);
2241 GeeReadOnlyMapMapIterator* gee_read_only_map_map_iterator_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, GeeMapIterator* iterator);
2242 GType gee_read_only_multi_map_get_type (void) G_GNUC_CONST;
2243 GeeReadOnlyMultiMap* gee_read_only_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, GeeMultiMap* multimap);
2244 GeeReadOnlyMultiMap* gee_read_only_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, GeeMultiMap* multimap);
2245 GeeMultiMap* gee_read_only_multi_map_get_read_only_view (GeeReadOnlyMultiMap* self);
2246 GType gee_read_only_multi_set_get_type (void) G_GNUC_CONST;
2247 GeeReadOnlyMultiSet* gee_read_only_multi_set_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeMultiSet* multiset);
2248 GeeReadOnlyMultiSet* gee_read_only_multi_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeMultiSet* multiset);
2249 GeeMultiSet* gee_read_only_multi_set_get_read_only_view (GeeReadOnlyMultiSet* self);
2250 GeeReadOnlySet* gee_read_only_set_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeSet* set);
2251 GeeReadOnlySet* gee_read_only_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeSet* set);
2252 GeeSet* gee_read_only_set_get_read_only_view (GeeReadOnlySet* self);
2253 GeeReadOnlySortedMap* gee_read_only_sorted_map_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeMap* map);
2254 GeeReadOnlySortedMap* gee_read_only_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, GeeMap* map);
2255 GeeReadOnlySortedSet* gee_read_only_sorted_set_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeSortedSet* set);
2256 GeeReadOnlySortedSet* gee_read_only_sorted_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeSortedSet* set);
2257 GeeSet* gee_set_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
2258 GeeSet* gee_set_get_read_only_view (GeeSet* self);
2259 GeeSortedMap* gee_sorted_map_head_map (GeeSortedMap* self, gconstpointer before);
2260 GeeSortedMap* gee_sorted_map_tail_map (GeeSortedMap* self, gconstpointer after);
2261 GeeSortedMap* gee_sorted_map_sub_map (GeeSortedMap* self, gconstpointer before, gconstpointer after);
2262 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);
2263 GeeSortedSet* gee_sorted_map_get_ascending_keys (GeeSortedMap* self);
2264 GeeSortedSet* gee_sorted_map_get_ascending_entries (GeeSortedMap* self);
2265 GeeSortedMap* gee_sorted_map_get_read_only_view (GeeSortedMap* self);
2266 gpointer gee_sorted_set_first (GeeSortedSet* self);
2267 gpointer gee_sorted_set_last (GeeSortedSet* self);
2268 GeeIterator* gee_sorted_set_iterator_at (GeeSortedSet* self, gconstpointer element);
2269 gpointer gee_sorted_set_lower (GeeSortedSet* self, gconstpointer element);
2270 gpointer gee_sorted_set_higher (GeeSortedSet* self, gconstpointer element);
2271 gpointer gee_sorted_set_floor (GeeSortedSet* self, gconstpointer element);
2272 gpointer gee_sorted_set_ceil (GeeSortedSet* self, gconstpointer element);
2273 GeeSortedSet* gee_sorted_set_head_set (GeeSortedSet* self, gconstpointer before);
2274 GeeSortedSet* gee_sorted_set_tail_set (GeeSortedSet* self, gconstpointer after);
2275 GeeSortedSet* gee_sorted_set_sub_set (GeeSortedSet* self, gconstpointer from, gconstpointer to);
2276 GeeSortedSet* gee_sorted_set_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
2277 GeeSortedSet* gee_sorted_set_get_read_only_view (GeeSortedSet* self);
2278 GType gee_tim_sort_get_type (void) G_GNUC_CONST;
2279 void gee_tim_sort_sort (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeList* list, GCompareDataFunc compare, void* compare_target);
2280 GeeTimSort* gee_tim_sort_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
2281 GeeTimSort* gee_tim_sort_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
2282 gboolean gee_traversable_foreach (GeeTraversable* self, GeeForallFunc f, void* f_target);
2283 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);
2284 gpointer gee_traversable_fold (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
2285 GeeIterator* gee_traversable_map (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeMapFunc f, void* f_target);
2286 GeeIterator* gee_traversable_scan (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
2287 GeeIterator* gee_traversable_filter (GeeTraversable* self, GeePredicate pred, void* pred_target, GDestroyNotify pred_target_destroy_notify);
2288 GeeIterator* gee_traversable_chop (GeeTraversable* self, gint offset, gint length);
2289 GType gee_traversable_get_element_type (GeeTraversable* self);
2290 GType gee_tree_map_get_type (void) G_GNUC_CONST;
2291 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);
2292 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);
2293 GCompareDataFunc gee_tree_map_get_key_compare_func (GeeTreeMap* self, gpointer* result_target);
2294 GeeEqualDataFunc gee_tree_map_get_value_equal_func (GeeTreeMap* self, gpointer* result_target);
2295 GType gee_tree_multi_map_get_type (void) G_GNUC_CONST;
2296 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);
2297 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);
2298 GCompareDataFunc gee_tree_multi_map_get_key_compare_func (GeeTreeMultiMap* self, gpointer* result_target);
2299 GCompareDataFunc gee_tree_multi_map_get_value_compare_func (GeeTreeMultiMap* self, gpointer* result_target);
2300 GType gee_tree_multi_set_get_type (void) G_GNUC_CONST;
2301 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);
2302 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);
2303 GCompareDataFunc gee_tree_multi_set_get_compare_func (GeeTreeMultiSet* self, gpointer* result_target);
2304 GType gee_tree_set_get_type (void) G_GNUC_CONST;
2305 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);
2306 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);
2307 GCompareDataFunc gee_tree_set_get_compare_func (GeeTreeSet* self, gpointer* result_target);
2308 GType gee_unfold_iterator_get_type (void) G_GNUC_CONST;
2309 GeeUnfoldIterator* gee_unfold_iterator_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeUnfoldFunc func, void* func_target, GDestroyNotify func_target_destroy_notify, GeeLazy* current);
2310 GeeUnfoldIterator* gee_unfold_iterator_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeUnfoldFunc func, void* func_target, GDestroyNotify func_target_destroy_notify, GeeLazy* current);
2311
2312
2313 G_END_DECLS
2314
2315 #endif