Update Changelog
[profile/ivi/libgee.git] / gee / Gee-0.8.gir
1 <?xml version="1.0"?>
2 <repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
3 <include name="GObject" version="2.0"/>
4 <include name="GLib" version="2.0"/>
5 <package name="gee-0.8"/>
6 <c:include name="gee.h"/>
7 <namespace name="Gee" version="0.8" c:prefix="Gee">
8         <annotation key="ccode.gir-version" value="0.8"/>
9         <annotation key="ccode.gir-namespace" value="Gee"/>
10         <function name="functions_get_equal_func_for" c:identifier="gee_functions_get_equal_func_for">
11                 <return-value transfer-ownership="none" closure="1" destroy="2">
12                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
13                 </return-value>
14                 <parameters>
15                         <parameter name="t" transfer-ownership="none">
16                                 <type name="GObject.Type" c:type="GType"/>
17                         </parameter>
18                         <parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
19                                 <type name="gpointer" c:type="void*"/>
20                         </parameter>
21                         <parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none">
22                                 <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
23                         </parameter>
24                 </parameters>
25         </function>
26         <function name="functions_get_hash_func_for" c:identifier="gee_functions_get_hash_func_for">
27                 <return-value transfer-ownership="none" closure="1" destroy="2">
28                         <type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
29                 </return-value>
30                 <parameters>
31                         <parameter name="t" transfer-ownership="none">
32                                 <type name="GObject.Type" c:type="GType"/>
33                         </parameter>
34                         <parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
35                                 <type name="gpointer" c:type="void*"/>
36                         </parameter>
37                         <parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none">
38                                 <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
39                         </parameter>
40                 </parameters>
41         </function>
42         <function name="functions_get_compare_func_for" c:identifier="gee_functions_get_compare_func_for">
43                 <return-value transfer-ownership="none" closure="1" destroy="2">
44                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
45                 </return-value>
46                 <parameters>
47                         <parameter name="t" transfer-ownership="none">
48                                 <type name="GObject.Type" c:type="GType"/>
49                         </parameter>
50                         <parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
51                                 <type name="gpointer" c:type="void*"/>
52                         </parameter>
53                         <parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none">
54                                 <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
55                         </parameter>
56                 </parameters>
57         </function>
58         <class name="AbstractBidirList" c:type="GeeAbstractBidirList" glib:type-name="GeeAbstractBidirList" glib:get-type="gee_abstract_bidir_list_get_type" glib:type-struct="AbstractBidirListClass" parent="Gee.AbstractList" abstract="1">
59                 <implements name="Gee.BidirList"/>
60                 <field name="parent_instance">
61                         <type name="Gee.AbstractList" c:type="GeeAbstractList"/>
62                 </field>
63                 <field name="priv">
64                         <type name="AbstractBidirListPrivate" c:type="GeeAbstractBidirListPrivate*"/>
65                 </field>
66                 <method name="bidir_list_iterator" c:identifier="gee_abstract_bidir_list_bidir_list_iterator">
67                         <return-value transfer-ownership="full">
68                                 <type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*">
69                                         <type name="gpointer" c:type="gpointer"/>
70                                 </type>
71                         </return-value>
72                 </method>
73                 <virtual-method name="bidir_list_iterator" invoker="bidir_list_iterator">
74                         <return-value transfer-ownership="full">
75                                 <type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*">
76                                         <type name="gpointer" c:type="gpointer"/>
77                                 </type>
78                         </return-value>
79                 </virtual-method>
80                 <property name="read-only-view">
81                         <type name="Gee.BidirList" c:type="GeeBidirList*">
82                                 <type name="gpointer" c:type="gpointer"/>
83                         </type>
84                 </property>
85         </class>
86         <record name="AbstractBidirListClass" c:type="GeeAbstractBidirListClass" glib:is-gtype-struct-for="AbstractBidirList">
87                 <field name="parent_class">
88                         <type name="Gee.AbstractListClass" c:type="GeeAbstractListClass"/>
89                 </field>
90                                 <field name="bidir_list_iterator">
91                         <callback name="bidir_list_iterator" c:type="bidir_list_iterator">
92                                 <return-value transfer-ownership="full">
93                                         <type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*">
94                                                 <type name="gpointer" c:type="gpointer"/>
95                                         </type>
96                                 </return-value>
97                                 <parameters>
98                                         <parameter name="self" transfer-ownership="none">
99                                                 <type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
100                                         </parameter>
101                                 </parameters>
102                         </callback>
103                 </field>
104                                 <field name="reserved0">
105                         <callback name="reserved0" c:type="reserved0">
106                                 <return-value transfer-ownership="full">
107                                         <type name="none"/>
108                                 </return-value>
109                                 <parameters>
110                                         <parameter name="self" transfer-ownership="none">
111                                                 <type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
112                                         </parameter>
113                                 </parameters>
114                         </callback>
115                 </field>
116                                 <field name="reserved1">
117                         <callback name="reserved1" c:type="reserved1">
118                                 <return-value transfer-ownership="full">
119                                         <type name="none"/>
120                                 </return-value>
121                                 <parameters>
122                                         <parameter name="self" transfer-ownership="none">
123                                                 <type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
124                                         </parameter>
125                                 </parameters>
126                         </callback>
127                 </field>
128                                 <field name="reserved2">
129                         <callback name="reserved2" c:type="reserved2">
130                                 <return-value transfer-ownership="full">
131                                         <type name="none"/>
132                                 </return-value>
133                                 <parameters>
134                                         <parameter name="self" transfer-ownership="none">
135                                                 <type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
136                                         </parameter>
137                                 </parameters>
138                         </callback>
139                 </field>
140                                 <field name="reserved3">
141                         <callback name="reserved3" c:type="reserved3">
142                                 <return-value transfer-ownership="full">
143                                         <type name="none"/>
144                                 </return-value>
145                                 <parameters>
146                                         <parameter name="self" transfer-ownership="none">
147                                                 <type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
148                                         </parameter>
149                                 </parameters>
150                         </callback>
151                 </field>
152                                 <field name="reserved4">
153                         <callback name="reserved4" c:type="reserved4">
154                                 <return-value transfer-ownership="full">
155                                         <type name="none"/>
156                                 </return-value>
157                                 <parameters>
158                                         <parameter name="self" transfer-ownership="none">
159                                                 <type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
160                                         </parameter>
161                                 </parameters>
162                         </callback>
163                 </field>
164                                 <field name="reserved5">
165                         <callback name="reserved5" c:type="reserved5">
166                                 <return-value transfer-ownership="full">
167                                         <type name="none"/>
168                                 </return-value>
169                                 <parameters>
170                                         <parameter name="self" transfer-ownership="none">
171                                                 <type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
172                                         </parameter>
173                                 </parameters>
174                         </callback>
175                 </field>
176                                 <field name="reserved6">
177                         <callback name="reserved6" c:type="reserved6">
178                                 <return-value transfer-ownership="full">
179                                         <type name="none"/>
180                                 </return-value>
181                                 <parameters>
182                                         <parameter name="self" transfer-ownership="none">
183                                                 <type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
184                                         </parameter>
185                                 </parameters>
186                         </callback>
187                 </field>
188                                 <field name="reserved7">
189                         <callback name="reserved7" c:type="reserved7">
190                                 <return-value transfer-ownership="full">
191                                         <type name="none"/>
192                                 </return-value>
193                                 <parameters>
194                                         <parameter name="self" transfer-ownership="none">
195                                                 <type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
196                                         </parameter>
197                                 </parameters>
198                         </callback>
199                 </field>
200                                 <field name="reserved8">
201                         <callback name="reserved8" c:type="reserved8">
202                                 <return-value transfer-ownership="full">
203                                         <type name="none"/>
204                                 </return-value>
205                                 <parameters>
206                                         <parameter name="self" transfer-ownership="none">
207                                                 <type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
208                                         </parameter>
209                                 </parameters>
210                         </callback>
211                 </field>
212                                 <field name="reserved9">
213                         <callback name="reserved9" c:type="reserved9">
214                                 <return-value transfer-ownership="full">
215                                         <type name="none"/>
216                                 </return-value>
217                                 <parameters>
218                                         <parameter name="self" transfer-ownership="none">
219                                                 <type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
220                                         </parameter>
221                                 </parameters>
222                         </callback>
223                 </field>
224         </record>
225         <record name="AbstractBidirListPrivate" c:type="GeeAbstractBidirListPrivate" disguised="1"/>
226         <class name="AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet" glib:type-name="GeeAbstractBidirSortedSet" glib:get-type="gee_abstract_bidir_sorted_set_get_type" glib:type-struct="AbstractBidirSortedSetClass" parent="Gee.AbstractSortedSet" abstract="1">
227                 <implements name="Gee.BidirSortedSet"/>
228                 <field name="parent_instance">
229                         <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet"/>
230                 </field>
231                 <field name="priv">
232                         <type name="AbstractBidirSortedSetPrivate" c:type="GeeAbstractBidirSortedSetPrivate*"/>
233                 </field>
234                 <method name="bidir_iterator" c:identifier="gee_abstract_bidir_sorted_set_bidir_iterator">
235                         <return-value transfer-ownership="full">
236                                 <type name="Gee.BidirIterator" c:type="GeeBidirIterator*">
237                                         <type name="gpointer" c:type="gpointer"/>
238                                 </type>
239                         </return-value>
240                 </method>
241                 <virtual-method name="bidir_iterator" invoker="bidir_iterator">
242                         <return-value transfer-ownership="full">
243                                 <type name="Gee.BidirIterator" c:type="GeeBidirIterator*">
244                                         <type name="gpointer" c:type="gpointer"/>
245                                 </type>
246                         </return-value>
247                 </virtual-method>
248                 <property name="read-only-view">
249                         <type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*">
250                                 <type name="gpointer" c:type="gpointer"/>
251                         </type>
252                 </property>
253         </class>
254         <record name="AbstractBidirSortedSetClass" c:type="GeeAbstractBidirSortedSetClass" glib:is-gtype-struct-for="AbstractBidirSortedSet">
255                 <field name="parent_class">
256                         <type name="Gee.AbstractSortedSetClass" c:type="GeeAbstractSortedSetClass"/>
257                 </field>
258                                 <field name="bidir_iterator">
259                         <callback name="bidir_iterator" c:type="bidir_iterator">
260                                 <return-value transfer-ownership="full">
261                                         <type name="Gee.BidirIterator" c:type="GeeBidirIterator*">
262                                                 <type name="gpointer" c:type="gpointer"/>
263                                         </type>
264                                 </return-value>
265                                 <parameters>
266                                         <parameter name="self" transfer-ownership="none">
267                                                 <type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
268                                         </parameter>
269                                 </parameters>
270                         </callback>
271                 </field>
272                                 <field name="reserved0">
273                         <callback name="reserved0" c:type="reserved0">
274                                 <return-value transfer-ownership="full">
275                                         <type name="none"/>
276                                 </return-value>
277                                 <parameters>
278                                         <parameter name="self" transfer-ownership="none">
279                                                 <type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
280                                         </parameter>
281                                 </parameters>
282                         </callback>
283                 </field>
284                                 <field name="reserved1">
285                         <callback name="reserved1" c:type="reserved1">
286                                 <return-value transfer-ownership="full">
287                                         <type name="none"/>
288                                 </return-value>
289                                 <parameters>
290                                         <parameter name="self" transfer-ownership="none">
291                                                 <type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
292                                         </parameter>
293                                 </parameters>
294                         </callback>
295                 </field>
296                                 <field name="reserved2">
297                         <callback name="reserved2" c:type="reserved2">
298                                 <return-value transfer-ownership="full">
299                                         <type name="none"/>
300                                 </return-value>
301                                 <parameters>
302                                         <parameter name="self" transfer-ownership="none">
303                                                 <type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
304                                         </parameter>
305                                 </parameters>
306                         </callback>
307                 </field>
308                                 <field name="reserved3">
309                         <callback name="reserved3" c:type="reserved3">
310                                 <return-value transfer-ownership="full">
311                                         <type name="none"/>
312                                 </return-value>
313                                 <parameters>
314                                         <parameter name="self" transfer-ownership="none">
315                                                 <type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
316                                         </parameter>
317                                 </parameters>
318                         </callback>
319                 </field>
320                                 <field name="reserved4">
321                         <callback name="reserved4" c:type="reserved4">
322                                 <return-value transfer-ownership="full">
323                                         <type name="none"/>
324                                 </return-value>
325                                 <parameters>
326                                         <parameter name="self" transfer-ownership="none">
327                                                 <type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
328                                         </parameter>
329                                 </parameters>
330                         </callback>
331                 </field>
332                                 <field name="reserved5">
333                         <callback name="reserved5" c:type="reserved5">
334                                 <return-value transfer-ownership="full">
335                                         <type name="none"/>
336                                 </return-value>
337                                 <parameters>
338                                         <parameter name="self" transfer-ownership="none">
339                                                 <type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
340                                         </parameter>
341                                 </parameters>
342                         </callback>
343                 </field>
344                                 <field name="reserved6">
345                         <callback name="reserved6" c:type="reserved6">
346                                 <return-value transfer-ownership="full">
347                                         <type name="none"/>
348                                 </return-value>
349                                 <parameters>
350                                         <parameter name="self" transfer-ownership="none">
351                                                 <type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
352                                         </parameter>
353                                 </parameters>
354                         </callback>
355                 </field>
356                                 <field name="reserved7">
357                         <callback name="reserved7" c:type="reserved7">
358                                 <return-value transfer-ownership="full">
359                                         <type name="none"/>
360                                 </return-value>
361                                 <parameters>
362                                         <parameter name="self" transfer-ownership="none">
363                                                 <type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
364                                         </parameter>
365                                 </parameters>
366                         </callback>
367                 </field>
368                                 <field name="reserved8">
369                         <callback name="reserved8" c:type="reserved8">
370                                 <return-value transfer-ownership="full">
371                                         <type name="none"/>
372                                 </return-value>
373                                 <parameters>
374                                         <parameter name="self" transfer-ownership="none">
375                                                 <type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
376                                         </parameter>
377                                 </parameters>
378                         </callback>
379                 </field>
380                                 <field name="reserved9">
381                         <callback name="reserved9" c:type="reserved9">
382                                 <return-value transfer-ownership="full">
383                                         <type name="none"/>
384                                 </return-value>
385                                 <parameters>
386                                         <parameter name="self" transfer-ownership="none">
387                                                 <type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
388                                         </parameter>
389                                 </parameters>
390                         </callback>
391                 </field>
392         </record>
393         <record name="AbstractBidirSortedSetPrivate" c:type="GeeAbstractBidirSortedSetPrivate" disguised="1"/>
394         <class name="AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap" glib:type-name="GeeAbstractBidirSortedMap" glib:get-type="gee_abstract_bidir_sorted_map_get_type" glib:type-struct="AbstractBidirSortedMapClass" parent="Gee.AbstractSortedMap" abstract="1">
395                 <implements name="Gee.BidirSortedMap"/>
396                 <field name="parent_instance">
397                         <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap"/>
398                 </field>
399                 <field name="priv">
400                         <type name="AbstractBidirSortedMapPrivate" c:type="GeeAbstractBidirSortedMapPrivate*"/>
401                 </field>
402                 <method name="bidir_map_iterator" c:identifier="gee_abstract_bidir_sorted_map_bidir_map_iterator">
403                         <return-value transfer-ownership="full">
404                                 <type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*">
405                                         <type name="gpointer" c:type="gpointer"/>
406                                         <type name="gpointer" c:type="gpointer"/>
407                                 </type>
408                         </return-value>
409                 </method>
410                 <virtual-method name="bidir_map_iterator" invoker="bidir_map_iterator">
411                         <return-value transfer-ownership="full">
412                                 <type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*">
413                                         <type name="gpointer" c:type="gpointer"/>
414                                         <type name="gpointer" c:type="gpointer"/>
415                                 </type>
416                         </return-value>
417                 </virtual-method>
418                 <property name="read-only-view">
419                         <type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*">
420                                 <type name="gpointer" c:type="gpointer"/>
421                                 <type name="gpointer" c:type="gpointer"/>
422                         </type>
423                 </property>
424         </class>
425         <record name="AbstractBidirSortedMapClass" c:type="GeeAbstractBidirSortedMapClass" glib:is-gtype-struct-for="AbstractBidirSortedMap">
426                 <field name="parent_class">
427                         <type name="Gee.AbstractSortedMapClass" c:type="GeeAbstractSortedMapClass"/>
428                 </field>
429                                 <field name="bidir_map_iterator">
430                         <callback name="bidir_map_iterator" c:type="bidir_map_iterator">
431                                 <return-value transfer-ownership="full">
432                                         <type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*">
433                                                 <type name="gpointer" c:type="gpointer"/>
434                                                 <type name="gpointer" c:type="gpointer"/>
435                                         </type>
436                                 </return-value>
437                                 <parameters>
438                                         <parameter name="self" transfer-ownership="none">
439                                                 <type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
440                                         </parameter>
441                                 </parameters>
442                         </callback>
443                 </field>
444                                 <field name="reserved0">
445                         <callback name="reserved0" c:type="reserved0">
446                                 <return-value transfer-ownership="full">
447                                         <type name="none"/>
448                                 </return-value>
449                                 <parameters>
450                                         <parameter name="self" transfer-ownership="none">
451                                                 <type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
452                                         </parameter>
453                                 </parameters>
454                         </callback>
455                 </field>
456                                 <field name="reserved1">
457                         <callback name="reserved1" c:type="reserved1">
458                                 <return-value transfer-ownership="full">
459                                         <type name="none"/>
460                                 </return-value>
461                                 <parameters>
462                                         <parameter name="self" transfer-ownership="none">
463                                                 <type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
464                                         </parameter>
465                                 </parameters>
466                         </callback>
467                 </field>
468                                 <field name="reserved2">
469                         <callback name="reserved2" c:type="reserved2">
470                                 <return-value transfer-ownership="full">
471                                         <type name="none"/>
472                                 </return-value>
473                                 <parameters>
474                                         <parameter name="self" transfer-ownership="none">
475                                                 <type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
476                                         </parameter>
477                                 </parameters>
478                         </callback>
479                 </field>
480                                 <field name="reserved3">
481                         <callback name="reserved3" c:type="reserved3">
482                                 <return-value transfer-ownership="full">
483                                         <type name="none"/>
484                                 </return-value>
485                                 <parameters>
486                                         <parameter name="self" transfer-ownership="none">
487                                                 <type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
488                                         </parameter>
489                                 </parameters>
490                         </callback>
491                 </field>
492                                 <field name="reserved4">
493                         <callback name="reserved4" c:type="reserved4">
494                                 <return-value transfer-ownership="full">
495                                         <type name="none"/>
496                                 </return-value>
497                                 <parameters>
498                                         <parameter name="self" transfer-ownership="none">
499                                                 <type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
500                                         </parameter>
501                                 </parameters>
502                         </callback>
503                 </field>
504                                 <field name="reserved5">
505                         <callback name="reserved5" c:type="reserved5">
506                                 <return-value transfer-ownership="full">
507                                         <type name="none"/>
508                                 </return-value>
509                                 <parameters>
510                                         <parameter name="self" transfer-ownership="none">
511                                                 <type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
512                                         </parameter>
513                                 </parameters>
514                         </callback>
515                 </field>
516                                 <field name="reserved6">
517                         <callback name="reserved6" c:type="reserved6">
518                                 <return-value transfer-ownership="full">
519                                         <type name="none"/>
520                                 </return-value>
521                                 <parameters>
522                                         <parameter name="self" transfer-ownership="none">
523                                                 <type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
524                                         </parameter>
525                                 </parameters>
526                         </callback>
527                 </field>
528                                 <field name="reserved7">
529                         <callback name="reserved7" c:type="reserved7">
530                                 <return-value transfer-ownership="full">
531                                         <type name="none"/>
532                                 </return-value>
533                                 <parameters>
534                                         <parameter name="self" transfer-ownership="none">
535                                                 <type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
536                                         </parameter>
537                                 </parameters>
538                         </callback>
539                 </field>
540                                 <field name="reserved8">
541                         <callback name="reserved8" c:type="reserved8">
542                                 <return-value transfer-ownership="full">
543                                         <type name="none"/>
544                                 </return-value>
545                                 <parameters>
546                                         <parameter name="self" transfer-ownership="none">
547                                                 <type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
548                                         </parameter>
549                                 </parameters>
550                         </callback>
551                 </field>
552                                 <field name="reserved9">
553                         <callback name="reserved9" c:type="reserved9">
554                                 <return-value transfer-ownership="full">
555                                         <type name="none"/>
556                                 </return-value>
557                                 <parameters>
558                                         <parameter name="self" transfer-ownership="none">
559                                                 <type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
560                                         </parameter>
561                                 </parameters>
562                         </callback>
563                 </field>
564         </record>
565         <record name="AbstractBidirSortedMapPrivate" c:type="GeeAbstractBidirSortedMapPrivate" disguised="1"/>
566         <class name="AbstractCollection" c:type="GeeAbstractCollection" glib:type-name="GeeAbstractCollection" glib:get-type="gee_abstract_collection_get_type" glib:type-struct="AbstractCollectionClass" parent="GObject.Object" abstract="1">
567                 <implements name="Gee.Traversable"/>
568                 <implements name="Gee.Iterable"/>
569                 <implements name="Gee.Collection"/>
570                 <field name="parent_instance">
571                         <type name="GObject.Object" c:type="GObject"/>
572                 </field>
573                 <field name="priv">
574                         <type name="AbstractCollectionPrivate" c:type="GeeAbstractCollectionPrivate*"/>
575                 </field>
576                 <method name="contains" c:identifier="gee_abstract_collection_contains">
577                         <return-value transfer-ownership="full">
578                                 <type name="gboolean" c:type="gboolean"/>
579                         </return-value>
580                         <parameters>
581                                 <parameter name="item" transfer-ownership="none" allow-none="1">
582                                         <type name="gpointer" c:type="gpointer"/>
583                                 </parameter>
584                         </parameters>
585                 </method>
586                 <virtual-method name="contains" invoker="contains">
587                         <return-value transfer-ownership="full">
588                                 <type name="gboolean" c:type="gboolean"/>
589                         </return-value>
590                         <parameters>
591                                 <parameter name="item" transfer-ownership="none" allow-none="1">
592                                         <type name="gpointer" c:type="gpointer"/>
593                                 </parameter>
594                         </parameters>
595                 </virtual-method>
596                 <method name="add" c:identifier="gee_abstract_collection_add">
597                         <return-value transfer-ownership="full">
598                                 <type name="gboolean" c:type="gboolean"/>
599                         </return-value>
600                         <parameters>
601                                 <parameter name="item" transfer-ownership="none" allow-none="1">
602                                         <type name="gpointer" c:type="gpointer"/>
603                                 </parameter>
604                         </parameters>
605                 </method>
606                 <virtual-method name="add" invoker="add">
607                         <return-value transfer-ownership="full">
608                                 <type name="gboolean" c:type="gboolean"/>
609                         </return-value>
610                         <parameters>
611                                 <parameter name="item" transfer-ownership="none" allow-none="1">
612                                         <type name="gpointer" c:type="gpointer"/>
613                                 </parameter>
614                         </parameters>
615                 </virtual-method>
616                 <method name="remove" c:identifier="gee_abstract_collection_remove">
617                         <return-value transfer-ownership="full">
618                                 <type name="gboolean" c:type="gboolean"/>
619                         </return-value>
620                         <parameters>
621                                 <parameter name="item" transfer-ownership="none" allow-none="1">
622                                         <type name="gpointer" c:type="gpointer"/>
623                                 </parameter>
624                         </parameters>
625                 </method>
626                 <virtual-method name="remove" invoker="remove">
627                         <return-value transfer-ownership="full">
628                                 <type name="gboolean" c:type="gboolean"/>
629                         </return-value>
630                         <parameters>
631                                 <parameter name="item" transfer-ownership="none" allow-none="1">
632                                         <type name="gpointer" c:type="gpointer"/>
633                                 </parameter>
634                         </parameters>
635                 </virtual-method>
636                 <method name="clear" c:identifier="gee_abstract_collection_clear">
637                         <return-value transfer-ownership="full">
638                                 <type name="none"/>
639                         </return-value>
640                 </method>
641                 <virtual-method name="clear" invoker="clear">
642                         <return-value transfer-ownership="full">
643                                 <type name="none"/>
644                         </return-value>
645                 </virtual-method>
646                 <method name="iterator" c:identifier="gee_abstract_collection_iterator">
647                         <return-value transfer-ownership="full">
648                                 <type name="Gee.Iterator" c:type="GeeIterator*">
649                                         <type name="gpointer" c:type="gpointer"/>
650                                 </type>
651                         </return-value>
652                 </method>
653                 <virtual-method name="iterator" invoker="iterator">
654                         <return-value transfer-ownership="full">
655                                 <type name="Gee.Iterator" c:type="GeeIterator*">
656                                         <type name="gpointer" c:type="gpointer"/>
657                                 </type>
658                         </return-value>
659                 </virtual-method>
660                 <method name="foreach" c:identifier="gee_abstract_collection_foreach">
661                         <return-value transfer-ownership="full">
662                                 <type name="gboolean" c:type="gboolean"/>
663                         </return-value>
664                         <parameters>
665                                 <parameter name="f" transfer-ownership="none" closure="1">
666                                         <type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
667                                 </parameter>
668                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
669                                         <type name="gpointer" c:type="void*"/>
670                                 </parameter>
671                         </parameters>
672                 </method>
673                 <virtual-method name="foreach" invoker="foreach">
674                         <return-value transfer-ownership="full">
675                                 <type name="gboolean" c:type="gboolean"/>
676                         </return-value>
677                         <parameters>
678                                 <parameter name="f" transfer-ownership="none" closure="1">
679                                         <type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
680                                 </parameter>
681                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
682                                         <type name="gpointer" c:type="void*"/>
683                                 </parameter>
684                         </parameters>
685                 </virtual-method>
686                 <property name="size">
687                         <type name="gint" c:type="gint"/>
688                 </property>
689                 <property name="read-only">
690                         <type name="gboolean" c:type="gboolean"/>
691                 </property>
692                 <property name="read-only-view">
693                         <type name="Gee.Collection" c:type="GeeCollection*">
694                                 <type name="gpointer" c:type="gpointer"/>
695                         </type>
696                 </property>
697         </class>
698         <record name="AbstractCollectionClass" c:type="GeeAbstractCollectionClass" glib:is-gtype-struct-for="AbstractCollection">
699                 <field name="parent_class">
700                         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
701                 </field>
702                                 <field name="contains">
703                         <callback name="contains" c:type="contains">
704                                 <return-value transfer-ownership="full">
705                                         <type name="gboolean" c:type="gboolean"/>
706                                 </return-value>
707                                 <parameters>
708                                         <parameter name="self" transfer-ownership="none">
709                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
710                                         </parameter>
711                                         <parameter name="item" transfer-ownership="none" allow-none="1">
712                                                 <type name="gpointer" c:type="gpointer"/>
713                                         </parameter>
714                                 </parameters>
715                         </callback>
716                 </field>
717                                 <field name="add">
718                         <callback name="add" c:type="add">
719                                 <return-value transfer-ownership="full">
720                                         <type name="gboolean" c:type="gboolean"/>
721                                 </return-value>
722                                 <parameters>
723                                         <parameter name="self" transfer-ownership="none">
724                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
725                                         </parameter>
726                                         <parameter name="item" transfer-ownership="none" allow-none="1">
727                                                 <type name="gpointer" c:type="gpointer"/>
728                                         </parameter>
729                                 </parameters>
730                         </callback>
731                 </field>
732                                 <field name="remove">
733                         <callback name="remove" c:type="remove">
734                                 <return-value transfer-ownership="full">
735                                         <type name="gboolean" c:type="gboolean"/>
736                                 </return-value>
737                                 <parameters>
738                                         <parameter name="self" transfer-ownership="none">
739                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
740                                         </parameter>
741                                         <parameter name="item" transfer-ownership="none" allow-none="1">
742                                                 <type name="gpointer" c:type="gpointer"/>
743                                         </parameter>
744                                 </parameters>
745                         </callback>
746                 </field>
747                                 <field name="clear">
748                         <callback name="clear" c:type="clear">
749                                 <return-value transfer-ownership="full">
750                                         <type name="none"/>
751                                 </return-value>
752                                 <parameters>
753                                         <parameter name="self" transfer-ownership="none">
754                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
755                                         </parameter>
756                                 </parameters>
757                         </callback>
758                 </field>
759                                 <field name="iterator">
760                         <callback name="iterator" c:type="iterator">
761                                 <return-value transfer-ownership="full">
762                                         <type name="Gee.Iterator" c:type="GeeIterator*">
763                                                 <type name="gpointer" c:type="gpointer"/>
764                                         </type>
765                                 </return-value>
766                                 <parameters>
767                                         <parameter name="self" transfer-ownership="none">
768                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
769                                         </parameter>
770                                 </parameters>
771                         </callback>
772                 </field>
773                                 <field name="foreach">
774                         <callback name="foreach" c:type="foreach">
775                                 <return-value transfer-ownership="full">
776                                         <type name="gboolean" c:type="gboolean"/>
777                                 </return-value>
778                                 <parameters>
779                                         <parameter name="self" transfer-ownership="none">
780                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
781                                         </parameter>
782                                         <parameter name="f" transfer-ownership="none" closure="2">
783                                                 <type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
784                                         </parameter>
785                                         <parameter name="f_target" transfer-ownership="none" allow-none="1">
786                                                 <type name="gpointer" c:type="void*"/>
787                                         </parameter>
788                                 </parameters>
789                         </callback>
790                 </field>
791                                 <field name="reserved0">
792                         <callback name="reserved0" c:type="reserved0">
793                                 <return-value transfer-ownership="full">
794                                         <type name="none"/>
795                                 </return-value>
796                                 <parameters>
797                                         <parameter name="self" transfer-ownership="none">
798                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
799                                         </parameter>
800                                 </parameters>
801                         </callback>
802                 </field>
803                                 <field name="reserved1">
804                         <callback name="reserved1" c:type="reserved1">
805                                 <return-value transfer-ownership="full">
806                                         <type name="none"/>
807                                 </return-value>
808                                 <parameters>
809                                         <parameter name="self" transfer-ownership="none">
810                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
811                                         </parameter>
812                                 </parameters>
813                         </callback>
814                 </field>
815                                 <field name="reserved2">
816                         <callback name="reserved2" c:type="reserved2">
817                                 <return-value transfer-ownership="full">
818                                         <type name="none"/>
819                                 </return-value>
820                                 <parameters>
821                                         <parameter name="self" transfer-ownership="none">
822                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
823                                         </parameter>
824                                 </parameters>
825                         </callback>
826                 </field>
827                                 <field name="reserved3">
828                         <callback name="reserved3" c:type="reserved3">
829                                 <return-value transfer-ownership="full">
830                                         <type name="none"/>
831                                 </return-value>
832                                 <parameters>
833                                         <parameter name="self" transfer-ownership="none">
834                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
835                                         </parameter>
836                                 </parameters>
837                         </callback>
838                 </field>
839                                 <field name="reserved4">
840                         <callback name="reserved4" c:type="reserved4">
841                                 <return-value transfer-ownership="full">
842                                         <type name="none"/>
843                                 </return-value>
844                                 <parameters>
845                                         <parameter name="self" transfer-ownership="none">
846                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
847                                         </parameter>
848                                 </parameters>
849                         </callback>
850                 </field>
851                                 <field name="reserved5">
852                         <callback name="reserved5" c:type="reserved5">
853                                 <return-value transfer-ownership="full">
854                                         <type name="none"/>
855                                 </return-value>
856                                 <parameters>
857                                         <parameter name="self" transfer-ownership="none">
858                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
859                                         </parameter>
860                                 </parameters>
861                         </callback>
862                 </field>
863                                 <field name="reserved6">
864                         <callback name="reserved6" c:type="reserved6">
865                                 <return-value transfer-ownership="full">
866                                         <type name="none"/>
867                                 </return-value>
868                                 <parameters>
869                                         <parameter name="self" transfer-ownership="none">
870                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
871                                         </parameter>
872                                 </parameters>
873                         </callback>
874                 </field>
875                                 <field name="reserved7">
876                         <callback name="reserved7" c:type="reserved7">
877                                 <return-value transfer-ownership="full">
878                                         <type name="none"/>
879                                 </return-value>
880                                 <parameters>
881                                         <parameter name="self" transfer-ownership="none">
882                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
883                                         </parameter>
884                                 </parameters>
885                         </callback>
886                 </field>
887                                 <field name="reserved8">
888                         <callback name="reserved8" c:type="reserved8">
889                                 <return-value transfer-ownership="full">
890                                         <type name="none"/>
891                                 </return-value>
892                                 <parameters>
893                                         <parameter name="self" transfer-ownership="none">
894                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
895                                         </parameter>
896                                 </parameters>
897                         </callback>
898                 </field>
899                                 <field name="reserved9">
900                         <callback name="reserved9" c:type="reserved9">
901                                 <return-value transfer-ownership="full">
902                                         <type name="none"/>
903                                 </return-value>
904                                 <parameters>
905                                         <parameter name="self" transfer-ownership="none">
906                                                 <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
907                                         </parameter>
908                                 </parameters>
909                         </callback>
910                 </field>
911         </record>
912         <record name="AbstractCollectionPrivate" c:type="GeeAbstractCollectionPrivate" disguised="1"/>
913         <class name="AbstractList" c:type="GeeAbstractList" glib:type-name="GeeAbstractList" glib:get-type="gee_abstract_list_get_type" glib:type-struct="AbstractListClass" parent="Gee.AbstractCollection" abstract="1">
914                 <implements name="Gee.List"/>
915                 <field name="parent_instance">
916                         <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection"/>
917                 </field>
918                 <field name="priv">
919                         <type name="AbstractListPrivate" c:type="GeeAbstractListPrivate*"/>
920                 </field>
921                 <method name="list_iterator" c:identifier="gee_abstract_list_list_iterator">
922                         <return-value transfer-ownership="full">
923                                 <type name="Gee.ListIterator" c:type="GeeListIterator*">
924                                         <type name="gpointer" c:type="gpointer"/>
925                                 </type>
926                         </return-value>
927                 </method>
928                 <virtual-method name="list_iterator" invoker="list_iterator">
929                         <return-value transfer-ownership="full">
930                                 <type name="Gee.ListIterator" c:type="GeeListIterator*">
931                                         <type name="gpointer" c:type="gpointer"/>
932                                 </type>
933                         </return-value>
934                 </virtual-method>
935                 <method name="get" c:identifier="gee_abstract_list_get">
936                         <return-value transfer-ownership="full" allow-none="1">
937                                 <type name="gpointer" c:type="gpointer"/>
938                         </return-value>
939                         <parameters>
940                                 <parameter name="index" transfer-ownership="none">
941                                         <type name="gint" c:type="gint"/>
942                                 </parameter>
943                         </parameters>
944                 </method>
945                 <virtual-method name="get" invoker="get">
946                         <return-value transfer-ownership="full" allow-none="1">
947                                 <type name="gpointer" c:type="gpointer"/>
948                         </return-value>
949                         <parameters>
950                                 <parameter name="index" transfer-ownership="none">
951                                         <type name="gint" c:type="gint"/>
952                                 </parameter>
953                         </parameters>
954                 </virtual-method>
955                 <method name="set" c:identifier="gee_abstract_list_set">
956                         <return-value transfer-ownership="full">
957                                 <type name="none"/>
958                         </return-value>
959                         <parameters>
960                                 <parameter name="index" transfer-ownership="none">
961                                         <type name="gint" c:type="gint"/>
962                                 </parameter>
963                                 <parameter name="item" transfer-ownership="none" allow-none="1">
964                                         <type name="gpointer" c:type="gpointer"/>
965                                 </parameter>
966                         </parameters>
967                 </method>
968                 <virtual-method name="set" invoker="set">
969                         <return-value transfer-ownership="full">
970                                 <type name="none"/>
971                         </return-value>
972                         <parameters>
973                                 <parameter name="index" transfer-ownership="none">
974                                         <type name="gint" c:type="gint"/>
975                                 </parameter>
976                                 <parameter name="item" transfer-ownership="none" allow-none="1">
977                                         <type name="gpointer" c:type="gpointer"/>
978                                 </parameter>
979                         </parameters>
980                 </virtual-method>
981                 <method name="index_of" c:identifier="gee_abstract_list_index_of">
982                         <return-value transfer-ownership="full">
983                                 <type name="gint" c:type="gint"/>
984                         </return-value>
985                         <parameters>
986                                 <parameter name="item" transfer-ownership="none" allow-none="1">
987                                         <type name="gpointer" c:type="gpointer"/>
988                                 </parameter>
989                         </parameters>
990                 </method>
991                 <virtual-method name="index_of" invoker="index_of">
992                         <return-value transfer-ownership="full">
993                                 <type name="gint" c:type="gint"/>
994                         </return-value>
995                         <parameters>
996                                 <parameter name="item" transfer-ownership="none" allow-none="1">
997                                         <type name="gpointer" c:type="gpointer"/>
998                                 </parameter>
999                         </parameters>
1000                 </virtual-method>
1001                 <method name="insert" c:identifier="gee_abstract_list_insert">
1002                         <return-value transfer-ownership="full">
1003                                 <type name="none"/>
1004                         </return-value>
1005                         <parameters>
1006                                 <parameter name="index" transfer-ownership="none">
1007                                         <type name="gint" c:type="gint"/>
1008                                 </parameter>
1009                                 <parameter name="item" transfer-ownership="none" allow-none="1">
1010                                         <type name="gpointer" c:type="gpointer"/>
1011                                 </parameter>
1012                         </parameters>
1013                 </method>
1014                 <virtual-method name="insert" invoker="insert">
1015                         <return-value transfer-ownership="full">
1016                                 <type name="none"/>
1017                         </return-value>
1018                         <parameters>
1019                                 <parameter name="index" transfer-ownership="none">
1020                                         <type name="gint" c:type="gint"/>
1021                                 </parameter>
1022                                 <parameter name="item" transfer-ownership="none" allow-none="1">
1023                                         <type name="gpointer" c:type="gpointer"/>
1024                                 </parameter>
1025                         </parameters>
1026                 </virtual-method>
1027                 <method name="remove_at" c:identifier="gee_abstract_list_remove_at">
1028                         <return-value transfer-ownership="full" allow-none="1">
1029                                 <type name="gpointer" c:type="gpointer"/>
1030                         </return-value>
1031                         <parameters>
1032                                 <parameter name="index" transfer-ownership="none">
1033                                         <type name="gint" c:type="gint"/>
1034                                 </parameter>
1035                         </parameters>
1036                 </method>
1037                 <virtual-method name="remove_at" invoker="remove_at">
1038                         <return-value transfer-ownership="full" allow-none="1">
1039                                 <type name="gpointer" c:type="gpointer"/>
1040                         </return-value>
1041                         <parameters>
1042                                 <parameter name="index" transfer-ownership="none">
1043                                         <type name="gint" c:type="gint"/>
1044                                 </parameter>
1045                         </parameters>
1046                 </virtual-method>
1047                 <method name="slice" c:identifier="gee_abstract_list_slice">
1048                         <return-value transfer-ownership="full" allow-none="1">
1049                                 <type name="Gee.List" c:type="GeeList*">
1050                                         <type name="gpointer" c:type="gpointer"/>
1051                                 </type>
1052                         </return-value>
1053                         <parameters>
1054                                 <parameter name="start" transfer-ownership="none">
1055                                         <type name="gint" c:type="gint"/>
1056                                 </parameter>
1057                                 <parameter name="stop" transfer-ownership="none">
1058                                         <type name="gint" c:type="gint"/>
1059                                 </parameter>
1060                         </parameters>
1061                 </method>
1062                 <virtual-method name="slice" invoker="slice">
1063                         <return-value transfer-ownership="full" allow-none="1">
1064                                 <type name="Gee.List" c:type="GeeList*">
1065                                         <type name="gpointer" c:type="gpointer"/>
1066                                 </type>
1067                         </return-value>
1068                         <parameters>
1069                                 <parameter name="start" transfer-ownership="none">
1070                                         <type name="gint" c:type="gint"/>
1071                                 </parameter>
1072                                 <parameter name="stop" transfer-ownership="none">
1073                                         <type name="gint" c:type="gint"/>
1074                                 </parameter>
1075                         </parameters>
1076                 </virtual-method>
1077                 <property name="read-only-view">
1078                         <type name="Gee.List" c:type="GeeList*">
1079                                 <type name="gpointer" c:type="gpointer"/>
1080                         </type>
1081                 </property>
1082         </class>
1083         <record name="AbstractListClass" c:type="GeeAbstractListClass" glib:is-gtype-struct-for="AbstractList">
1084                 <field name="parent_class">
1085                         <type name="Gee.AbstractCollectionClass" c:type="GeeAbstractCollectionClass"/>
1086                 </field>
1087                                 <field name="list_iterator">
1088                         <callback name="list_iterator" c:type="list_iterator">
1089                                 <return-value transfer-ownership="full">
1090                                         <type name="Gee.ListIterator" c:type="GeeListIterator*">
1091                                                 <type name="gpointer" c:type="gpointer"/>
1092                                         </type>
1093                                 </return-value>
1094                                 <parameters>
1095                                         <parameter name="self" transfer-ownership="none">
1096                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1097                                         </parameter>
1098                                 </parameters>
1099                         </callback>
1100                 </field>
1101                                 <field name="get">
1102                         <callback name="get" c:type="get">
1103                                 <return-value transfer-ownership="full" allow-none="1">
1104                                         <type name="gpointer" c:type="gpointer"/>
1105                                 </return-value>
1106                                 <parameters>
1107                                         <parameter name="self" transfer-ownership="none">
1108                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1109                                         </parameter>
1110                                         <parameter name="index" transfer-ownership="none">
1111                                                 <type name="gint" c:type="gint"/>
1112                                         </parameter>
1113                                 </parameters>
1114                         </callback>
1115                 </field>
1116                                 <field name="set">
1117                         <callback name="set" c:type="set">
1118                                 <return-value transfer-ownership="full">
1119                                         <type name="none"/>
1120                                 </return-value>
1121                                 <parameters>
1122                                         <parameter name="self" transfer-ownership="none">
1123                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1124                                         </parameter>
1125                                         <parameter name="index" transfer-ownership="none">
1126                                                 <type name="gint" c:type="gint"/>
1127                                         </parameter>
1128                                         <parameter name="item" transfer-ownership="none" allow-none="1">
1129                                                 <type name="gpointer" c:type="gpointer"/>
1130                                         </parameter>
1131                                 </parameters>
1132                         </callback>
1133                 </field>
1134                                 <field name="index_of">
1135                         <callback name="index_of" c:type="index_of">
1136                                 <return-value transfer-ownership="full">
1137                                         <type name="gint" c:type="gint"/>
1138                                 </return-value>
1139                                 <parameters>
1140                                         <parameter name="self" transfer-ownership="none">
1141                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1142                                         </parameter>
1143                                         <parameter name="item" transfer-ownership="none" allow-none="1">
1144                                                 <type name="gpointer" c:type="gpointer"/>
1145                                         </parameter>
1146                                 </parameters>
1147                         </callback>
1148                 </field>
1149                                 <field name="insert">
1150                         <callback name="insert" c:type="insert">
1151                                 <return-value transfer-ownership="full">
1152                                         <type name="none"/>
1153                                 </return-value>
1154                                 <parameters>
1155                                         <parameter name="self" transfer-ownership="none">
1156                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1157                                         </parameter>
1158                                         <parameter name="index" transfer-ownership="none">
1159                                                 <type name="gint" c:type="gint"/>
1160                                         </parameter>
1161                                         <parameter name="item" transfer-ownership="none" allow-none="1">
1162                                                 <type name="gpointer" c:type="gpointer"/>
1163                                         </parameter>
1164                                 </parameters>
1165                         </callback>
1166                 </field>
1167                                 <field name="remove_at">
1168                         <callback name="remove_at" c:type="remove_at">
1169                                 <return-value transfer-ownership="full" allow-none="1">
1170                                         <type name="gpointer" c:type="gpointer"/>
1171                                 </return-value>
1172                                 <parameters>
1173                                         <parameter name="self" transfer-ownership="none">
1174                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1175                                         </parameter>
1176                                         <parameter name="index" transfer-ownership="none">
1177                                                 <type name="gint" c:type="gint"/>
1178                                         </parameter>
1179                                 </parameters>
1180                         </callback>
1181                 </field>
1182                                 <field name="slice">
1183                         <callback name="slice" c:type="slice">
1184                                 <return-value transfer-ownership="full" allow-none="1">
1185                                         <type name="Gee.List" c:type="GeeList*">
1186                                                 <type name="gpointer" c:type="gpointer"/>
1187                                         </type>
1188                                 </return-value>
1189                                 <parameters>
1190                                         <parameter name="self" transfer-ownership="none">
1191                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1192                                         </parameter>
1193                                         <parameter name="start" transfer-ownership="none">
1194                                                 <type name="gint" c:type="gint"/>
1195                                         </parameter>
1196                                         <parameter name="stop" transfer-ownership="none">
1197                                                 <type name="gint" c:type="gint"/>
1198                                         </parameter>
1199                                 </parameters>
1200                         </callback>
1201                 </field>
1202                                 <field name="reserved0">
1203                         <callback name="reserved0" c:type="reserved0">
1204                                 <return-value transfer-ownership="full">
1205                                         <type name="none"/>
1206                                 </return-value>
1207                                 <parameters>
1208                                         <parameter name="self" transfer-ownership="none">
1209                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1210                                         </parameter>
1211                                 </parameters>
1212                         </callback>
1213                 </field>
1214                                 <field name="reserved1">
1215                         <callback name="reserved1" c:type="reserved1">
1216                                 <return-value transfer-ownership="full">
1217                                         <type name="none"/>
1218                                 </return-value>
1219                                 <parameters>
1220                                         <parameter name="self" transfer-ownership="none">
1221                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1222                                         </parameter>
1223                                 </parameters>
1224                         </callback>
1225                 </field>
1226                                 <field name="reserved2">
1227                         <callback name="reserved2" c:type="reserved2">
1228                                 <return-value transfer-ownership="full">
1229                                         <type name="none"/>
1230                                 </return-value>
1231                                 <parameters>
1232                                         <parameter name="self" transfer-ownership="none">
1233                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1234                                         </parameter>
1235                                 </parameters>
1236                         </callback>
1237                 </field>
1238                                 <field name="reserved3">
1239                         <callback name="reserved3" c:type="reserved3">
1240                                 <return-value transfer-ownership="full">
1241                                         <type name="none"/>
1242                                 </return-value>
1243                                 <parameters>
1244                                         <parameter name="self" transfer-ownership="none">
1245                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1246                                         </parameter>
1247                                 </parameters>
1248                         </callback>
1249                 </field>
1250                                 <field name="reserved4">
1251                         <callback name="reserved4" c:type="reserved4">
1252                                 <return-value transfer-ownership="full">
1253                                         <type name="none"/>
1254                                 </return-value>
1255                                 <parameters>
1256                                         <parameter name="self" transfer-ownership="none">
1257                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1258                                         </parameter>
1259                                 </parameters>
1260                         </callback>
1261                 </field>
1262                                 <field name="reserved5">
1263                         <callback name="reserved5" c:type="reserved5">
1264                                 <return-value transfer-ownership="full">
1265                                         <type name="none"/>
1266                                 </return-value>
1267                                 <parameters>
1268                                         <parameter name="self" transfer-ownership="none">
1269                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1270                                         </parameter>
1271                                 </parameters>
1272                         </callback>
1273                 </field>
1274                                 <field name="reserved6">
1275                         <callback name="reserved6" c:type="reserved6">
1276                                 <return-value transfer-ownership="full">
1277                                         <type name="none"/>
1278                                 </return-value>
1279                                 <parameters>
1280                                         <parameter name="self" transfer-ownership="none">
1281                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1282                                         </parameter>
1283                                 </parameters>
1284                         </callback>
1285                 </field>
1286                                 <field name="reserved7">
1287                         <callback name="reserved7" c:type="reserved7">
1288                                 <return-value transfer-ownership="full">
1289                                         <type name="none"/>
1290                                 </return-value>
1291                                 <parameters>
1292                                         <parameter name="self" transfer-ownership="none">
1293                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1294                                         </parameter>
1295                                 </parameters>
1296                         </callback>
1297                 </field>
1298                                 <field name="reserved8">
1299                         <callback name="reserved8" c:type="reserved8">
1300                                 <return-value transfer-ownership="full">
1301                                         <type name="none"/>
1302                                 </return-value>
1303                                 <parameters>
1304                                         <parameter name="self" transfer-ownership="none">
1305                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1306                                         </parameter>
1307                                 </parameters>
1308                         </callback>
1309                 </field>
1310                                 <field name="reserved9">
1311                         <callback name="reserved9" c:type="reserved9">
1312                                 <return-value transfer-ownership="full">
1313                                         <type name="none"/>
1314                                 </return-value>
1315                                 <parameters>
1316                                         <parameter name="self" transfer-ownership="none">
1317                                                 <type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
1318                                         </parameter>
1319                                 </parameters>
1320                         </callback>
1321                 </field>
1322         </record>
1323         <record name="AbstractListPrivate" c:type="GeeAbstractListPrivate" disguised="1"/>
1324         <class name="AbstractMap" c:type="GeeAbstractMap" glib:type-name="GeeAbstractMap" glib:get-type="gee_abstract_map_get_type" glib:type-struct="AbstractMapClass" parent="GObject.Object" abstract="1">
1325                 <implements name="Gee.Traversable"/>
1326                 <implements name="Gee.Iterable"/>
1327                 <implements name="Gee.Map"/>
1328                 <field name="parent_instance">
1329                         <type name="GObject.Object" c:type="GObject"/>
1330                 </field>
1331                 <field name="priv">
1332                         <type name="AbstractMapPrivate" c:type="GeeAbstractMapPrivate*"/>
1333                 </field>
1334                 <method name="has_key" c:identifier="gee_abstract_map_has_key">
1335                         <return-value transfer-ownership="full">
1336                                 <type name="gboolean" c:type="gboolean"/>
1337                         </return-value>
1338                         <parameters>
1339                                 <parameter name="key" transfer-ownership="none" allow-none="1">
1340                                         <type name="gpointer" c:type="gpointer"/>
1341                                 </parameter>
1342                         </parameters>
1343                 </method>
1344                 <virtual-method name="has_key" invoker="has_key">
1345                         <return-value transfer-ownership="full">
1346                                 <type name="gboolean" c:type="gboolean"/>
1347                         </return-value>
1348                         <parameters>
1349                                 <parameter name="key" transfer-ownership="none" allow-none="1">
1350                                         <type name="gpointer" c:type="gpointer"/>
1351                                 </parameter>
1352                         </parameters>
1353                 </virtual-method>
1354                 <method name="has" c:identifier="gee_abstract_map_has">
1355                         <return-value transfer-ownership="full">
1356                                 <type name="gboolean" c:type="gboolean"/>
1357                         </return-value>
1358                         <parameters>
1359                                 <parameter name="key" transfer-ownership="none" allow-none="1">
1360                                         <type name="gpointer" c:type="gpointer"/>
1361                                 </parameter>
1362                                 <parameter name="value" transfer-ownership="none" allow-none="1">
1363                                         <type name="gpointer" c:type="gpointer"/>
1364                                 </parameter>
1365                         </parameters>
1366                 </method>
1367                 <virtual-method name="has" invoker="has">
1368                         <return-value transfer-ownership="full">
1369                                 <type name="gboolean" c:type="gboolean"/>
1370                         </return-value>
1371                         <parameters>
1372                                 <parameter name="key" transfer-ownership="none" allow-none="1">
1373                                         <type name="gpointer" c:type="gpointer"/>
1374                                 </parameter>
1375                                 <parameter name="value" transfer-ownership="none" allow-none="1">
1376                                         <type name="gpointer" c:type="gpointer"/>
1377                                 </parameter>
1378                         </parameters>
1379                 </virtual-method>
1380                 <method name="get" c:identifier="gee_abstract_map_get">
1381                         <return-value transfer-ownership="full" allow-none="1">
1382                                 <type name="gpointer" c:type="gpointer"/>
1383                         </return-value>
1384                         <parameters>
1385                                 <parameter name="key" transfer-ownership="none" allow-none="1">
1386                                         <type name="gpointer" c:type="gpointer"/>
1387                                 </parameter>
1388                         </parameters>
1389                 </method>
1390                 <virtual-method name="get" invoker="get">
1391                         <return-value transfer-ownership="full" allow-none="1">
1392                                 <type name="gpointer" c:type="gpointer"/>
1393                         </return-value>
1394                         <parameters>
1395                                 <parameter name="key" transfer-ownership="none" allow-none="1">
1396                                         <type name="gpointer" c:type="gpointer"/>
1397                                 </parameter>
1398                         </parameters>
1399                 </virtual-method>
1400                 <method name="set" c:identifier="gee_abstract_map_set">
1401                         <return-value transfer-ownership="full">
1402                                 <type name="none"/>
1403                         </return-value>
1404                         <parameters>
1405                                 <parameter name="key" transfer-ownership="none" allow-none="1">
1406                                         <type name="gpointer" c:type="gpointer"/>
1407                                 </parameter>
1408                                 <parameter name="value" transfer-ownership="none" allow-none="1">
1409                                         <type name="gpointer" c:type="gpointer"/>
1410                                 </parameter>
1411                         </parameters>
1412                 </method>
1413                 <virtual-method name="set" invoker="set">
1414                         <return-value transfer-ownership="full">
1415                                 <type name="none"/>
1416                         </return-value>
1417                         <parameters>
1418                                 <parameter name="key" transfer-ownership="none" allow-none="1">
1419                                         <type name="gpointer" c:type="gpointer"/>
1420                                 </parameter>
1421                                 <parameter name="value" transfer-ownership="none" allow-none="1">
1422                                         <type name="gpointer" c:type="gpointer"/>
1423                                 </parameter>
1424                         </parameters>
1425                 </virtual-method>
1426                 <method name="unset" c:identifier="gee_abstract_map_unset">
1427                         <return-value transfer-ownership="full">
1428                                 <type name="gboolean" c:type="gboolean"/>
1429                         </return-value>
1430                         <parameters>
1431                                 <parameter name="key" transfer-ownership="none" allow-none="1">
1432                                         <type name="gpointer" c:type="gpointer"/>
1433                                 </parameter>
1434                                 <parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
1435                                         <type name="gpointer" c:type="gpointer"/>
1436                                 </parameter>
1437                         </parameters>
1438                 </method>
1439                 <virtual-method name="unset" invoker="unset">
1440                         <return-value transfer-ownership="full">
1441                                 <type name="gboolean" c:type="gboolean"/>
1442                         </return-value>
1443                         <parameters>
1444                                 <parameter name="key" transfer-ownership="none" allow-none="1">
1445                                         <type name="gpointer" c:type="gpointer"/>
1446                                 </parameter>
1447                                 <parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
1448                                         <type name="gpointer" c:type="gpointer"/>
1449                                 </parameter>
1450                         </parameters>
1451                 </virtual-method>
1452                 <method name="map_iterator" c:identifier="gee_abstract_map_map_iterator">
1453                         <return-value transfer-ownership="full">
1454                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*">
1455                                         <type name="gpointer" c:type="gpointer"/>
1456                                         <type name="gpointer" c:type="gpointer"/>
1457                                 </type>
1458                         </return-value>
1459                 </method>
1460                 <virtual-method name="map_iterator" invoker="map_iterator">
1461                         <return-value transfer-ownership="full">
1462                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*">
1463                                         <type name="gpointer" c:type="gpointer"/>
1464                                         <type name="gpointer" c:type="gpointer"/>
1465                                 </type>
1466                         </return-value>
1467                 </virtual-method>
1468                 <method name="clear" c:identifier="gee_abstract_map_clear">
1469                         <return-value transfer-ownership="full">
1470                                 <type name="none"/>
1471                         </return-value>
1472                 </method>
1473                 <virtual-method name="clear" invoker="clear">
1474                         <return-value transfer-ownership="full">
1475                                 <type name="none"/>
1476                         </return-value>
1477                 </virtual-method>
1478                 <method name="foreach" c:identifier="gee_abstract_map_foreach">
1479                         <return-value transfer-ownership="full">
1480                                 <type name="gboolean" c:type="gboolean"/>
1481                         </return-value>
1482                         <parameters>
1483                                 <parameter name="f" transfer-ownership="none" closure="1">
1484                                         <type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
1485                                 </parameter>
1486                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
1487                                         <type name="gpointer" c:type="void*"/>
1488                                 </parameter>
1489                         </parameters>
1490                 </method>
1491                 <virtual-method name="foreach" invoker="foreach">
1492                         <return-value transfer-ownership="full">
1493                                 <type name="gboolean" c:type="gboolean"/>
1494                         </return-value>
1495                         <parameters>
1496                                 <parameter name="f" transfer-ownership="none" closure="1">
1497                                         <type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
1498                                 </parameter>
1499                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
1500                                         <type name="gpointer" c:type="void*"/>
1501                                 </parameter>
1502                         </parameters>
1503                 </virtual-method>
1504                 <method name="stream" c:identifier="gee_abstract_map_stream">
1505                         <return-value transfer-ownership="full">
1506                                 <type name="Gee.Iterator" c:type="GeeIterator*">
1507                                         <type name="gpointer" c:type="gpointer"/>
1508                                 </type>
1509                         </return-value>
1510                         <parameters>
1511                                 <parameter name="f" transfer-ownership="none" closure="1" destroy="2">
1512                                         <type name="Gee.StreamFunc" c:type="GeeStreamFunc"/>
1513                                 </parameter>
1514                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
1515                                         <type name="gpointer" c:type="void*"/>
1516                                 </parameter>
1517                                 <parameter name="f_target_destroy_notify" transfer-ownership="none">
1518                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
1519                                 </parameter>
1520                         </parameters>
1521                 </method>
1522                 <virtual-method name="stream" invoker="stream">
1523                         <return-value transfer-ownership="full">
1524                                 <type name="Gee.Iterator" c:type="GeeIterator*">
1525                                         <type name="gpointer" c:type="gpointer"/>
1526                                 </type>
1527                         </return-value>
1528                         <parameters>
1529                                 <parameter name="f" transfer-ownership="none" closure="1" destroy="2">
1530                                         <type name="Gee.StreamFunc" c:type="GeeStreamFunc"/>
1531                                 </parameter>
1532                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
1533                                         <type name="gpointer" c:type="void*"/>
1534                                 </parameter>
1535                                 <parameter name="f_target_destroy_notify" transfer-ownership="none">
1536                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
1537                                 </parameter>
1538                         </parameters>
1539                 </virtual-method>
1540                 <property name="size">
1541                         <type name="gint" c:type="gint"/>
1542                 </property>
1543                 <property name="read-only">
1544                         <type name="gboolean" c:type="gboolean"/>
1545                 </property>
1546                 <property name="keys">
1547                         <type name="Gee.Set" c:type="GeeSet*">
1548                                 <type name="gpointer" c:type="gpointer"/>
1549                         </type>
1550                 </property>
1551                 <property name="values">
1552                         <type name="Gee.Collection" c:type="GeeCollection*">
1553                                 <type name="gpointer" c:type="gpointer"/>
1554                         </type>
1555                 </property>
1556                 <property name="entries">
1557                         <type name="Gee.Set" c:type="GeeSet*">
1558                                 <type name="Gee.MapEntry" c:type="GeeMapEntry*">
1559                                         <type name="gpointer" c:type="gpointer"/>
1560                                         <type name="gpointer" c:type="gpointer"/>
1561                                 </type>
1562                         </type>
1563                 </property>
1564                 <property name="read-only-view">
1565                         <type name="Gee.Map" c:type="GeeMap*">
1566                                 <type name="gpointer" c:type="gpointer"/>
1567                                 <type name="gpointer" c:type="gpointer"/>
1568                         </type>
1569                 </property>
1570         </class>
1571         <record name="AbstractMapClass" c:type="GeeAbstractMapClass" glib:is-gtype-struct-for="AbstractMap">
1572                 <field name="parent_class">
1573                         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
1574                 </field>
1575                                 <field name="has_key">
1576                         <callback name="has_key" c:type="has_key">
1577                                 <return-value transfer-ownership="full">
1578                                         <type name="gboolean" c:type="gboolean"/>
1579                                 </return-value>
1580                                 <parameters>
1581                                         <parameter name="self" transfer-ownership="none">
1582                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1583                                         </parameter>
1584                                         <parameter name="key" transfer-ownership="none" allow-none="1">
1585                                                 <type name="gpointer" c:type="gpointer"/>
1586                                         </parameter>
1587                                 </parameters>
1588                         </callback>
1589                 </field>
1590                                 <field name="has">
1591                         <callback name="has" c:type="has">
1592                                 <return-value transfer-ownership="full">
1593                                         <type name="gboolean" c:type="gboolean"/>
1594                                 </return-value>
1595                                 <parameters>
1596                                         <parameter name="self" transfer-ownership="none">
1597                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1598                                         </parameter>
1599                                         <parameter name="key" transfer-ownership="none" allow-none="1">
1600                                                 <type name="gpointer" c:type="gpointer"/>
1601                                         </parameter>
1602                                         <parameter name="value" transfer-ownership="none" allow-none="1">
1603                                                 <type name="gpointer" c:type="gpointer"/>
1604                                         </parameter>
1605                                 </parameters>
1606                         </callback>
1607                 </field>
1608                                 <field name="get">
1609                         <callback name="get" c:type="get">
1610                                 <return-value transfer-ownership="full" allow-none="1">
1611                                         <type name="gpointer" c:type="gpointer"/>
1612                                 </return-value>
1613                                 <parameters>
1614                                         <parameter name="self" transfer-ownership="none">
1615                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1616                                         </parameter>
1617                                         <parameter name="key" transfer-ownership="none" allow-none="1">
1618                                                 <type name="gpointer" c:type="gpointer"/>
1619                                         </parameter>
1620                                 </parameters>
1621                         </callback>
1622                 </field>
1623                                 <field name="set">
1624                         <callback name="set" c:type="set">
1625                                 <return-value transfer-ownership="full">
1626                                         <type name="none"/>
1627                                 </return-value>
1628                                 <parameters>
1629                                         <parameter name="self" transfer-ownership="none">
1630                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1631                                         </parameter>
1632                                         <parameter name="key" transfer-ownership="none" allow-none="1">
1633                                                 <type name="gpointer" c:type="gpointer"/>
1634                                         </parameter>
1635                                         <parameter name="value" transfer-ownership="none" allow-none="1">
1636                                                 <type name="gpointer" c:type="gpointer"/>
1637                                         </parameter>
1638                                 </parameters>
1639                         </callback>
1640                 </field>
1641                                 <field name="unset">
1642                         <callback name="unset" c:type="unset">
1643                                 <return-value transfer-ownership="full">
1644                                         <type name="gboolean" c:type="gboolean"/>
1645                                 </return-value>
1646                                 <parameters>
1647                                         <parameter name="self" transfer-ownership="none">
1648                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1649                                         </parameter>
1650                                         <parameter name="key" transfer-ownership="none" allow-none="1">
1651                                                 <type name="gpointer" c:type="gpointer"/>
1652                                         </parameter>
1653                                         <parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
1654                                                 <type name="gpointer" c:type="gpointer"/>
1655                                         </parameter>
1656                                 </parameters>
1657                         </callback>
1658                 </field>
1659                                 <field name="map_iterator">
1660                         <callback name="map_iterator" c:type="map_iterator">
1661                                 <return-value transfer-ownership="full">
1662                                         <type name="Gee.MapIterator" c:type="GeeMapIterator*">
1663                                                 <type name="gpointer" c:type="gpointer"/>
1664                                                 <type name="gpointer" c:type="gpointer"/>
1665                                         </type>
1666                                 </return-value>
1667                                 <parameters>
1668                                         <parameter name="self" transfer-ownership="none">
1669                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1670                                         </parameter>
1671                                 </parameters>
1672                         </callback>
1673                 </field>
1674                                 <field name="clear">
1675                         <callback name="clear" c:type="clear">
1676                                 <return-value transfer-ownership="full">
1677                                         <type name="none"/>
1678                                 </return-value>
1679                                 <parameters>
1680                                         <parameter name="self" transfer-ownership="none">
1681                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1682                                         </parameter>
1683                                 </parameters>
1684                         </callback>
1685                 </field>
1686                                 <field name="foreach">
1687                         <callback name="foreach" c:type="foreach">
1688                                 <return-value transfer-ownership="full">
1689                                         <type name="gboolean" c:type="gboolean"/>
1690                                 </return-value>
1691                                 <parameters>
1692                                         <parameter name="self" transfer-ownership="none">
1693                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1694                                         </parameter>
1695                                         <parameter name="f" transfer-ownership="none" closure="2">
1696                                                 <type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
1697                                         </parameter>
1698                                         <parameter name="f_target" transfer-ownership="none" allow-none="1">
1699                                                 <type name="gpointer" c:type="void*"/>
1700                                         </parameter>
1701                                 </parameters>
1702                         </callback>
1703                 </field>
1704                                 <field name="stream">
1705                         <callback name="stream" c:type="stream">
1706                                 <return-value transfer-ownership="full">
1707                                         <type name="Gee.Iterator" c:type="GeeIterator*">
1708                                                 <type name="gpointer" c:type="gpointer"/>
1709                                         </type>
1710                                 </return-value>
1711                                 <parameters>
1712                                         <parameter name="self" transfer-ownership="none">
1713                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1714                                         </parameter>
1715                                         <parameter name="f" transfer-ownership="none" closure="2" destroy="3">
1716                                                 <type name="Gee.StreamFunc" c:type="GeeStreamFunc"/>
1717                                         </parameter>
1718                                         <parameter name="f_target" transfer-ownership="none" allow-none="1">
1719                                                 <type name="gpointer" c:type="void*"/>
1720                                         </parameter>
1721                                         <parameter name="f_target_destroy_notify" transfer-ownership="none">
1722                                                 <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
1723                                         </parameter>
1724                                 </parameters>
1725                         </callback>
1726                 </field>
1727                                 <field name="reserved0">
1728                         <callback name="reserved0" c:type="reserved0">
1729                                 <return-value transfer-ownership="full">
1730                                         <type name="none"/>
1731                                 </return-value>
1732                                 <parameters>
1733                                         <parameter name="self" transfer-ownership="none">
1734                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1735                                         </parameter>
1736                                 </parameters>
1737                         </callback>
1738                 </field>
1739                                 <field name="reserved1">
1740                         <callback name="reserved1" c:type="reserved1">
1741                                 <return-value transfer-ownership="full">
1742                                         <type name="none"/>
1743                                 </return-value>
1744                                 <parameters>
1745                                         <parameter name="self" transfer-ownership="none">
1746                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1747                                         </parameter>
1748                                 </parameters>
1749                         </callback>
1750                 </field>
1751                                 <field name="reserved2">
1752                         <callback name="reserved2" c:type="reserved2">
1753                                 <return-value transfer-ownership="full">
1754                                         <type name="none"/>
1755                                 </return-value>
1756                                 <parameters>
1757                                         <parameter name="self" transfer-ownership="none">
1758                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1759                                         </parameter>
1760                                 </parameters>
1761                         </callback>
1762                 </field>
1763                                 <field name="reserved3">
1764                         <callback name="reserved3" c:type="reserved3">
1765                                 <return-value transfer-ownership="full">
1766                                         <type name="none"/>
1767                                 </return-value>
1768                                 <parameters>
1769                                         <parameter name="self" transfer-ownership="none">
1770                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1771                                         </parameter>
1772                                 </parameters>
1773                         </callback>
1774                 </field>
1775                                 <field name="reserved4">
1776                         <callback name="reserved4" c:type="reserved4">
1777                                 <return-value transfer-ownership="full">
1778                                         <type name="none"/>
1779                                 </return-value>
1780                                 <parameters>
1781                                         <parameter name="self" transfer-ownership="none">
1782                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1783                                         </parameter>
1784                                 </parameters>
1785                         </callback>
1786                 </field>
1787                                 <field name="reserved5">
1788                         <callback name="reserved5" c:type="reserved5">
1789                                 <return-value transfer-ownership="full">
1790                                         <type name="none"/>
1791                                 </return-value>
1792                                 <parameters>
1793                                         <parameter name="self" transfer-ownership="none">
1794                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1795                                         </parameter>
1796                                 </parameters>
1797                         </callback>
1798                 </field>
1799                                 <field name="reserved6">
1800                         <callback name="reserved6" c:type="reserved6">
1801                                 <return-value transfer-ownership="full">
1802                                         <type name="none"/>
1803                                 </return-value>
1804                                 <parameters>
1805                                         <parameter name="self" transfer-ownership="none">
1806                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1807                                         </parameter>
1808                                 </parameters>
1809                         </callback>
1810                 </field>
1811                                 <field name="reserved7">
1812                         <callback name="reserved7" c:type="reserved7">
1813                                 <return-value transfer-ownership="full">
1814                                         <type name="none"/>
1815                                 </return-value>
1816                                 <parameters>
1817                                         <parameter name="self" transfer-ownership="none">
1818                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1819                                         </parameter>
1820                                 </parameters>
1821                         </callback>
1822                 </field>
1823                                 <field name="reserved8">
1824                         <callback name="reserved8" c:type="reserved8">
1825                                 <return-value transfer-ownership="full">
1826                                         <type name="none"/>
1827                                 </return-value>
1828                                 <parameters>
1829                                         <parameter name="self" transfer-ownership="none">
1830                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1831                                         </parameter>
1832                                 </parameters>
1833                         </callback>
1834                 </field>
1835                                 <field name="reserved9">
1836                         <callback name="reserved9" c:type="reserved9">
1837                                 <return-value transfer-ownership="full">
1838                                         <type name="none"/>
1839                                 </return-value>
1840                                 <parameters>
1841                                         <parameter name="self" transfer-ownership="none">
1842                                                 <type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
1843                                         </parameter>
1844                                 </parameters>
1845                         </callback>
1846                 </field>
1847         </record>
1848         <record name="AbstractMapPrivate" c:type="GeeAbstractMapPrivate" disguised="1"/>
1849         <class name="AbstractMultiMap" c:type="GeeAbstractMultiMap" glib:type-name="GeeAbstractMultiMap" glib:get-type="gee_abstract_multi_map_get_type" glib:type-struct="AbstractMultiMapClass" parent="GObject.Object" abstract="1">
1850                 <implements name="Gee.MultiMap"/>
1851                 <field name="parent_instance">
1852                         <type name="GObject.Object" c:type="GObject"/>
1853                 </field>
1854                 <field name="priv">
1855                         <type name="AbstractMultiMapPrivate" c:type="GeeAbstractMultiMapPrivate*"/>
1856                 </field>
1857                 <field name="_storage_map">
1858                         <type name="Gee.Map" c:type="GeeMap*">
1859                                 <type name="gpointer" c:type="gpointer"/>
1860                                 <type name="Gee.Collection" c:type="GeeCollection*">
1861                                         <type name="gpointer" c:type="gpointer"/>
1862                                 </type>
1863                         </type>
1864                 </field>
1865                 <method name="create_value_storage" c:identifier="gee_abstract_multi_map_create_value_storage">
1866                         <return-value transfer-ownership="full">
1867                                 <type name="Gee.Collection" c:type="GeeCollection*">
1868                                         <type name="gpointer" c:type="gpointer"/>
1869                                 </type>
1870                         </return-value>
1871                 </method>
1872                 <virtual-method name="create_value_storage" invoker="create_value_storage">
1873                         <return-value transfer-ownership="full">
1874                                 <type name="Gee.Collection" c:type="GeeCollection*">
1875                                         <type name="gpointer" c:type="gpointer"/>
1876                                 </type>
1877                         </return-value>
1878                 </virtual-method>
1879                 <method name="create_multi_key_set" c:identifier="gee_abstract_multi_map_create_multi_key_set">
1880                         <return-value transfer-ownership="full">
1881                                 <type name="Gee.MultiSet" c:type="GeeMultiSet*">
1882                                         <type name="gpointer" c:type="gpointer"/>
1883                                 </type>
1884                         </return-value>
1885                 </method>
1886                 <virtual-method name="create_multi_key_set" invoker="create_multi_key_set">
1887                         <return-value transfer-ownership="full">
1888                                 <type name="Gee.MultiSet" c:type="GeeMultiSet*">
1889                                         <type name="gpointer" c:type="gpointer"/>
1890                                 </type>
1891                         </return-value>
1892                 </virtual-method>
1893                 <method name="get_value_equal_func" c:identifier="gee_abstract_multi_map_get_value_equal_func">
1894                         <return-value transfer-ownership="none" closure="0" destroy="1">
1895                                 <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
1896                         </return-value>
1897                         <parameters>
1898                                 <parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
1899                                         <type name="gpointer" c:type="void*"/>
1900                                 </parameter>
1901                                 <parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none">
1902                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
1903                                 </parameter>
1904                         </parameters>
1905                 </method>
1906                 <virtual-method name="get_value_equal_func" invoker="get_value_equal_func">
1907                         <return-value transfer-ownership="none" closure="0" destroy="1">
1908                                 <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
1909                         </return-value>
1910                         <parameters>
1911                                 <parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
1912                                         <type name="gpointer" c:type="void*"/>
1913                                 </parameter>
1914                                 <parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none">
1915                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
1916                                 </parameter>
1917                         </parameters>
1918                 </virtual-method>
1919                 <property name="read-only-view">
1920                         <type name="Gee.MultiMap" c:type="GeeMultiMap*">
1921                                 <type name="gpointer" c:type="gpointer"/>
1922                                 <type name="gpointer" c:type="gpointer"/>
1923                         </type>
1924                 </property>
1925         </class>
1926         <record name="AbstractMultiMapClass" c:type="GeeAbstractMultiMapClass" glib:is-gtype-struct-for="AbstractMultiMap">
1927                 <field name="parent_class">
1928                         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
1929                 </field>
1930                                 <field name="create_value_storage">
1931                         <callback name="create_value_storage" c:type="create_value_storage">
1932                                 <return-value transfer-ownership="full">
1933                                         <type name="Gee.Collection" c:type="GeeCollection*">
1934                                                 <type name="gpointer" c:type="gpointer"/>
1935                                         </type>
1936                                 </return-value>
1937                                 <parameters>
1938                                         <parameter name="self" transfer-ownership="none">
1939                                                 <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
1940                                         </parameter>
1941                                 </parameters>
1942                         </callback>
1943                 </field>
1944                                 <field name="create_multi_key_set">
1945                         <callback name="create_multi_key_set" c:type="create_multi_key_set">
1946                                 <return-value transfer-ownership="full">
1947                                         <type name="Gee.MultiSet" c:type="GeeMultiSet*">
1948                                                 <type name="gpointer" c:type="gpointer"/>
1949                                         </type>
1950                                 </return-value>
1951                                 <parameters>
1952                                         <parameter name="self" transfer-ownership="none">
1953                                                 <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
1954                                         </parameter>
1955                                 </parameters>
1956                         </callback>
1957                 </field>
1958                                 <field name="get_value_equal_func">
1959                         <callback name="get_value_equal_func" c:type="get_value_equal_func">
1960                                 <return-value transfer-ownership="none" closure="1" destroy="2">
1961                                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
1962                                 </return-value>
1963                                 <parameters>
1964                                         <parameter name="self" transfer-ownership="none">
1965                                                 <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
1966                                         </parameter>
1967                                         <parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
1968                                                 <type name="gpointer" c:type="void*"/>
1969                                         </parameter>
1970                                         <parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none">
1971                                                 <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
1972                                         </parameter>
1973                                 </parameters>
1974                         </callback>
1975                 </field>
1976                                 <field name="reserved0">
1977                         <callback name="reserved0" c:type="reserved0">
1978                                 <return-value transfer-ownership="full">
1979                                         <type name="none"/>
1980                                 </return-value>
1981                                 <parameters>
1982                                         <parameter name="self" transfer-ownership="none">
1983                                                 <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
1984                                         </parameter>
1985                                 </parameters>
1986                         </callback>
1987                 </field>
1988                                 <field name="reserved1">
1989                         <callback name="reserved1" c:type="reserved1">
1990                                 <return-value transfer-ownership="full">
1991                                         <type name="none"/>
1992                                 </return-value>
1993                                 <parameters>
1994                                         <parameter name="self" transfer-ownership="none">
1995                                                 <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
1996                                         </parameter>
1997                                 </parameters>
1998                         </callback>
1999                 </field>
2000                                 <field name="reserved2">
2001                         <callback name="reserved2" c:type="reserved2">
2002                                 <return-value transfer-ownership="full">
2003                                         <type name="none"/>
2004                                 </return-value>
2005                                 <parameters>
2006                                         <parameter name="self" transfer-ownership="none">
2007                                                 <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
2008                                         </parameter>
2009                                 </parameters>
2010                         </callback>
2011                 </field>
2012                                 <field name="reserved3">
2013                         <callback name="reserved3" c:type="reserved3">
2014                                 <return-value transfer-ownership="full">
2015                                         <type name="none"/>
2016                                 </return-value>
2017                                 <parameters>
2018                                         <parameter name="self" transfer-ownership="none">
2019                                                 <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
2020                                         </parameter>
2021                                 </parameters>
2022                         </callback>
2023                 </field>
2024                                 <field name="reserved4">
2025                         <callback name="reserved4" c:type="reserved4">
2026                                 <return-value transfer-ownership="full">
2027                                         <type name="none"/>
2028                                 </return-value>
2029                                 <parameters>
2030                                         <parameter name="self" transfer-ownership="none">
2031                                                 <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
2032                                         </parameter>
2033                                 </parameters>
2034                         </callback>
2035                 </field>
2036                                 <field name="reserved5">
2037                         <callback name="reserved5" c:type="reserved5">
2038                                 <return-value transfer-ownership="full">
2039                                         <type name="none"/>
2040                                 </return-value>
2041                                 <parameters>
2042                                         <parameter name="self" transfer-ownership="none">
2043                                                 <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
2044                                         </parameter>
2045                                 </parameters>
2046                         </callback>
2047                 </field>
2048                                 <field name="reserved6">
2049                         <callback name="reserved6" c:type="reserved6">
2050                                 <return-value transfer-ownership="full">
2051                                         <type name="none"/>
2052                                 </return-value>
2053                                 <parameters>
2054                                         <parameter name="self" transfer-ownership="none">
2055                                                 <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
2056                                         </parameter>
2057                                 </parameters>
2058                         </callback>
2059                 </field>
2060                                 <field name="reserved7">
2061                         <callback name="reserved7" c:type="reserved7">
2062                                 <return-value transfer-ownership="full">
2063                                         <type name="none"/>
2064                                 </return-value>
2065                                 <parameters>
2066                                         <parameter name="self" transfer-ownership="none">
2067                                                 <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
2068                                         </parameter>
2069                                 </parameters>
2070                         </callback>
2071                 </field>
2072                                 <field name="reserved8">
2073                         <callback name="reserved8" c:type="reserved8">
2074                                 <return-value transfer-ownership="full">
2075                                         <type name="none"/>
2076                                 </return-value>
2077                                 <parameters>
2078                                         <parameter name="self" transfer-ownership="none">
2079                                                 <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
2080                                         </parameter>
2081                                 </parameters>
2082                         </callback>
2083                 </field>
2084         </record>
2085         <record name="AbstractMultiMapPrivate" c:type="GeeAbstractMultiMapPrivate" disguised="1"/>
2086         <class name="AbstractMultiSet" c:type="GeeAbstractMultiSet" glib:type-name="GeeAbstractMultiSet" glib:get-type="gee_abstract_multi_set_get_type" glib:type-struct="AbstractMultiSetClass" parent="Gee.AbstractCollection" abstract="1">
2087                 <implements name="Gee.MultiSet"/>
2088                 <field name="parent_instance">
2089                         <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection"/>
2090                 </field>
2091                 <field name="priv">
2092                         <type name="AbstractMultiSetPrivate" c:type="GeeAbstractMultiSetPrivate*"/>
2093                 </field>
2094                 <field name="_storage_map">
2095                         <type name="Gee.Map" c:type="GeeMap*">
2096                                 <type name="gpointer" c:type="gpointer"/>
2097                                 <type name="gint" c:type="gint"/>
2098                         </type>
2099                 </field>
2100                 <property name="read-only-view">
2101                         <type name="Gee.MultiSet" c:type="GeeMultiSet*">
2102                                 <type name="gpointer" c:type="gpointer"/>
2103                         </type>
2104                 </property>
2105         </class>
2106         <record name="AbstractMultiSetClass" c:type="GeeAbstractMultiSetClass" glib:is-gtype-struct-for="AbstractMultiSet">
2107                 <field name="parent_class">
2108                         <type name="Gee.AbstractCollectionClass" c:type="GeeAbstractCollectionClass"/>
2109                 </field>
2110                                 <field name="reserved0">
2111                         <callback name="reserved0" c:type="reserved0">
2112                                 <return-value transfer-ownership="full">
2113                                         <type name="none"/>
2114                                 </return-value>
2115                                 <parameters>
2116                                         <parameter name="self" transfer-ownership="none">
2117                                                 <type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
2118                                         </parameter>
2119                                 </parameters>
2120                         </callback>
2121                 </field>
2122                                 <field name="reserved1">
2123                         <callback name="reserved1" c:type="reserved1">
2124                                 <return-value transfer-ownership="full">
2125                                         <type name="none"/>
2126                                 </return-value>
2127                                 <parameters>
2128                                         <parameter name="self" transfer-ownership="none">
2129                                                 <type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
2130                                         </parameter>
2131                                 </parameters>
2132                         </callback>
2133                 </field>
2134                                 <field name="reserved2">
2135                         <callback name="reserved2" c:type="reserved2">
2136                                 <return-value transfer-ownership="full">
2137                                         <type name="none"/>
2138                                 </return-value>
2139                                 <parameters>
2140                                         <parameter name="self" transfer-ownership="none">
2141                                                 <type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
2142                                         </parameter>
2143                                 </parameters>
2144                         </callback>
2145                 </field>
2146                                 <field name="reserved3">
2147                         <callback name="reserved3" c:type="reserved3">
2148                                 <return-value transfer-ownership="full">
2149                                         <type name="none"/>
2150                                 </return-value>
2151                                 <parameters>
2152                                         <parameter name="self" transfer-ownership="none">
2153                                                 <type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
2154                                         </parameter>
2155                                 </parameters>
2156                         </callback>
2157                 </field>
2158                                 <field name="reserved4">
2159                         <callback name="reserved4" c:type="reserved4">
2160                                 <return-value transfer-ownership="full">
2161                                         <type name="none"/>
2162                                 </return-value>
2163                                 <parameters>
2164                                         <parameter name="self" transfer-ownership="none">
2165                                                 <type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
2166                                         </parameter>
2167                                 </parameters>
2168                         </callback>
2169                 </field>
2170                                 <field name="reserved5">
2171                         <callback name="reserved5" c:type="reserved5">
2172                                 <return-value transfer-ownership="full">
2173                                         <type name="none"/>
2174                                 </return-value>
2175                                 <parameters>
2176                                         <parameter name="self" transfer-ownership="none">
2177                                                 <type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
2178                                         </parameter>
2179                                 </parameters>
2180                         </callback>
2181                 </field>
2182                                 <field name="reserved6">
2183                         <callback name="reserved6" c:type="reserved6">
2184                                 <return-value transfer-ownership="full">
2185                                         <type name="none"/>
2186                                 </return-value>
2187                                 <parameters>
2188                                         <parameter name="self" transfer-ownership="none">
2189                                                 <type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
2190                                         </parameter>
2191                                 </parameters>
2192                         </callback>
2193                 </field>
2194                                 <field name="reserved7">
2195                         <callback name="reserved7" c:type="reserved7">
2196                                 <return-value transfer-ownership="full">
2197                                         <type name="none"/>
2198                                 </return-value>
2199                                 <parameters>
2200                                         <parameter name="self" transfer-ownership="none">
2201                                                 <type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
2202                                         </parameter>
2203                                 </parameters>
2204                         </callback>
2205                 </field>
2206                                 <field name="reserved8">
2207                         <callback name="reserved8" c:type="reserved8">
2208                                 <return-value transfer-ownership="full">
2209                                         <type name="none"/>
2210                                 </return-value>
2211                                 <parameters>
2212                                         <parameter name="self" transfer-ownership="none">
2213                                                 <type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
2214                                         </parameter>
2215                                 </parameters>
2216                         </callback>
2217                 </field>
2218         </record>
2219         <record name="AbstractMultiSetPrivate" c:type="GeeAbstractMultiSetPrivate" disguised="1"/>
2220         <class name="AbstractQueue" c:type="GeeAbstractQueue" glib:type-name="GeeAbstractQueue" glib:get-type="gee_abstract_queue_get_type" glib:type-struct="AbstractQueueClass" parent="Gee.AbstractCollection" abstract="1">
2221                 <implements name="Gee.Queue"/>
2222                 <field name="parent_instance">
2223                         <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection"/>
2224                 </field>
2225                 <field name="priv">
2226                         <type name="AbstractQueuePrivate" c:type="GeeAbstractQueuePrivate*"/>
2227                 </field>
2228                 <method name="peek" c:identifier="gee_abstract_queue_peek">
2229                         <return-value transfer-ownership="full" allow-none="1">
2230                                 <type name="gpointer" c:type="gpointer"/>
2231                         </return-value>
2232                 </method>
2233                 <virtual-method name="peek" invoker="peek">
2234                         <return-value transfer-ownership="full" allow-none="1">
2235                                 <type name="gpointer" c:type="gpointer"/>
2236                         </return-value>
2237                 </virtual-method>
2238                 <method name="poll" c:identifier="gee_abstract_queue_poll">
2239                         <return-value transfer-ownership="full" allow-none="1">
2240                                 <type name="gpointer" c:type="gpointer"/>
2241                         </return-value>
2242                 </method>
2243                 <virtual-method name="poll" invoker="poll">
2244                         <return-value transfer-ownership="full" allow-none="1">
2245                                 <type name="gpointer" c:type="gpointer"/>
2246                         </return-value>
2247                 </virtual-method>
2248                 <property name="capacity">
2249                         <type name="gint" c:type="gint"/>
2250                 </property>
2251                 <property name="remaining-capacity">
2252                         <type name="gint" c:type="gint"/>
2253                 </property>
2254                 <property name="is-full">
2255                         <type name="gboolean" c:type="gboolean"/>
2256                 </property>
2257         </class>
2258         <record name="AbstractQueueClass" c:type="GeeAbstractQueueClass" glib:is-gtype-struct-for="AbstractQueue">
2259                 <field name="parent_class">
2260                         <type name="Gee.AbstractCollectionClass" c:type="GeeAbstractCollectionClass"/>
2261                 </field>
2262                                 <field name="peek">
2263                         <callback name="peek" c:type="peek">
2264                                 <return-value transfer-ownership="full" allow-none="1">
2265                                         <type name="gpointer" c:type="gpointer"/>
2266                                 </return-value>
2267                                 <parameters>
2268                                         <parameter name="self" transfer-ownership="none">
2269                                                 <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
2270                                         </parameter>
2271                                 </parameters>
2272                         </callback>
2273                 </field>
2274                                 <field name="poll">
2275                         <callback name="poll" c:type="poll">
2276                                 <return-value transfer-ownership="full" allow-none="1">
2277                                         <type name="gpointer" c:type="gpointer"/>
2278                                 </return-value>
2279                                 <parameters>
2280                                         <parameter name="self" transfer-ownership="none">
2281                                                 <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
2282                                         </parameter>
2283                                 </parameters>
2284                         </callback>
2285                 </field>
2286                                 <field name="reserved0">
2287                         <callback name="reserved0" c:type="reserved0">
2288                                 <return-value transfer-ownership="full">
2289                                         <type name="none"/>
2290                                 </return-value>
2291                                 <parameters>
2292                                         <parameter name="self" transfer-ownership="none">
2293                                                 <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
2294                                         </parameter>
2295                                 </parameters>
2296                         </callback>
2297                 </field>
2298                                 <field name="reserved1">
2299                         <callback name="reserved1" c:type="reserved1">
2300                                 <return-value transfer-ownership="full">
2301                                         <type name="none"/>
2302                                 </return-value>
2303                                 <parameters>
2304                                         <parameter name="self" transfer-ownership="none">
2305                                                 <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
2306                                         </parameter>
2307                                 </parameters>
2308                         </callback>
2309                 </field>
2310                                 <field name="reserved2">
2311                         <callback name="reserved2" c:type="reserved2">
2312                                 <return-value transfer-ownership="full">
2313                                         <type name="none"/>
2314                                 </return-value>
2315                                 <parameters>
2316                                         <parameter name="self" transfer-ownership="none">
2317                                                 <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
2318                                         </parameter>
2319                                 </parameters>
2320                         </callback>
2321                 </field>
2322                                 <field name="reserved3">
2323                         <callback name="reserved3" c:type="reserved3">
2324                                 <return-value transfer-ownership="full">
2325                                         <type name="none"/>
2326                                 </return-value>
2327                                 <parameters>
2328                                         <parameter name="self" transfer-ownership="none">
2329                                                 <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
2330                                         </parameter>
2331                                 </parameters>
2332                         </callback>
2333                 </field>
2334                                 <field name="reserved4">
2335                         <callback name="reserved4" c:type="reserved4">
2336                                 <return-value transfer-ownership="full">
2337                                         <type name="none"/>
2338                                 </return-value>
2339                                 <parameters>
2340                                         <parameter name="self" transfer-ownership="none">
2341                                                 <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
2342                                         </parameter>
2343                                 </parameters>
2344                         </callback>
2345                 </field>
2346                                 <field name="reserved5">
2347                         <callback name="reserved5" c:type="reserved5">
2348                                 <return-value transfer-ownership="full">
2349                                         <type name="none"/>
2350                                 </return-value>
2351                                 <parameters>
2352                                         <parameter name="self" transfer-ownership="none">
2353                                                 <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
2354                                         </parameter>
2355                                 </parameters>
2356                         </callback>
2357                 </field>
2358                                 <field name="reserved6">
2359                         <callback name="reserved6" c:type="reserved6">
2360                                 <return-value transfer-ownership="full">
2361                                         <type name="none"/>
2362                                 </return-value>
2363                                 <parameters>
2364                                         <parameter name="self" transfer-ownership="none">
2365                                                 <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
2366                                         </parameter>
2367                                 </parameters>
2368                         </callback>
2369                 </field>
2370                                 <field name="reserved7">
2371                         <callback name="reserved7" c:type="reserved7">
2372                                 <return-value transfer-ownership="full">
2373                                         <type name="none"/>
2374                                 </return-value>
2375                                 <parameters>
2376                                         <parameter name="self" transfer-ownership="none">
2377                                                 <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
2378                                         </parameter>
2379                                 </parameters>
2380                         </callback>
2381                 </field>
2382                                 <field name="reserved8">
2383                         <callback name="reserved8" c:type="reserved8">
2384                                 <return-value transfer-ownership="full">
2385                                         <type name="none"/>
2386                                 </return-value>
2387                                 <parameters>
2388                                         <parameter name="self" transfer-ownership="none">
2389                                                 <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
2390                                         </parameter>
2391                                 </parameters>
2392                         </callback>
2393                 </field>
2394                                 <field name="reserved9">
2395                         <callback name="reserved9" c:type="reserved9">
2396                                 <return-value transfer-ownership="full">
2397                                         <type name="none"/>
2398                                 </return-value>
2399                                 <parameters>
2400                                         <parameter name="self" transfer-ownership="none">
2401                                                 <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
2402                                         </parameter>
2403                                 </parameters>
2404                         </callback>
2405                 </field>
2406         </record>
2407         <record name="AbstractQueuePrivate" c:type="GeeAbstractQueuePrivate" disguised="1"/>
2408         <class name="AbstractSet" c:type="GeeAbstractSet" glib:type-name="GeeAbstractSet" glib:get-type="gee_abstract_set_get_type" glib:type-struct="AbstractSetClass" parent="Gee.AbstractCollection" abstract="1">
2409                 <implements name="Gee.Set"/>
2410                 <field name="parent_instance">
2411                         <type name="Gee.AbstractCollection" c:type="GeeAbstractCollection"/>
2412                 </field>
2413                 <field name="priv">
2414                         <type name="AbstractSetPrivate" c:type="GeeAbstractSetPrivate*"/>
2415                 </field>
2416                 <property name="read-only-view">
2417                         <type name="Gee.Set" c:type="GeeSet*">
2418                                 <type name="gpointer" c:type="gpointer"/>
2419                         </type>
2420                 </property>
2421         </class>
2422         <record name="AbstractSetClass" c:type="GeeAbstractSetClass" glib:is-gtype-struct-for="AbstractSet">
2423                 <field name="parent_class">
2424                         <type name="Gee.AbstractCollectionClass" c:type="GeeAbstractCollectionClass"/>
2425                 </field>
2426                                 <field name="reserved0">
2427                         <callback name="reserved0" c:type="reserved0">
2428                                 <return-value transfer-ownership="full">
2429                                         <type name="none"/>
2430                                 </return-value>
2431                                 <parameters>
2432                                         <parameter name="self" transfer-ownership="none">
2433                                                 <type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
2434                                         </parameter>
2435                                 </parameters>
2436                         </callback>
2437                 </field>
2438                                 <field name="reserved1">
2439                         <callback name="reserved1" c:type="reserved1">
2440                                 <return-value transfer-ownership="full">
2441                                         <type name="none"/>
2442                                 </return-value>
2443                                 <parameters>
2444                                         <parameter name="self" transfer-ownership="none">
2445                                                 <type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
2446                                         </parameter>
2447                                 </parameters>
2448                         </callback>
2449                 </field>
2450                                 <field name="reserved2">
2451                         <callback name="reserved2" c:type="reserved2">
2452                                 <return-value transfer-ownership="full">
2453                                         <type name="none"/>
2454                                 </return-value>
2455                                 <parameters>
2456                                         <parameter name="self" transfer-ownership="none">
2457                                                 <type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
2458                                         </parameter>
2459                                 </parameters>
2460                         </callback>
2461                 </field>
2462                                 <field name="reserved3">
2463                         <callback name="reserved3" c:type="reserved3">
2464                                 <return-value transfer-ownership="full">
2465                                         <type name="none"/>
2466                                 </return-value>
2467                                 <parameters>
2468                                         <parameter name="self" transfer-ownership="none">
2469                                                 <type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
2470                                         </parameter>
2471                                 </parameters>
2472                         </callback>
2473                 </field>
2474                                 <field name="reserved4">
2475                         <callback name="reserved4" c:type="reserved4">
2476                                 <return-value transfer-ownership="full">
2477                                         <type name="none"/>
2478                                 </return-value>
2479                                 <parameters>
2480                                         <parameter name="self" transfer-ownership="none">
2481                                                 <type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
2482                                         </parameter>
2483                                 </parameters>
2484                         </callback>
2485                 </field>
2486                                 <field name="reserved5">
2487                         <callback name="reserved5" c:type="reserved5">
2488                                 <return-value transfer-ownership="full">
2489                                         <type name="none"/>
2490                                 </return-value>
2491                                 <parameters>
2492                                         <parameter name="self" transfer-ownership="none">
2493                                                 <type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
2494                                         </parameter>
2495                                 </parameters>
2496                         </callback>
2497                 </field>
2498                                 <field name="reserved6">
2499                         <callback name="reserved6" c:type="reserved6">
2500                                 <return-value transfer-ownership="full">
2501                                         <type name="none"/>
2502                                 </return-value>
2503                                 <parameters>
2504                                         <parameter name="self" transfer-ownership="none">
2505                                                 <type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
2506                                         </parameter>
2507                                 </parameters>
2508                         </callback>
2509                 </field>
2510                                 <field name="reserved7">
2511                         <callback name="reserved7" c:type="reserved7">
2512                                 <return-value transfer-ownership="full">
2513                                         <type name="none"/>
2514                                 </return-value>
2515                                 <parameters>
2516                                         <parameter name="self" transfer-ownership="none">
2517                                                 <type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
2518                                         </parameter>
2519                                 </parameters>
2520                         </callback>
2521                 </field>
2522                                 <field name="reserved8">
2523                         <callback name="reserved8" c:type="reserved8">
2524                                 <return-value transfer-ownership="full">
2525                                         <type name="none"/>
2526                                 </return-value>
2527                                 <parameters>
2528                                         <parameter name="self" transfer-ownership="none">
2529                                                 <type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
2530                                         </parameter>
2531                                 </parameters>
2532                         </callback>
2533                 </field>
2534                                 <field name="reserved9">
2535                         <callback name="reserved9" c:type="reserved9">
2536                                 <return-value transfer-ownership="full">
2537                                         <type name="none"/>
2538                                 </return-value>
2539                                 <parameters>
2540                                         <parameter name="self" transfer-ownership="none">
2541                                                 <type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
2542                                         </parameter>
2543                                 </parameters>
2544                         </callback>
2545                 </field>
2546         </record>
2547         <record name="AbstractSetPrivate" c:type="GeeAbstractSetPrivate" disguised="1"/>
2548         <class name="AbstractSortedMap" c:type="GeeAbstractSortedMap" glib:type-name="GeeAbstractSortedMap" glib:get-type="gee_abstract_sorted_map_get_type" glib:type-struct="AbstractSortedMapClass" parent="Gee.AbstractMap" abstract="1">
2549                 <implements name="Gee.SortedMap"/>
2550                 <field name="parent_instance">
2551                         <type name="Gee.AbstractMap" c:type="GeeAbstractMap"/>
2552                 </field>
2553                 <field name="priv">
2554                         <type name="AbstractSortedMapPrivate" c:type="GeeAbstractSortedMapPrivate*"/>
2555                 </field>
2556                 <method name="head_map" c:identifier="gee_abstract_sorted_map_head_map">
2557                         <return-value transfer-ownership="full">
2558                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*">
2559                                         <type name="gpointer" c:type="gpointer"/>
2560                                         <type name="gpointer" c:type="gpointer"/>
2561                                 </type>
2562                         </return-value>
2563                         <parameters>
2564                                 <parameter name="before" transfer-ownership="none" allow-none="1">
2565                                         <type name="gpointer" c:type="gpointer"/>
2566                                 </parameter>
2567                         </parameters>
2568                 </method>
2569                 <virtual-method name="head_map" invoker="head_map">
2570                         <return-value transfer-ownership="full">
2571                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*">
2572                                         <type name="gpointer" c:type="gpointer"/>
2573                                         <type name="gpointer" c:type="gpointer"/>
2574                                 </type>
2575                         </return-value>
2576                         <parameters>
2577                                 <parameter name="before" transfer-ownership="none" allow-none="1">
2578                                         <type name="gpointer" c:type="gpointer"/>
2579                                 </parameter>
2580                         </parameters>
2581                 </virtual-method>
2582                 <method name="tail_map" c:identifier="gee_abstract_sorted_map_tail_map">
2583                         <return-value transfer-ownership="full">
2584                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*">
2585                                         <type name="gpointer" c:type="gpointer"/>
2586                                         <type name="gpointer" c:type="gpointer"/>
2587                                 </type>
2588                         </return-value>
2589                         <parameters>
2590                                 <parameter name="after" transfer-ownership="none" allow-none="1">
2591                                         <type name="gpointer" c:type="gpointer"/>
2592                                 </parameter>
2593                         </parameters>
2594                 </method>
2595                 <virtual-method name="tail_map" invoker="tail_map">
2596                         <return-value transfer-ownership="full">
2597                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*">
2598                                         <type name="gpointer" c:type="gpointer"/>
2599                                         <type name="gpointer" c:type="gpointer"/>
2600                                 </type>
2601                         </return-value>
2602                         <parameters>
2603                                 <parameter name="after" transfer-ownership="none" allow-none="1">
2604                                         <type name="gpointer" c:type="gpointer"/>
2605                                 </parameter>
2606                         </parameters>
2607                 </virtual-method>
2608                 <method name="sub_map" c:identifier="gee_abstract_sorted_map_sub_map">
2609                         <return-value transfer-ownership="full">
2610                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*">
2611                                         <type name="gpointer" c:type="gpointer"/>
2612                                         <type name="gpointer" c:type="gpointer"/>
2613                                 </type>
2614                         </return-value>
2615                         <parameters>
2616                                 <parameter name="before" transfer-ownership="none" allow-none="1">
2617                                         <type name="gpointer" c:type="gpointer"/>
2618                                 </parameter>
2619                                 <parameter name="after" transfer-ownership="none" allow-none="1">
2620                                         <type name="gpointer" c:type="gpointer"/>
2621                                 </parameter>
2622                         </parameters>
2623                 </method>
2624                 <virtual-method name="sub_map" invoker="sub_map">
2625                         <return-value transfer-ownership="full">
2626                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*">
2627                                         <type name="gpointer" c:type="gpointer"/>
2628                                         <type name="gpointer" c:type="gpointer"/>
2629                                 </type>
2630                         </return-value>
2631                         <parameters>
2632                                 <parameter name="before" transfer-ownership="none" allow-none="1">
2633                                         <type name="gpointer" c:type="gpointer"/>
2634                                 </parameter>
2635                                 <parameter name="after" transfer-ownership="none" allow-none="1">
2636                                         <type name="gpointer" c:type="gpointer"/>
2637                                 </parameter>
2638                         </parameters>
2639                 </virtual-method>
2640                 <property name="ascending-keys">
2641                         <type name="Gee.SortedSet" c:type="GeeSortedSet*">
2642                                 <type name="gpointer" c:type="gpointer"/>
2643                         </type>
2644                 </property>
2645                 <property name="ascending-entries">
2646                         <type name="Gee.SortedSet" c:type="GeeSortedSet*">
2647                                 <type name="Gee.MapEntry" c:type="GeeMapEntry*">
2648                                         <type name="gpointer" c:type="gpointer"/>
2649                                         <type name="gpointer" c:type="gpointer"/>
2650                                 </type>
2651                         </type>
2652                 </property>
2653         </class>
2654         <record name="AbstractSortedMapClass" c:type="GeeAbstractSortedMapClass" glib:is-gtype-struct-for="AbstractSortedMap">
2655                 <field name="parent_class">
2656                         <type name="Gee.AbstractMapClass" c:type="GeeAbstractMapClass"/>
2657                 </field>
2658                                 <field name="head_map">
2659                         <callback name="head_map" c:type="head_map">
2660                                 <return-value transfer-ownership="full">
2661                                         <type name="Gee.SortedMap" c:type="GeeSortedMap*">
2662                                                 <type name="gpointer" c:type="gpointer"/>
2663                                                 <type name="gpointer" c:type="gpointer"/>
2664                                         </type>
2665                                 </return-value>
2666                                 <parameters>
2667                                         <parameter name="self" transfer-ownership="none">
2668                                                 <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
2669                                         </parameter>
2670                                         <parameter name="before" transfer-ownership="none" allow-none="1">
2671                                                 <type name="gpointer" c:type="gpointer"/>
2672                                         </parameter>
2673                                 </parameters>
2674                         </callback>
2675                 </field>
2676                                 <field name="tail_map">
2677                         <callback name="tail_map" c:type="tail_map">
2678                                 <return-value transfer-ownership="full">
2679                                         <type name="Gee.SortedMap" c:type="GeeSortedMap*">
2680                                                 <type name="gpointer" c:type="gpointer"/>
2681                                                 <type name="gpointer" c:type="gpointer"/>
2682                                         </type>
2683                                 </return-value>
2684                                 <parameters>
2685                                         <parameter name="self" transfer-ownership="none">
2686                                                 <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
2687                                         </parameter>
2688                                         <parameter name="after" transfer-ownership="none" allow-none="1">
2689                                                 <type name="gpointer" c:type="gpointer"/>
2690                                         </parameter>
2691                                 </parameters>
2692                         </callback>
2693                 </field>
2694                                 <field name="sub_map">
2695                         <callback name="sub_map" c:type="sub_map">
2696                                 <return-value transfer-ownership="full">
2697                                         <type name="Gee.SortedMap" c:type="GeeSortedMap*">
2698                                                 <type name="gpointer" c:type="gpointer"/>
2699                                                 <type name="gpointer" c:type="gpointer"/>
2700                                         </type>
2701                                 </return-value>
2702                                 <parameters>
2703                                         <parameter name="self" transfer-ownership="none">
2704                                                 <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
2705                                         </parameter>
2706                                         <parameter name="before" transfer-ownership="none" allow-none="1">
2707                                                 <type name="gpointer" c:type="gpointer"/>
2708                                         </parameter>
2709                                         <parameter name="after" transfer-ownership="none" allow-none="1">
2710                                                 <type name="gpointer" c:type="gpointer"/>
2711                                         </parameter>
2712                                 </parameters>
2713                         </callback>
2714                 </field>
2715                                 <field name="reserved0">
2716                         <callback name="reserved0" c:type="reserved0">
2717                                 <return-value transfer-ownership="full">
2718                                         <type name="none"/>
2719                                 </return-value>
2720                                 <parameters>
2721                                         <parameter name="self" transfer-ownership="none">
2722                                                 <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
2723                                         </parameter>
2724                                 </parameters>
2725                         </callback>
2726                 </field>
2727                                 <field name="reserved1">
2728                         <callback name="reserved1" c:type="reserved1">
2729                                 <return-value transfer-ownership="full">
2730                                         <type name="none"/>
2731                                 </return-value>
2732                                 <parameters>
2733                                         <parameter name="self" transfer-ownership="none">
2734                                                 <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
2735                                         </parameter>
2736                                 </parameters>
2737                         </callback>
2738                 </field>
2739                                 <field name="reserved2">
2740                         <callback name="reserved2" c:type="reserved2">
2741                                 <return-value transfer-ownership="full">
2742                                         <type name="none"/>
2743                                 </return-value>
2744                                 <parameters>
2745                                         <parameter name="self" transfer-ownership="none">
2746                                                 <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
2747                                         </parameter>
2748                                 </parameters>
2749                         </callback>
2750                 </field>
2751                                 <field name="reserved3">
2752                         <callback name="reserved3" c:type="reserved3">
2753                                 <return-value transfer-ownership="full">
2754                                         <type name="none"/>
2755                                 </return-value>
2756                                 <parameters>
2757                                         <parameter name="self" transfer-ownership="none">
2758                                                 <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
2759                                         </parameter>
2760                                 </parameters>
2761                         </callback>
2762                 </field>
2763                                 <field name="reserved4">
2764                         <callback name="reserved4" c:type="reserved4">
2765                                 <return-value transfer-ownership="full">
2766                                         <type name="none"/>
2767                                 </return-value>
2768                                 <parameters>
2769                                         <parameter name="self" transfer-ownership="none">
2770                                                 <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
2771                                         </parameter>
2772                                 </parameters>
2773                         </callback>
2774                 </field>
2775                                 <field name="reserved5">
2776                         <callback name="reserved5" c:type="reserved5">
2777                                 <return-value transfer-ownership="full">
2778                                         <type name="none"/>
2779                                 </return-value>
2780                                 <parameters>
2781                                         <parameter name="self" transfer-ownership="none">
2782                                                 <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
2783                                         </parameter>
2784                                 </parameters>
2785                         </callback>
2786                 </field>
2787                                 <field name="reserved6">
2788                         <callback name="reserved6" c:type="reserved6">
2789                                 <return-value transfer-ownership="full">
2790                                         <type name="none"/>
2791                                 </return-value>
2792                                 <parameters>
2793                                         <parameter name="self" transfer-ownership="none">
2794                                                 <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
2795                                         </parameter>
2796                                 </parameters>
2797                         </callback>
2798                 </field>
2799                                 <field name="reserved7">
2800                         <callback name="reserved7" c:type="reserved7">
2801                                 <return-value transfer-ownership="full">
2802                                         <type name="none"/>
2803                                 </return-value>
2804                                 <parameters>
2805                                         <parameter name="self" transfer-ownership="none">
2806                                                 <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
2807                                         </parameter>
2808                                 </parameters>
2809                         </callback>
2810                 </field>
2811                                 <field name="reserved8">
2812                         <callback name="reserved8" c:type="reserved8">
2813                                 <return-value transfer-ownership="full">
2814                                         <type name="none"/>
2815                                 </return-value>
2816                                 <parameters>
2817                                         <parameter name="self" transfer-ownership="none">
2818                                                 <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
2819                                         </parameter>
2820                                 </parameters>
2821                         </callback>
2822                 </field>
2823                                 <field name="reserved9">
2824                         <callback name="reserved9" c:type="reserved9">
2825                                 <return-value transfer-ownership="full">
2826                                         <type name="none"/>
2827                                 </return-value>
2828                                 <parameters>
2829                                         <parameter name="self" transfer-ownership="none">
2830                                                 <type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
2831                                         </parameter>
2832                                 </parameters>
2833                         </callback>
2834                 </field>
2835         </record>
2836         <record name="AbstractSortedMapPrivate" c:type="GeeAbstractSortedMapPrivate" disguised="1"/>
2837         <class name="AbstractSortedSet" c:type="GeeAbstractSortedSet" glib:type-name="GeeAbstractSortedSet" glib:get-type="gee_abstract_sorted_set_get_type" glib:type-struct="AbstractSortedSetClass" parent="Gee.AbstractSet" abstract="1">
2838                 <implements name="Gee.SortedSet"/>
2839                 <field name="parent_instance">
2840                         <type name="Gee.AbstractSet" c:type="GeeAbstractSet"/>
2841                 </field>
2842                 <field name="priv">
2843                         <type name="AbstractSortedSetPrivate" c:type="GeeAbstractSortedSetPrivate*"/>
2844                 </field>
2845                 <method name="first" c:identifier="gee_abstract_sorted_set_first">
2846                         <return-value transfer-ownership="full" allow-none="1">
2847                                 <type name="gpointer" c:type="gpointer"/>
2848                         </return-value>
2849                 </method>
2850                 <virtual-method name="first" invoker="first">
2851                         <return-value transfer-ownership="full" allow-none="1">
2852                                 <type name="gpointer" c:type="gpointer"/>
2853                         </return-value>
2854                 </virtual-method>
2855                 <method name="last" c:identifier="gee_abstract_sorted_set_last">
2856                         <return-value transfer-ownership="full" allow-none="1">
2857                                 <type name="gpointer" c:type="gpointer"/>
2858                         </return-value>
2859                 </method>
2860                 <virtual-method name="last" invoker="last">
2861                         <return-value transfer-ownership="full" allow-none="1">
2862                                 <type name="gpointer" c:type="gpointer"/>
2863                         </return-value>
2864                 </virtual-method>
2865                 <method name="iterator_at" c:identifier="gee_abstract_sorted_set_iterator_at">
2866                         <return-value transfer-ownership="full" allow-none="1">
2867                                 <type name="Gee.Iterator" c:type="GeeIterator*">
2868                                         <type name="gpointer" c:type="gpointer"/>
2869                                 </type>
2870                         </return-value>
2871                         <parameters>
2872                                 <parameter name="element" transfer-ownership="none" allow-none="1">
2873                                         <type name="gpointer" c:type="gpointer"/>
2874                                 </parameter>
2875                         </parameters>
2876                 </method>
2877                 <virtual-method name="iterator_at" invoker="iterator_at">
2878                         <return-value transfer-ownership="full" allow-none="1">
2879                                 <type name="Gee.Iterator" c:type="GeeIterator*">
2880                                         <type name="gpointer" c:type="gpointer"/>
2881                                 </type>
2882                         </return-value>
2883                         <parameters>
2884                                 <parameter name="element" transfer-ownership="none" allow-none="1">
2885                                         <type name="gpointer" c:type="gpointer"/>
2886                                 </parameter>
2887                         </parameters>
2888                 </virtual-method>
2889                 <method name="lower" c:identifier="gee_abstract_sorted_set_lower">
2890                         <return-value transfer-ownership="full" allow-none="1">
2891                                 <type name="gpointer" c:type="gpointer"/>
2892                         </return-value>
2893                         <parameters>
2894                                 <parameter name="element" transfer-ownership="none" allow-none="1">
2895                                         <type name="gpointer" c:type="gpointer"/>
2896                                 </parameter>
2897                         </parameters>
2898                 </method>
2899                 <virtual-method name="lower" invoker="lower">
2900                         <return-value transfer-ownership="full" allow-none="1">
2901                                 <type name="gpointer" c:type="gpointer"/>
2902                         </return-value>
2903                         <parameters>
2904                                 <parameter name="element" transfer-ownership="none" allow-none="1">
2905                                         <type name="gpointer" c:type="gpointer"/>
2906                                 </parameter>
2907                         </parameters>
2908                 </virtual-method>
2909                 <method name="higher" c:identifier="gee_abstract_sorted_set_higher">
2910                         <return-value transfer-ownership="full" allow-none="1">
2911                                 <type name="gpointer" c:type="gpointer"/>
2912                         </return-value>
2913                         <parameters>
2914                                 <parameter name="element" transfer-ownership="none" allow-none="1">
2915                                         <type name="gpointer" c:type="gpointer"/>
2916                                 </parameter>
2917                         </parameters>
2918                 </method>
2919                 <virtual-method name="higher" invoker="higher">
2920                         <return-value transfer-ownership="full" allow-none="1">
2921                                 <type name="gpointer" c:type="gpointer"/>
2922                         </return-value>
2923                         <parameters>
2924                                 <parameter name="element" transfer-ownership="none" allow-none="1">
2925                                         <type name="gpointer" c:type="gpointer"/>
2926                                 </parameter>
2927                         </parameters>
2928                 </virtual-method>
2929                 <method name="floor" c:identifier="gee_abstract_sorted_set_floor">
2930                         <return-value transfer-ownership="full" allow-none="1">
2931                                 <type name="gpointer" c:type="gpointer"/>
2932                         </return-value>
2933                         <parameters>
2934                                 <parameter name="element" transfer-ownership="none" allow-none="1">
2935                                         <type name="gpointer" c:type="gpointer"/>
2936                                 </parameter>
2937                         </parameters>
2938                 </method>
2939                 <virtual-method name="floor" invoker="floor">
2940                         <return-value transfer-ownership="full" allow-none="1">
2941                                 <type name="gpointer" c:type="gpointer"/>
2942                         </return-value>
2943                         <parameters>
2944                                 <parameter name="element" transfer-ownership="none" allow-none="1">
2945                                         <type name="gpointer" c:type="gpointer"/>
2946                                 </parameter>
2947                         </parameters>
2948                 </virtual-method>
2949                 <method name="ceil" c:identifier="gee_abstract_sorted_set_ceil">
2950                         <return-value transfer-ownership="full" allow-none="1">
2951                                 <type name="gpointer" c:type="gpointer"/>
2952                         </return-value>
2953                         <parameters>
2954                                 <parameter name="element" transfer-ownership="none" allow-none="1">
2955                                         <type name="gpointer" c:type="gpointer"/>
2956                                 </parameter>
2957                         </parameters>
2958                 </method>
2959                 <virtual-method name="ceil" invoker="ceil">
2960                         <return-value transfer-ownership="full" allow-none="1">
2961                                 <type name="gpointer" c:type="gpointer"/>
2962                         </return-value>
2963                         <parameters>
2964                                 <parameter name="element" transfer-ownership="none" allow-none="1">
2965                                         <type name="gpointer" c:type="gpointer"/>
2966                                 </parameter>
2967                         </parameters>
2968                 </virtual-method>
2969                 <method name="head_set" c:identifier="gee_abstract_sorted_set_head_set">
2970                         <return-value transfer-ownership="full">
2971                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*">
2972                                         <type name="gpointer" c:type="gpointer"/>
2973                                 </type>
2974                         </return-value>
2975                         <parameters>
2976                                 <parameter name="before" transfer-ownership="none" allow-none="1">
2977                                         <type name="gpointer" c:type="gpointer"/>
2978                                 </parameter>
2979                         </parameters>
2980                 </method>
2981                 <virtual-method name="head_set" invoker="head_set">
2982                         <return-value transfer-ownership="full">
2983                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*">
2984                                         <type name="gpointer" c:type="gpointer"/>
2985                                 </type>
2986                         </return-value>
2987                         <parameters>
2988                                 <parameter name="before" transfer-ownership="none" allow-none="1">
2989                                         <type name="gpointer" c:type="gpointer"/>
2990                                 </parameter>
2991                         </parameters>
2992                 </virtual-method>
2993                 <method name="tail_set" c:identifier="gee_abstract_sorted_set_tail_set">
2994                         <return-value transfer-ownership="full">
2995                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*">
2996                                         <type name="gpointer" c:type="gpointer"/>
2997                                 </type>
2998                         </return-value>
2999                         <parameters>
3000                                 <parameter name="after" transfer-ownership="none" allow-none="1">
3001                                         <type name="gpointer" c:type="gpointer"/>
3002                                 </parameter>
3003                         </parameters>
3004                 </method>
3005                 <virtual-method name="tail_set" invoker="tail_set">
3006                         <return-value transfer-ownership="full">
3007                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*">
3008                                         <type name="gpointer" c:type="gpointer"/>
3009                                 </type>
3010                         </return-value>
3011                         <parameters>
3012                                 <parameter name="after" transfer-ownership="none" allow-none="1">
3013                                         <type name="gpointer" c:type="gpointer"/>
3014                                 </parameter>
3015                         </parameters>
3016                 </virtual-method>
3017                 <method name="sub_set" c:identifier="gee_abstract_sorted_set_sub_set">
3018                         <return-value transfer-ownership="full">
3019                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*">
3020                                         <type name="gpointer" c:type="gpointer"/>
3021                                 </type>
3022                         </return-value>
3023                         <parameters>
3024                                 <parameter name="from" transfer-ownership="none" allow-none="1">
3025                                         <type name="gpointer" c:type="gpointer"/>
3026                                 </parameter>
3027                                 <parameter name="to" transfer-ownership="none" allow-none="1">
3028                                         <type name="gpointer" c:type="gpointer"/>
3029                                 </parameter>
3030                         </parameters>
3031                 </method>
3032                 <virtual-method name="sub_set" invoker="sub_set">
3033                         <return-value transfer-ownership="full">
3034                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*">
3035                                         <type name="gpointer" c:type="gpointer"/>
3036                                 </type>
3037                         </return-value>
3038                         <parameters>
3039                                 <parameter name="from" transfer-ownership="none" allow-none="1">
3040                                         <type name="gpointer" c:type="gpointer"/>
3041                                 </parameter>
3042                                 <parameter name="to" transfer-ownership="none" allow-none="1">
3043                                         <type name="gpointer" c:type="gpointer"/>
3044                                 </parameter>
3045                         </parameters>
3046                 </virtual-method>
3047                 <property name="read-only-view">
3048                         <type name="Gee.SortedSet" c:type="GeeSortedSet*">
3049                                 <type name="gpointer" c:type="gpointer"/>
3050                         </type>
3051                 </property>
3052         </class>
3053         <record name="AbstractSortedSetClass" c:type="GeeAbstractSortedSetClass" glib:is-gtype-struct-for="AbstractSortedSet">
3054                 <field name="parent_class">
3055                         <type name="Gee.AbstractSetClass" c:type="GeeAbstractSetClass"/>
3056                 </field>
3057                                 <field name="first">
3058                         <callback name="first" c:type="first">
3059                                 <return-value transfer-ownership="full" allow-none="1">
3060                                         <type name="gpointer" c:type="gpointer"/>
3061                                 </return-value>
3062                                 <parameters>
3063                                         <parameter name="self" transfer-ownership="none">
3064                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3065                                         </parameter>
3066                                 </parameters>
3067                         </callback>
3068                 </field>
3069                                 <field name="last">
3070                         <callback name="last" c:type="last">
3071                                 <return-value transfer-ownership="full" allow-none="1">
3072                                         <type name="gpointer" c:type="gpointer"/>
3073                                 </return-value>
3074                                 <parameters>
3075                                         <parameter name="self" transfer-ownership="none">
3076                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3077                                         </parameter>
3078                                 </parameters>
3079                         </callback>
3080                 </field>
3081                                 <field name="iterator_at">
3082                         <callback name="iterator_at" c:type="iterator_at">
3083                                 <return-value transfer-ownership="full" allow-none="1">
3084                                         <type name="Gee.Iterator" c:type="GeeIterator*">
3085                                                 <type name="gpointer" c:type="gpointer"/>
3086                                         </type>
3087                                 </return-value>
3088                                 <parameters>
3089                                         <parameter name="self" transfer-ownership="none">
3090                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3091                                         </parameter>
3092                                         <parameter name="element" transfer-ownership="none" allow-none="1">
3093                                                 <type name="gpointer" c:type="gpointer"/>
3094                                         </parameter>
3095                                 </parameters>
3096                         </callback>
3097                 </field>
3098                                 <field name="lower">
3099                         <callback name="lower" c:type="lower">
3100                                 <return-value transfer-ownership="full" allow-none="1">
3101                                         <type name="gpointer" c:type="gpointer"/>
3102                                 </return-value>
3103                                 <parameters>
3104                                         <parameter name="self" transfer-ownership="none">
3105                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3106                                         </parameter>
3107                                         <parameter name="element" transfer-ownership="none" allow-none="1">
3108                                                 <type name="gpointer" c:type="gpointer"/>
3109                                         </parameter>
3110                                 </parameters>
3111                         </callback>
3112                 </field>
3113                                 <field name="higher">
3114                         <callback name="higher" c:type="higher">
3115                                 <return-value transfer-ownership="full" allow-none="1">
3116                                         <type name="gpointer" c:type="gpointer"/>
3117                                 </return-value>
3118                                 <parameters>
3119                                         <parameter name="self" transfer-ownership="none">
3120                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3121                                         </parameter>
3122                                         <parameter name="element" transfer-ownership="none" allow-none="1">
3123                                                 <type name="gpointer" c:type="gpointer"/>
3124                                         </parameter>
3125                                 </parameters>
3126                         </callback>
3127                 </field>
3128                                 <field name="floor">
3129                         <callback name="floor" c:type="floor">
3130                                 <return-value transfer-ownership="full" allow-none="1">
3131                                         <type name="gpointer" c:type="gpointer"/>
3132                                 </return-value>
3133                                 <parameters>
3134                                         <parameter name="self" transfer-ownership="none">
3135                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3136                                         </parameter>
3137                                         <parameter name="element" transfer-ownership="none" allow-none="1">
3138                                                 <type name="gpointer" c:type="gpointer"/>
3139                                         </parameter>
3140                                 </parameters>
3141                         </callback>
3142                 </field>
3143                                 <field name="ceil">
3144                         <callback name="ceil" c:type="ceil">
3145                                 <return-value transfer-ownership="full" allow-none="1">
3146                                         <type name="gpointer" c:type="gpointer"/>
3147                                 </return-value>
3148                                 <parameters>
3149                                         <parameter name="self" transfer-ownership="none">
3150                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3151                                         </parameter>
3152                                         <parameter name="element" transfer-ownership="none" allow-none="1">
3153                                                 <type name="gpointer" c:type="gpointer"/>
3154                                         </parameter>
3155                                 </parameters>
3156                         </callback>
3157                 </field>
3158                                 <field name="head_set">
3159                         <callback name="head_set" c:type="head_set">
3160                                 <return-value transfer-ownership="full">
3161                                         <type name="Gee.SortedSet" c:type="GeeSortedSet*">
3162                                                 <type name="gpointer" c:type="gpointer"/>
3163                                         </type>
3164                                 </return-value>
3165                                 <parameters>
3166                                         <parameter name="self" transfer-ownership="none">
3167                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3168                                         </parameter>
3169                                         <parameter name="before" transfer-ownership="none" allow-none="1">
3170                                                 <type name="gpointer" c:type="gpointer"/>
3171                                         </parameter>
3172                                 </parameters>
3173                         </callback>
3174                 </field>
3175                                 <field name="tail_set">
3176                         <callback name="tail_set" c:type="tail_set">
3177                                 <return-value transfer-ownership="full">
3178                                         <type name="Gee.SortedSet" c:type="GeeSortedSet*">
3179                                                 <type name="gpointer" c:type="gpointer"/>
3180                                         </type>
3181                                 </return-value>
3182                                 <parameters>
3183                                         <parameter name="self" transfer-ownership="none">
3184                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3185                                         </parameter>
3186                                         <parameter name="after" transfer-ownership="none" allow-none="1">
3187                                                 <type name="gpointer" c:type="gpointer"/>
3188                                         </parameter>
3189                                 </parameters>
3190                         </callback>
3191                 </field>
3192                                 <field name="sub_set">
3193                         <callback name="sub_set" c:type="sub_set">
3194                                 <return-value transfer-ownership="full">
3195                                         <type name="Gee.SortedSet" c:type="GeeSortedSet*">
3196                                                 <type name="gpointer" c:type="gpointer"/>
3197                                         </type>
3198                                 </return-value>
3199                                 <parameters>
3200                                         <parameter name="self" transfer-ownership="none">
3201                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3202                                         </parameter>
3203                                         <parameter name="from" transfer-ownership="none" allow-none="1">
3204                                                 <type name="gpointer" c:type="gpointer"/>
3205                                         </parameter>
3206                                         <parameter name="to" transfer-ownership="none" allow-none="1">
3207                                                 <type name="gpointer" c:type="gpointer"/>
3208                                         </parameter>
3209                                 </parameters>
3210                         </callback>
3211                 </field>
3212                                 <field name="reserved0">
3213                         <callback name="reserved0" c:type="reserved0">
3214                                 <return-value transfer-ownership="full">
3215                                         <type name="none"/>
3216                                 </return-value>
3217                                 <parameters>
3218                                         <parameter name="self" transfer-ownership="none">
3219                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3220                                         </parameter>
3221                                 </parameters>
3222                         </callback>
3223                 </field>
3224                                 <field name="reserved1">
3225                         <callback name="reserved1" c:type="reserved1">
3226                                 <return-value transfer-ownership="full">
3227                                         <type name="none"/>
3228                                 </return-value>
3229                                 <parameters>
3230                                         <parameter name="self" transfer-ownership="none">
3231                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3232                                         </parameter>
3233                                 </parameters>
3234                         </callback>
3235                 </field>
3236                                 <field name="reserved2">
3237                         <callback name="reserved2" c:type="reserved2">
3238                                 <return-value transfer-ownership="full">
3239                                         <type name="none"/>
3240                                 </return-value>
3241                                 <parameters>
3242                                         <parameter name="self" transfer-ownership="none">
3243                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3244                                         </parameter>
3245                                 </parameters>
3246                         </callback>
3247                 </field>
3248                                 <field name="reserved3">
3249                         <callback name="reserved3" c:type="reserved3">
3250                                 <return-value transfer-ownership="full">
3251                                         <type name="none"/>
3252                                 </return-value>
3253                                 <parameters>
3254                                         <parameter name="self" transfer-ownership="none">
3255                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3256                                         </parameter>
3257                                 </parameters>
3258                         </callback>
3259                 </field>
3260                                 <field name="reserved4">
3261                         <callback name="reserved4" c:type="reserved4">
3262                                 <return-value transfer-ownership="full">
3263                                         <type name="none"/>
3264                                 </return-value>
3265                                 <parameters>
3266                                         <parameter name="self" transfer-ownership="none">
3267                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3268                                         </parameter>
3269                                 </parameters>
3270                         </callback>
3271                 </field>
3272                                 <field name="reserved5">
3273                         <callback name="reserved5" c:type="reserved5">
3274                                 <return-value transfer-ownership="full">
3275                                         <type name="none"/>
3276                                 </return-value>
3277                                 <parameters>
3278                                         <parameter name="self" transfer-ownership="none">
3279                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3280                                         </parameter>
3281                                 </parameters>
3282                         </callback>
3283                 </field>
3284                                 <field name="reserved6">
3285                         <callback name="reserved6" c:type="reserved6">
3286                                 <return-value transfer-ownership="full">
3287                                         <type name="none"/>
3288                                 </return-value>
3289                                 <parameters>
3290                                         <parameter name="self" transfer-ownership="none">
3291                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3292                                         </parameter>
3293                                 </parameters>
3294                         </callback>
3295                 </field>
3296                                 <field name="reserved7">
3297                         <callback name="reserved7" c:type="reserved7">
3298                                 <return-value transfer-ownership="full">
3299                                         <type name="none"/>
3300                                 </return-value>
3301                                 <parameters>
3302                                         <parameter name="self" transfer-ownership="none">
3303                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3304                                         </parameter>
3305                                 </parameters>
3306                         </callback>
3307                 </field>
3308                                 <field name="reserved8">
3309                         <callback name="reserved8" c:type="reserved8">
3310                                 <return-value transfer-ownership="full">
3311                                         <type name="none"/>
3312                                 </return-value>
3313                                 <parameters>
3314                                         <parameter name="self" transfer-ownership="none">
3315                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3316                                         </parameter>
3317                                 </parameters>
3318                         </callback>
3319                 </field>
3320                                 <field name="reserved9">
3321                         <callback name="reserved9" c:type="reserved9">
3322                                 <return-value transfer-ownership="full">
3323                                         <type name="none"/>
3324                                 </return-value>
3325                                 <parameters>
3326                                         <parameter name="self" transfer-ownership="none">
3327                                                 <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
3328                                         </parameter>
3329                                 </parameters>
3330                         </callback>
3331                 </field>
3332         </record>
3333         <record name="AbstractSortedSetPrivate" c:type="GeeAbstractSortedSetPrivate" disguised="1"/>
3334         <class name="ArrayList" c:type="GeeArrayList" glib:type-name="GeeArrayList" glib:get-type="gee_array_list_get_type" glib:type-struct="ArrayListClass" parent="Gee.AbstractBidirList">
3335                 <field name="parent_instance">
3336                         <type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList"/>
3337                 </field>
3338                 <field name="priv">
3339                         <type name="ArrayListPrivate" c:type="GeeArrayListPrivate*"/>
3340                 </field>
3341                 <constructor name="new" c:identifier="gee_array_list_new">
3342                         <return-value transfer-ownership="full">
3343                                 <type name="Gee.ArrayList" c:type="GeeArrayList*"/>
3344                         </return-value>
3345                         <parameters>
3346                                 <parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
3347                                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3348                                 </parameter>
3349                                 <parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
3350                                         <type name="gpointer" c:type="void*"/>
3351                                 </parameter>
3352                                 <parameter name="equal_func_target_destroy_notify" transfer-ownership="none">
3353                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3354                                 </parameter>
3355                         </parameters>
3356                 </constructor>
3357                 <constructor name="wrap" c:identifier="gee_array_list_new_wrap">
3358                         <return-value transfer-ownership="full">
3359                                 <type name="Gee.ArrayList" c:type="GeeArrayList*"/>
3360                         </return-value>
3361                         <parameters>
3362                                 <parameter name="items" transfer-ownership="full">
3363                                         <array length="1">
3364                                                 <type name="gpointer" c:type="gpointer"/>
3365                                         </array>
3366                                 </parameter>
3367                                 <parameter name="items_length1" transfer-ownership="none">
3368                                         <type name="gint" c:type="gint"/>
3369                                 </parameter>
3370                                 <parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="3" destroy="4">
3371                                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3372                                 </parameter>
3373                                 <parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
3374                                         <type name="gpointer" c:type="void*"/>
3375                                 </parameter>
3376                                 <parameter name="equal_func_target_destroy_notify" transfer-ownership="none">
3377                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3378                                 </parameter>
3379                         </parameters>
3380                 </constructor>
3381                 <method name="add_all" c:identifier="gee_array_list_add_all">
3382                         <return-value transfer-ownership="full">
3383                                 <type name="gboolean" c:type="gboolean"/>
3384                         </return-value>
3385                         <parameters>
3386                                 <parameter name="collection" transfer-ownership="none">
3387                                         <type name="Gee.Collection" c:type="GeeCollection*">
3388                                                 <type name="gpointer" c:type="gpointer"/>
3389                                         </type>
3390                                 </parameter>
3391                         </parameters>
3392                 </method>
3393                 <property name="equal-func" writable="1">
3394                         <annotation key="ccode.notify" value="false"/>
3395                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3396                 </property>
3397         </class>
3398         <record name="ArrayListClass" c:type="GeeArrayListClass" glib:is-gtype-struct-for="ArrayList">
3399                 <field name="parent_class">
3400                         <type name="Gee.AbstractBidirListClass" c:type="GeeAbstractBidirListClass"/>
3401                 </field>
3402         </record>
3403         <record name="ArrayListPrivate" c:type="GeeArrayListPrivate" disguised="1"/>
3404         <class name="ArrayQueue" c:type="GeeArrayQueue" glib:type-name="GeeArrayQueue" glib:get-type="gee_array_queue_get_type" glib:type-struct="ArrayQueueClass" parent="Gee.AbstractQueue">
3405                 <implements name="Gee.Deque"/>
3406                 <field name="parent_instance">
3407                         <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue"/>
3408                 </field>
3409                 <field name="priv">
3410                         <type name="ArrayQueuePrivate" c:type="GeeArrayQueuePrivate*"/>
3411                 </field>
3412                 <constructor name="new" c:identifier="gee_array_queue_new">
3413                         <return-value transfer-ownership="full">
3414                                 <type name="Gee.ArrayQueue" c:type="GeeArrayQueue*"/>
3415                         </return-value>
3416                         <parameters>
3417                                 <parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
3418                                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3419                                 </parameter>
3420                                 <parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
3421                                         <type name="gpointer" c:type="void*"/>
3422                                 </parameter>
3423                                 <parameter name="equal_func_target_destroy_notify" transfer-ownership="none">
3424                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3425                                 </parameter>
3426                         </parameters>
3427                 </constructor>
3428                 <property name="equal-func" writable="1">
3429                         <annotation key="ccode.notify" value="false"/>
3430                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3431                 </property>
3432                 <property name="is-empty">
3433                         <type name="gboolean" c:type="gboolean"/>
3434                 </property>
3435         </class>
3436         <record name="ArrayQueueClass" c:type="GeeArrayQueueClass" glib:is-gtype-struct-for="ArrayQueue">
3437                 <field name="parent_class">
3438                         <type name="Gee.AbstractQueueClass" c:type="GeeAbstractQueueClass"/>
3439                 </field>
3440         </record>
3441         <record name="ArrayQueuePrivate" c:type="GeeArrayQueuePrivate" disguised="1"/>
3442         <class name="ConcurrentList" c:type="GeeConcurrentList" glib:type-name="GeeConcurrentList" glib:get-type="gee_concurrent_list_get_type" glib:type-struct="ConcurrentListClass" parent="Gee.AbstractList">
3443                 <field name="parent_instance">
3444                         <type name="Gee.AbstractList" c:type="GeeAbstractList"/>
3445                 </field>
3446                 <field name="priv">
3447                         <type name="ConcurrentListPrivate" c:type="GeeConcurrentListPrivate*"/>
3448                 </field>
3449                 <constructor name="new" c:identifier="gee_concurrent_list_new">
3450                         <return-value transfer-ownership="full">
3451                                 <type name="Gee.ConcurrentList" c:type="GeeConcurrentList*"/>
3452                         </return-value>
3453                         <parameters>
3454                                 <parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
3455                                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3456                                 </parameter>
3457                                 <parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
3458                                         <type name="gpointer" c:type="void*"/>
3459                                 </parameter>
3460                                 <parameter name="equal_func_target_destroy_notify" transfer-ownership="none">
3461                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3462                                 </parameter>
3463                         </parameters>
3464                 </constructor>
3465                 <property name="equal-func" writable="1">
3466                         <annotation key="ccode.notify" value="false"/>
3467                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3468                 </property>
3469                 <property name="is-empty">
3470                         <type name="gboolean" c:type="gboolean"/>
3471                 </property>
3472         </class>
3473         <record name="ConcurrentListClass" c:type="GeeConcurrentListClass" glib:is-gtype-struct-for="ConcurrentList">
3474                 <field name="parent_class">
3475                         <type name="Gee.AbstractListClass" c:type="GeeAbstractListClass"/>
3476                 </field>
3477         </record>
3478         <record name="ConcurrentListPrivate" c:type="GeeConcurrentListPrivate" disguised="1"/>
3479         <class name="ConcurrentSet" c:type="GeeConcurrentSet" glib:type-name="GeeConcurrentSet" glib:get-type="gee_concurrent_set_get_type" glib:type-struct="ConcurrentSetClass" parent="Gee.AbstractSortedSet">
3480                 <field name="parent_instance">
3481                         <type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet"/>
3482                 </field>
3483                 <field name="priv">
3484                         <type name="ConcurrentSetPrivate" c:type="GeeConcurrentSetPrivate*"/>
3485                 </field>
3486                 <constructor name="new" c:identifier="gee_concurrent_set_new">
3487                         <return-value transfer-ownership="full">
3488                                 <type name="Gee.ConcurrentSet" c:type="GeeConcurrentSet*"/>
3489                         </return-value>
3490                         <parameters>
3491                                 <parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
3492                                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
3493                                 </parameter>
3494                                 <parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
3495                                         <type name="gpointer" c:type="void*"/>
3496                                 </parameter>
3497                                 <parameter name="compare_func_target_destroy_notify" transfer-ownership="none">
3498                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3499                                 </parameter>
3500                         </parameters>
3501                 </constructor>
3502         </class>
3503         <record name="ConcurrentSetClass" c:type="GeeConcurrentSetClass" glib:is-gtype-struct-for="ConcurrentSet">
3504                 <field name="parent_class">
3505                         <type name="Gee.AbstractSortedSetClass" c:type="GeeAbstractSortedSetClass"/>
3506                 </field>
3507         </record>
3508         <record name="ConcurrentSetPrivate" c:type="GeeConcurrentSetPrivate" disguised="1"/>
3509         <enumeration name="ConcurrentSetRangeType" c:type="GeeConcurrentSetRangeType" glib:type-name="GeeConcurrentSetRangeType" glib:get-type="gee_concurrent_set_range_type_get_type">
3510                 <member name="head" c:identifier="GEE_CONCURRENT_SET_RANGE_TYPE_HEAD" value="0"/>
3511                 <member name="tail" c:identifier="GEE_CONCURRENT_SET_RANGE_TYPE_TAIL" value="1"/>
3512                 <member name="bounded" c:identifier="GEE_CONCURRENT_SET_RANGE_TYPE_BOUNDED" value="2"/>
3513                 <member name="empty" c:identifier="GEE_CONCURRENT_SET_RANGE_TYPE_EMPTY" value="3"/>
3514         </enumeration>
3515         <class name="HashMap" c:type="GeeHashMap" glib:type-name="GeeHashMap" glib:get-type="gee_hash_map_get_type" glib:type-struct="HashMapClass" parent="Gee.AbstractMap">
3516                 <field name="parent_instance">
3517                         <type name="Gee.AbstractMap" c:type="GeeAbstractMap"/>
3518                 </field>
3519                 <field name="priv">
3520                         <type name="HashMapPrivate" c:type="GeeHashMapPrivate*"/>
3521                 </field>
3522                 <constructor name="new" c:identifier="gee_hash_map_new">
3523                         <return-value transfer-ownership="full">
3524                                 <type name="Gee.HashMap" c:type="GeeHashMap*"/>
3525                         </return-value>
3526                         <parameters>
3527                                 <parameter name="key_hash_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
3528                                         <type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
3529                                 </parameter>
3530                                 <parameter name="key_hash_func_target" transfer-ownership="none" allow-none="1">
3531                                         <type name="gpointer" c:type="void*"/>
3532                                 </parameter>
3533                                 <parameter name="key_hash_func_target_destroy_notify" transfer-ownership="none">
3534                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3535                                 </parameter>
3536                                 <parameter name="key_equal_func" transfer-ownership="none" allow-none="1" closure="4" destroy="5">
3537                                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3538                                 </parameter>
3539                                 <parameter name="key_equal_func_target" transfer-ownership="none" allow-none="1">
3540                                         <type name="gpointer" c:type="void*"/>
3541                                 </parameter>
3542                                 <parameter name="key_equal_func_target_destroy_notify" transfer-ownership="none">
3543                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3544                                 </parameter>
3545                                 <parameter name="value_equal_func" transfer-ownership="none" allow-none="1" closure="7" destroy="8">
3546                                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3547                                 </parameter>
3548                                 <parameter name="value_equal_func_target" transfer-ownership="none" allow-none="1">
3549                                         <type name="gpointer" c:type="void*"/>
3550                                 </parameter>
3551                                 <parameter name="value_equal_func_target_destroy_notify" transfer-ownership="none">
3552                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3553                                 </parameter>
3554                         </parameters>
3555                 </constructor>
3556                 <property name="key-hash-func" writable="1">
3557                         <annotation key="ccode.notify" value="false"/>
3558                         <type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
3559                 </property>
3560                 <property name="key-equal-func" writable="1">
3561                         <annotation key="ccode.notify" value="false"/>
3562                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3563                 </property>
3564                 <property name="value-equal-func" writable="1">
3565                         <annotation key="ccode.notify" value="false"/>
3566                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3567                 </property>
3568         </class>
3569         <record name="HashMapClass" c:type="GeeHashMapClass" glib:is-gtype-struct-for="HashMap">
3570                 <field name="parent_class">
3571                         <type name="Gee.AbstractMapClass" c:type="GeeAbstractMapClass"/>
3572                 </field>
3573         </record>
3574         <record name="HashMapPrivate" c:type="GeeHashMapPrivate" disguised="1"/>
3575         <class name="HashMultiMap" c:type="GeeHashMultiMap" glib:type-name="GeeHashMultiMap" glib:get-type="gee_hash_multi_map_get_type" glib:type-struct="HashMultiMapClass" parent="Gee.AbstractMultiMap">
3576                 <field name="parent_instance">
3577                         <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap"/>
3578                 </field>
3579                 <field name="priv">
3580                         <type name="HashMultiMapPrivate" c:type="GeeHashMultiMapPrivate*"/>
3581                 </field>
3582                 <constructor name="new" c:identifier="gee_hash_multi_map_new">
3583                         <return-value transfer-ownership="full">
3584                                 <type name="Gee.HashMultiMap" c:type="GeeHashMultiMap*"/>
3585                         </return-value>
3586                         <parameters>
3587                                 <parameter name="key_hash_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
3588                                         <type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
3589                                 </parameter>
3590                                 <parameter name="key_hash_func_target" transfer-ownership="none" allow-none="1">
3591                                         <type name="gpointer" c:type="void*"/>
3592                                 </parameter>
3593                                 <parameter name="key_hash_func_target_destroy_notify" transfer-ownership="none">
3594                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3595                                 </parameter>
3596                                 <parameter name="key_equal_func" transfer-ownership="none" allow-none="1" closure="4" destroy="5">
3597                                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3598                                 </parameter>
3599                                 <parameter name="key_equal_func_target" transfer-ownership="none" allow-none="1">
3600                                         <type name="gpointer" c:type="void*"/>
3601                                 </parameter>
3602                                 <parameter name="key_equal_func_target_destroy_notify" transfer-ownership="none">
3603                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3604                                 </parameter>
3605                                 <parameter name="value_hash_func" transfer-ownership="none" allow-none="1" closure="7" destroy="8">
3606                                         <type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
3607                                 </parameter>
3608                                 <parameter name="value_hash_func_target" transfer-ownership="none" allow-none="1">
3609                                         <type name="gpointer" c:type="void*"/>
3610                                 </parameter>
3611                                 <parameter name="value_hash_func_target_destroy_notify" transfer-ownership="none">
3612                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3613                                 </parameter>
3614                                 <parameter name="value_equal_func" transfer-ownership="none" allow-none="1" closure="10" destroy="11">
3615                                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3616                                 </parameter>
3617                                 <parameter name="value_equal_func_target" transfer-ownership="none" allow-none="1">
3618                                         <type name="gpointer" c:type="void*"/>
3619                                 </parameter>
3620                                 <parameter name="value_equal_func_target_destroy_notify" transfer-ownership="none">
3621                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3622                                 </parameter>
3623                         </parameters>
3624                 </constructor>
3625                 <property name="key-hash-func">
3626                         <type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
3627                 </property>
3628                 <property name="key-equal-func">
3629                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3630                 </property>
3631                 <property name="value-hash-func" writable="1">
3632                         <annotation key="ccode.notify" value="false"/>
3633                         <type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
3634                 </property>
3635                 <property name="value-equal-func" writable="1">
3636                         <annotation key="ccode.notify" value="false"/>
3637                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3638                 </property>
3639         </class>
3640         <record name="HashMultiMapClass" c:type="GeeHashMultiMapClass" glib:is-gtype-struct-for="HashMultiMap">
3641                 <field name="parent_class">
3642                         <type name="Gee.AbstractMultiMapClass" c:type="GeeAbstractMultiMapClass"/>
3643                 </field>
3644         </record>
3645         <record name="HashMultiMapPrivate" c:type="GeeHashMultiMapPrivate" disguised="1"/>
3646         <class name="HashMultiSet" c:type="GeeHashMultiSet" glib:type-name="GeeHashMultiSet" glib:get-type="gee_hash_multi_set_get_type" glib:type-struct="HashMultiSetClass" parent="Gee.AbstractMultiSet">
3647                 <field name="parent_instance">
3648                         <type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet"/>
3649                 </field>
3650                 <field name="priv">
3651                         <type name="HashMultiSetPrivate" c:type="GeeHashMultiSetPrivate*"/>
3652                 </field>
3653                 <constructor name="new" c:identifier="gee_hash_multi_set_new">
3654                         <return-value transfer-ownership="full">
3655                                 <type name="Gee.HashMultiSet" c:type="GeeHashMultiSet*"/>
3656                         </return-value>
3657                         <parameters>
3658                                 <parameter name="hash_func" transfer-ownership="none" allow-none="1" closure="1">
3659                                         <type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
3660                                 </parameter>
3661                                 <parameter name="hash_func_target" transfer-ownership="none" allow-none="1">
3662                                         <type name="gpointer" c:type="void*"/>
3663                                 </parameter>
3664                                 <parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="3">
3665                                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3666                                 </parameter>
3667                                 <parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
3668                                         <type name="gpointer" c:type="void*"/>
3669                                 </parameter>
3670                         </parameters>
3671                 </constructor>
3672                 <property name="hash-func">
3673                         <type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
3674                 </property>
3675                 <property name="equal-func">
3676                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3677                 </property>
3678         </class>
3679         <record name="HashMultiSetClass" c:type="GeeHashMultiSetClass" glib:is-gtype-struct-for="HashMultiSet">
3680                 <field name="parent_class">
3681                         <type name="Gee.AbstractMultiSetClass" c:type="GeeAbstractMultiSetClass"/>
3682                 </field>
3683         </record>
3684         <record name="HashMultiSetPrivate" c:type="GeeHashMultiSetPrivate" disguised="1"/>
3685         <class name="HashSet" c:type="GeeHashSet" glib:type-name="GeeHashSet" glib:get-type="gee_hash_set_get_type" glib:type-struct="HashSetClass" parent="Gee.AbstractSet">
3686                 <field name="parent_instance">
3687                         <type name="Gee.AbstractSet" c:type="GeeAbstractSet"/>
3688                 </field>
3689                 <field name="priv">
3690                         <type name="HashSetPrivate" c:type="GeeHashSetPrivate*"/>
3691                 </field>
3692                 <constructor name="new" c:identifier="gee_hash_set_new">
3693                         <return-value transfer-ownership="full">
3694                                 <type name="Gee.HashSet" c:type="GeeHashSet*"/>
3695                         </return-value>
3696                         <parameters>
3697                                 <parameter name="hash_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
3698                                         <type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
3699                                 </parameter>
3700                                 <parameter name="hash_func_target" transfer-ownership="none" allow-none="1">
3701                                         <type name="gpointer" c:type="void*"/>
3702                                 </parameter>
3703                                 <parameter name="hash_func_target_destroy_notify" transfer-ownership="none">
3704                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3705                                 </parameter>
3706                                 <parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="4" destroy="5">
3707                                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3708                                 </parameter>
3709                                 <parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
3710                                         <type name="gpointer" c:type="void*"/>
3711                                 </parameter>
3712                                 <parameter name="equal_func_target_destroy_notify" transfer-ownership="none">
3713                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3714                                 </parameter>
3715                         </parameters>
3716                 </constructor>
3717                 <property name="hash-func" writable="1">
3718                         <annotation key="ccode.notify" value="false"/>
3719                         <type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
3720                 </property>
3721                 <property name="equal-func" writable="1">
3722                         <annotation key="ccode.notify" value="false"/>
3723                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
3724                 </property>
3725         </class>
3726         <record name="HashSetClass" c:type="GeeHashSetClass" glib:is-gtype-struct-for="HashSet">
3727                 <field name="parent_class">
3728                         <type name="Gee.AbstractSetClass" c:type="GeeAbstractSetClass"/>
3729                 </field>
3730         </record>
3731         <record name="HashSetPrivate" c:type="GeeHashSetPrivate" disguised="1"/>
3732         <record name="HazardPointer">
3733                 <constructor name="new" c:identifier="gee_hazard_pointer_new">
3734                         <return-value transfer-ownership="full">
3735                                 <type name="Gee.HazardPointer" c:type="GeeHazardPointer*"/>
3736                         </return-value>
3737                         <parameters>
3738                                 <parameter name="ptr" transfer-ownership="none" allow-none="1">
3739                                         <type name="gpointer" c:type="gconstpointer*"/>
3740                                 </parameter>
3741                         </parameters>
3742                 </constructor>
3743                 <function name="get_hazard_pointer" c:identifier="gee_hazard_pointer_get_hazard_pointer">
3744                         <return-value transfer-ownership="full" allow-none="1">
3745                                 <type name="Gee.HazardPointer" c:type="GeeHazardPointer*">
3746                                         <type name="gpointer" c:type="gpointer"/>
3747                                 </type>
3748                         </return-value>
3749                         <parameters>
3750                                 <parameter name="aptr" transfer-ownership="none" allow-none="1">
3751                                         <type name="gpointer" c:type="gconstpointer**"/>
3752                                 </parameter>
3753                                 <parameter name="mask" transfer-ownership="none">
3754                                         <type name="gulong" c:type="gsize"/>
3755                                 </parameter>
3756                                 <parameter name="mask_out" direction="out" transfer-ownership="full">
3757                                         <type name="gulong" c:type="gsize"/>
3758                                 </parameter>
3759                         </parameters>
3760                 </function>
3761                 <function name="get_pointer" c:identifier="gee_hazard_pointer_get_pointer">
3762                         <return-value transfer-ownership="full" allow-none="1">
3763                                 <type name="gpointer" c:type="gpointer"/>
3764                         </return-value>
3765                         <parameters>
3766                                 <parameter name="aptr" transfer-ownership="none" allow-none="1">
3767                                         <type name="gpointer" c:type="gconstpointer**"/>
3768                                 </parameter>
3769                                 <parameter name="mask" transfer-ownership="none">
3770                                         <type name="gulong" c:type="gsize"/>
3771                                 </parameter>
3772                                 <parameter name="mask_out" direction="out" transfer-ownership="full">
3773                                         <type name="gulong" c:type="gsize"/>
3774                                 </parameter>
3775                         </parameters>
3776                 </function>
3777                 <function name="exchange_hazard_pointer" c:identifier="gee_hazard_pointer_exchange_hazard_pointer">
3778                         <return-value transfer-ownership="full" allow-none="1">
3779                                 <type name="Gee.HazardPointer" c:type="GeeHazardPointer*">
3780                                         <type name="gpointer" c:type="gpointer"/>
3781                                 </type>
3782                         </return-value>
3783                         <parameters>
3784                                 <parameter name="aptr" transfer-ownership="none" allow-none="1">
3785                                         <type name="gpointer" c:type="gconstpointer**"/>
3786                                 </parameter>
3787                                 <parameter name="new_ptr" transfer-ownership="full" allow-none="1">
3788                                         <type name="gpointer" c:type="gpointer"/>
3789                                 </parameter>
3790                                 <parameter name="mask" transfer-ownership="none">
3791                                         <type name="gulong" c:type="gsize"/>
3792                                 </parameter>
3793                                 <parameter name="new_mask" transfer-ownership="none">
3794                                         <type name="gulong" c:type="gsize"/>
3795                                 </parameter>
3796                                 <parameter name="old_mask" direction="out" transfer-ownership="full">
3797                                         <type name="gulong" c:type="gsize"/>
3798                                 </parameter>
3799                         </parameters>
3800                 </function>
3801                 <function name="set_pointer" c:identifier="gee_hazard_pointer_set_pointer">
3802                         <return-value transfer-ownership="full">
3803                                 <type name="none"/>
3804                         </return-value>
3805                         <parameters>
3806                                 <parameter name="aptr" transfer-ownership="none" allow-none="1">
3807                                         <type name="gpointer" c:type="gconstpointer**"/>
3808                                 </parameter>
3809                                 <parameter name="new_ptr" transfer-ownership="full" allow-none="1">
3810                                         <type name="gpointer" c:type="gpointer"/>
3811                                 </parameter>
3812                                 <parameter name="mask" transfer-ownership="none">
3813                                         <type name="gulong" c:type="gsize"/>
3814                                 </parameter>
3815                                 <parameter name="new_mask" transfer-ownership="none">
3816                                         <type name="gulong" c:type="gsize"/>
3817                                 </parameter>
3818                         </parameters>
3819                 </function>
3820                 <function name="exchange_pointer" c:identifier="gee_hazard_pointer_exchange_pointer">
3821                         <return-value transfer-ownership="full" allow-none="1">
3822                                 <type name="gpointer" c:type="gpointer"/>
3823                         </return-value>
3824                         <parameters>
3825                                 <parameter name="aptr" transfer-ownership="none" allow-none="1">
3826                                         <type name="gpointer" c:type="gconstpointer**"/>
3827                                 </parameter>
3828                                 <parameter name="new_ptr" transfer-ownership="full" allow-none="1">
3829                                         <type name="gpointer" c:type="gpointer"/>
3830                                 </parameter>
3831                                 <parameter name="mask" transfer-ownership="none">
3832                                         <type name="gulong" c:type="gsize"/>
3833                                 </parameter>
3834                                 <parameter name="new_mask" transfer-ownership="none">
3835                                         <type name="gulong" c:type="gsize"/>
3836                                 </parameter>
3837                                 <parameter name="old_mask" direction="out" transfer-ownership="full">
3838                                         <type name="gulong" c:type="gsize"/>
3839                                 </parameter>
3840                         </parameters>
3841                 </function>
3842                 <function name="compare_and_exchange_pointer" c:identifier="gee_hazard_pointer_compare_and_exchange_pointer">
3843                         <return-value transfer-ownership="full">
3844                                 <type name="gboolean" c:type="gboolean"/>
3845                         </return-value>
3846                         <parameters>
3847                                 <parameter name="aptr" transfer-ownership="none" allow-none="1">
3848                                         <type name="gpointer" c:type="gconstpointer**"/>
3849                                 </parameter>
3850                                 <parameter name="old_ptr" transfer-ownership="none" allow-none="1">
3851                                         <type name="gpointer" c:type="gpointer"/>
3852                                 </parameter>
3853                                 <parameter name="_new_ptr" transfer-ownership="full" allow-none="1">
3854                                         <type name="gpointer" c:type="gpointer"/>
3855                                 </parameter>
3856                                 <parameter name="mask" transfer-ownership="none">
3857                                         <type name="gulong" c:type="gsize"/>
3858                                 </parameter>
3859                                 <parameter name="old_mask" transfer-ownership="none">
3860                                         <type name="gulong" c:type="gsize"/>
3861                                 </parameter>
3862                                 <parameter name="new_mask" transfer-ownership="none">
3863                                         <type name="gulong" c:type="gsize"/>
3864                                 </parameter>
3865                         </parameters>
3866                 </function>
3867                 <method name="get" c:identifier="gee_hazard_pointer_get">
3868                         <return-value transfer-ownership="none" allow-none="1">
3869                                 <type name="gpointer" c:type="gpointer"/>
3870                         </return-value>
3871                         <parameters>
3872                                 <parameter name="other_thread" transfer-ownership="none">
3873                                         <type name="gboolean" c:type="gboolean"/>
3874                                 </parameter>
3875                         </parameters>
3876                 </method>
3877                 <method name="release" c:identifier="gee_hazard_pointer_release">
3878                         <return-value transfer-ownership="full">
3879                                 <type name="none"/>
3880                         </return-value>
3881                         <parameters>
3882                                 <parameter name="notify" transfer-ownership="none" closure="1" destroy="2">
3883                                         <type name="Gee.HazardPointerDestroyNotify" c:type="GeeHazardPointerDestroyNotify"/>
3884                                 </parameter>
3885                                 <parameter name="notify_target" transfer-ownership="none" allow-none="1">
3886                                         <type name="gpointer" c:type="void*"/>
3887                                 </parameter>
3888                                 <parameter name="notify_target_destroy_notify" transfer-ownership="none">
3889                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3890                                 </parameter>
3891                         </parameters>
3892                 </method>
3893                 <function name="set_default_policy" c:identifier="gee_hazard_pointer_set_default_policy">
3894                         <return-value transfer-ownership="full">
3895                                 <type name="none"/>
3896                         </return-value>
3897                         <parameters>
3898                                 <parameter name="policy" transfer-ownership="none">
3899                                         <type name="Gee.HazardPointerPolicy" c:type="GeeHazardPointerPolicy"/>
3900                                 </parameter>
3901                         </parameters>
3902                 </function>
3903                 <function name="set_thread_exit_policy" c:identifier="gee_hazard_pointer_set_thread_exit_policy">
3904                         <return-value transfer-ownership="full">
3905                                 <type name="none"/>
3906                         </return-value>
3907                         <parameters>
3908                                 <parameter name="policy" transfer-ownership="none">
3909                                         <type name="Gee.HazardPointerPolicy" c:type="GeeHazardPointerPolicy"/>
3910                                 </parameter>
3911                         </parameters>
3912                 </function>
3913                 <function name="set_release_policy" c:identifier="gee_hazard_pointer_set_release_policy">
3914                         <return-value transfer-ownership="full">
3915                                 <type name="gboolean" c:type="gboolean"/>
3916                         </return-value>
3917                         <parameters>
3918                                 <parameter name="policy" transfer-ownership="none">
3919                                         <type name="Gee.HazardPointerReleasePolicy" c:type="GeeHazardPointerReleasePolicy"/>
3920                                 </parameter>
3921                         </parameters>
3922                 </function>
3923                 <callback name="DestroyNotify" c:type="GeeHazardPointerDestroyNotify">
3924                         <return-value transfer-ownership="full">
3925                                 <type name="none"/>
3926                         </return-value>
3927                         <parameters>
3928                                 <parameter name="ptr" transfer-ownership="none" allow-none="1">
3929                                         <type name="gpointer" c:type="void*"/>
3930                                 </parameter>
3931                                 <parameter name="user_data" transfer-ownership="none" closure="1">
3932                                         <type name="gpointer" c:type="void*"/>
3933                                 </parameter>
3934                         </parameters>
3935                 </callback>
3936         </record>
3937         <enumeration name="HazardPointerPolicy" c:type="GeeHazardPointerPolicy" glib:type-name="GeeHazardPointerPolicy" glib:get-type="gee_hazard_pointer_policy_get_type">
3938                 <member name="default" c:identifier="GEE_HAZARD_POINTER_POLICY_DEFAULT" value="0"/>
3939                 <member name="thread_exit" c:identifier="GEE_HAZARD_POINTER_POLICY_THREAD_EXIT" value="1"/>
3940                 <member name="try_free" c:identifier="GEE_HAZARD_POINTER_POLICY_TRY_FREE" value="2"/>
3941                 <member name="free" c:identifier="GEE_HAZARD_POINTER_POLICY_FREE" value="3"/>
3942                 <member name="try_release" c:identifier="GEE_HAZARD_POINTER_POLICY_TRY_RELEASE" value="4"/>
3943                 <member name="release" c:identifier="GEE_HAZARD_POINTER_POLICY_RELEASE" value="5"/>
3944         </enumeration>
3945         <function name="hazard_pointer_policy_is_concrete" c:identifier="gee_hazard_pointer_policy_is_concrete">
3946                 <return-value transfer-ownership="full">
3947                         <type name="gboolean" c:type="gboolean"/>
3948                 </return-value>
3949         </function>
3950         <function name="hazard_pointer_policy_is_blocking" c:identifier="gee_hazard_pointer_policy_is_blocking">
3951                 <return-value transfer-ownership="full">
3952                         <type name="gboolean" c:type="gboolean"/>
3953                 </return-value>
3954         </function>
3955         <function name="hazard_pointer_policy_is_safe" c:identifier="gee_hazard_pointer_policy_is_safe">
3956                 <return-value transfer-ownership="full">
3957                         <type name="gboolean" c:type="gboolean"/>
3958                 </return-value>
3959         </function>
3960         <function name="hazard_pointer_policy_to_concrete" c:identifier="gee_hazard_pointer_policy_to_concrete">
3961                 <return-value transfer-ownership="full">
3962                         <type name="Gee.HazardPointerPolicy" c:type="GeeHazardPointerPolicy"/>
3963                 </return-value>
3964         </function>
3965         <enumeration name="HazardPointerReleasePolicy" c:type="GeeHazardPointerReleasePolicy" glib:type-name="GeeHazardPointerReleasePolicy" glib:get-type="gee_hazard_pointer_release_policy_get_type">
3966                 <member name="helper_thread" c:identifier="GEE_HAZARD_POINTER_RELEASE_POLICY_HELPER_THREAD" value="0"/>
3967                 <member name="main_loop" c:identifier="GEE_HAZARD_POINTER_RELEASE_POLICY_MAIN_LOOP" value="1"/>
3968         </enumeration>
3969         <record name="HazardPointerContext">
3970                 <constructor name="new" c:identifier="gee_hazard_pointer_context_new">
3971                         <return-value transfer-ownership="full">
3972                                 <type name="Gee.HazardPointerContext" c:type="GeeHazardPointerContext*"/>
3973                         </return-value>
3974                         <parameters>
3975                                 <parameter name="policy" transfer-ownership="none" allow-none="1">
3976                                         <type name="Gee.HazardPointerPolicy" c:type="GeeHazardPointerPolicy*"/>
3977                                 </parameter>
3978                         </parameters>
3979                 </constructor>
3980                 <method name="try_free" c:identifier="gee_hazard_pointer_context_try_free">
3981                         <return-value transfer-ownership="full">
3982                                 <type name="none"/>
3983                         </return-value>
3984                 </method>
3985                 <method name="free_all" c:identifier="gee_hazard_pointer_context_free_all">
3986                         <return-value transfer-ownership="full">
3987                                 <type name="none"/>
3988                         </return-value>
3989                 </method>
3990                 <method name="try_release" c:identifier="gee_hazard_pointer_context_try_release">
3991                         <return-value transfer-ownership="full">
3992                                 <type name="none"/>
3993                         </return-value>
3994                 </method>
3995                 <method name="release" c:identifier="gee_hazard_pointer_context_release">
3996                         <return-value transfer-ownership="full">
3997                                 <type name="none"/>
3998                         </return-value>
3999                 </method>
4000         </record>
4001         <record name="Lazy">
4002                 <constructor name="new" c:identifier="gee_lazy_new">
4003                         <return-value transfer-ownership="full">
4004                                 <type name="Gee.Lazy" c:type="GeeLazy*"/>
4005                         </return-value>
4006                         <parameters>
4007                                 <parameter name="func" transfer-ownership="none" closure="1" destroy="2">
4008                                         <type name="Gee.LazyFunc" c:type="GeeLazyFunc"/>
4009                                 </parameter>
4010                                 <parameter name="func_target" transfer-ownership="none" allow-none="1">
4011                                         <type name="gpointer" c:type="void*"/>
4012                                 </parameter>
4013                                 <parameter name="func_target_destroy_notify" transfer-ownership="none">
4014                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
4015                                 </parameter>
4016                         </parameters>
4017                 </constructor>
4018                 <constructor name="from_value" c:identifier="gee_lazy_new_from_value">
4019                         <return-value transfer-ownership="full">
4020                                 <type name="Gee.Lazy" c:type="GeeLazy*"/>
4021                         </return-value>
4022                         <parameters>
4023                                 <parameter name="item" transfer-ownership="none" allow-none="1">
4024                                         <type name="gpointer" c:type="gpointer"/>
4025                                 </parameter>
4026                         </parameters>
4027                 </constructor>
4028                 <method name="eval" c:identifier="gee_lazy_eval">
4029                         <return-value transfer-ownership="full">
4030                                 <type name="none"/>
4031                         </return-value>
4032                 </method>
4033                 <method name="get" c:identifier="gee_lazy_get">
4034                         <return-value transfer-ownership="full" allow-none="1">
4035                                 <type name="gpointer" c:type="gpointer"/>
4036                         </return-value>
4037                 </method>
4038                 <property name="value">
4039                         <type name="gpointer" c:type="gpointer"/>
4040                 </property>
4041         </record>
4042         <class name="LinkedList" c:type="GeeLinkedList" glib:type-name="GeeLinkedList" glib:get-type="gee_linked_list_get_type" glib:type-struct="LinkedListClass" parent="Gee.AbstractBidirList">
4043                 <implements name="Gee.Queue"/>
4044                 <implements name="Gee.Deque"/>
4045                 <field name="parent_instance">
4046                         <type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList"/>
4047                 </field>
4048                 <field name="priv">
4049                         <type name="LinkedListPrivate" c:type="GeeLinkedListPrivate*"/>
4050                 </field>
4051                 <constructor name="new" c:identifier="gee_linked_list_new">
4052                         <return-value transfer-ownership="full">
4053                                 <type name="Gee.LinkedList" c:type="GeeLinkedList*"/>
4054                         </return-value>
4055                         <parameters>
4056                                 <parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
4057                                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
4058                                 </parameter>
4059                                 <parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
4060                                         <type name="gpointer" c:type="void*"/>
4061                                 </parameter>
4062                                 <parameter name="equal_func_target_destroy_notify" transfer-ownership="none">
4063                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
4064                                 </parameter>
4065                         </parameters>
4066                 </constructor>
4067                 <method name="first" c:identifier="gee_linked_list_first">
4068                         <return-value transfer-ownership="full" allow-none="1">
4069                                 <type name="gpointer" c:type="gpointer"/>
4070                         </return-value>
4071                 </method>
4072                 <method name="last" c:identifier="gee_linked_list_last">
4073                         <return-value transfer-ownership="full" allow-none="1">
4074                                 <type name="gpointer" c:type="gpointer"/>
4075                         </return-value>
4076                 </method>
4077                 <property name="equal-func" writable="1">
4078                         <annotation key="ccode.notify" value="false"/>
4079                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
4080                 </property>
4081         </class>
4082         <record name="LinkedListClass" c:type="GeeLinkedListClass" glib:is-gtype-struct-for="LinkedList">
4083                 <field name="parent_class">
4084                         <type name="Gee.AbstractBidirListClass" c:type="GeeAbstractBidirListClass"/>
4085                 </field>
4086         </record>
4087         <record name="LinkedListPrivate" c:type="GeeLinkedListPrivate" disguised="1"/>
4088         <class name="PriorityQueue" c:type="GeePriorityQueue" glib:type-name="GeePriorityQueue" glib:get-type="gee_priority_queue_get_type" glib:type-struct="PriorityQueueClass" parent="Gee.AbstractQueue">
4089                 <field name="parent_instance">
4090                         <type name="Gee.AbstractQueue" c:type="GeeAbstractQueue"/>
4091                 </field>
4092                 <field name="priv">
4093                         <type name="PriorityQueuePrivate" c:type="GeePriorityQueuePrivate*"/>
4094                 </field>
4095                 <constructor name="new" c:identifier="gee_priority_queue_new">
4096                         <return-value transfer-ownership="full">
4097                                 <type name="Gee.PriorityQueue" c:type="GeePriorityQueue*"/>
4098                         </return-value>
4099                         <parameters>
4100                                 <parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
4101                                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
4102                                 </parameter>
4103                                 <parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
4104                                         <type name="gpointer" c:type="void*"/>
4105                                 </parameter>
4106                                 <parameter name="compare_func_target_destroy_notify" transfer-ownership="none">
4107                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
4108                                 </parameter>
4109                         </parameters>
4110                 </constructor>
4111                 <method name="offer" c:identifier="gee_priority_queue_offer">
4112                         <return-value transfer-ownership="full">
4113                                 <type name="gboolean" c:type="gboolean"/>
4114                         </return-value>
4115                         <parameters>
4116                                 <parameter name="element" transfer-ownership="none" allow-none="1">
4117                                         <type name="gpointer" c:type="gpointer"/>
4118                                 </parameter>
4119                         </parameters>
4120                 </method>
4121                 <method name="drain" c:identifier="gee_priority_queue_drain">
4122                         <return-value transfer-ownership="full">
4123                                 <type name="gint" c:type="gint"/>
4124                         </return-value>
4125                         <parameters>
4126                                 <parameter name="recipient" transfer-ownership="none">
4127                                         <type name="Gee.Collection" c:type="GeeCollection*">
4128                                                 <type name="gpointer" c:type="gpointer"/>
4129                                         </type>
4130                                 </parameter>
4131                                 <parameter name="amount" transfer-ownership="none">
4132                                         <type name="gint" c:type="gint"/>
4133                                 </parameter>
4134                         </parameters>
4135                 </method>
4136                 <property name="compare-func" writable="1">
4137                         <annotation key="ccode.notify" value="false"/>
4138                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
4139                 </property>
4140         </class>
4141         <record name="PriorityQueueClass" c:type="GeePriorityQueueClass" glib:is-gtype-struct-for="PriorityQueue">
4142                 <field name="parent_class">
4143                         <type name="Gee.AbstractQueueClass" c:type="GeeAbstractQueueClass"/>
4144                 </field>
4145         </record>
4146         <record name="PriorityQueuePrivate" c:type="GeePriorityQueuePrivate" disguised="1"/>
4147         <class name="TreeMap" c:type="GeeTreeMap" glib:type-name="GeeTreeMap" glib:get-type="gee_tree_map_get_type" glib:type-struct="TreeMapClass" parent="Gee.AbstractBidirSortedMap">
4148                 <field name="parent_instance">
4149                         <type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap"/>
4150                 </field>
4151                 <field name="priv">
4152                         <type name="TreeMapPrivate" c:type="GeeTreeMapPrivate*"/>
4153                 </field>
4154                 <constructor name="new" c:identifier="gee_tree_map_new">
4155                         <return-value transfer-ownership="full">
4156                                 <type name="Gee.TreeMap" c:type="GeeTreeMap*"/>
4157                         </return-value>
4158                         <parameters>
4159                                 <parameter name="key_compare_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
4160                                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
4161                                 </parameter>
4162                                 <parameter name="key_compare_func_target" transfer-ownership="none" allow-none="1">
4163                                         <type name="gpointer" c:type="void*"/>
4164                                 </parameter>
4165                                 <parameter name="key_compare_func_target_destroy_notify" transfer-ownership="none">
4166                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
4167                                 </parameter>
4168                                 <parameter name="value_equal_func" transfer-ownership="none" allow-none="1" closure="4" destroy="5">
4169                                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
4170                                 </parameter>
4171                                 <parameter name="value_equal_func_target" transfer-ownership="none" allow-none="1">
4172                                         <type name="gpointer" c:type="void*"/>
4173                                 </parameter>
4174                                 <parameter name="value_equal_func_target_destroy_notify" transfer-ownership="none">
4175                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
4176                                 </parameter>
4177                         </parameters>
4178                 </constructor>
4179                 <property name="key-compare-func" writable="1">
4180                         <annotation key="ccode.notify" value="false"/>
4181                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
4182                 </property>
4183                 <property name="value-equal-func" writable="1">
4184                         <annotation key="ccode.notify" value="false"/>
4185                         <type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
4186                 </property>
4187         </class>
4188         <record name="TreeMapClass" c:type="GeeTreeMapClass" glib:is-gtype-struct-for="TreeMap">
4189                 <field name="parent_class">
4190                         <type name="Gee.AbstractBidirSortedMapClass" c:type="GeeAbstractBidirSortedMapClass"/>
4191                 </field>
4192         </record>
4193         <record name="TreeMapPrivate" c:type="GeeTreeMapPrivate" disguised="1"/>
4194         <class name="TreeMultiMap" c:type="GeeTreeMultiMap" glib:type-name="GeeTreeMultiMap" glib:get-type="gee_tree_multi_map_get_type" glib:type-struct="TreeMultiMapClass" parent="Gee.AbstractMultiMap">
4195                 <field name="parent_instance">
4196                         <type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap"/>
4197                 </field>
4198                 <field name="priv">
4199                         <type name="TreeMultiMapPrivate" c:type="GeeTreeMultiMapPrivate*"/>
4200                 </field>
4201                 <constructor name="new" c:identifier="gee_tree_multi_map_new">
4202                         <return-value transfer-ownership="full">
4203                                 <type name="Gee.TreeMultiMap" c:type="GeeTreeMultiMap*"/>
4204                         </return-value>
4205                         <parameters>
4206                                 <parameter name="key_compare_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
4207                                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
4208                                 </parameter>
4209                                 <parameter name="key_compare_func_target" transfer-ownership="none" allow-none="1">
4210                                         <type name="gpointer" c:type="void*"/>
4211                                 </parameter>
4212                                 <parameter name="key_compare_func_target_destroy_notify" transfer-ownership="none">
4213                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
4214                                 </parameter>
4215                                 <parameter name="value_compare_func" transfer-ownership="none" allow-none="1" closure="4" destroy="5">
4216                                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
4217                                 </parameter>
4218                                 <parameter name="value_compare_func_target" transfer-ownership="none" allow-none="1">
4219                                         <type name="gpointer" c:type="void*"/>
4220                                 </parameter>
4221                                 <parameter name="value_compare_func_target_destroy_notify" transfer-ownership="none">
4222                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
4223                                 </parameter>
4224                         </parameters>
4225                 </constructor>
4226                 <property name="key-compare-func">
4227                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
4228                 </property>
4229                 <property name="value-compare-func" writable="1">
4230                         <annotation key="ccode.notify" value="false"/>
4231                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
4232                 </property>
4233         </class>
4234         <record name="TreeMultiMapClass" c:type="GeeTreeMultiMapClass" glib:is-gtype-struct-for="TreeMultiMap">
4235                 <field name="parent_class">
4236                         <type name="Gee.AbstractMultiMapClass" c:type="GeeAbstractMultiMapClass"/>
4237                 </field>
4238         </record>
4239         <record name="TreeMultiMapPrivate" c:type="GeeTreeMultiMapPrivate" disguised="1"/>
4240         <class name="TreeMultiSet" c:type="GeeTreeMultiSet" glib:type-name="GeeTreeMultiSet" glib:get-type="gee_tree_multi_set_get_type" glib:type-struct="TreeMultiSetClass" parent="Gee.AbstractMultiSet">
4241                 <field name="parent_instance">
4242                         <type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet"/>
4243                 </field>
4244                 <field name="priv">
4245                         <type name="TreeMultiSetPrivate" c:type="GeeTreeMultiSetPrivate*"/>
4246                 </field>
4247                 <constructor name="new" c:identifier="gee_tree_multi_set_new">
4248                         <return-value transfer-ownership="full">
4249                                 <type name="Gee.TreeMultiSet" c:type="GeeTreeMultiSet*"/>
4250                         </return-value>
4251                         <parameters>
4252                                 <parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
4253                                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
4254                                 </parameter>
4255                                 <parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
4256                                         <type name="gpointer" c:type="void*"/>
4257                                 </parameter>
4258                                 <parameter name="compare_func_target_destroy_notify" transfer-ownership="none">
4259                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
4260                                 </parameter>
4261                         </parameters>
4262                 </constructor>
4263                 <property name="compare-func">
4264                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
4265                 </property>
4266         </class>
4267         <record name="TreeMultiSetClass" c:type="GeeTreeMultiSetClass" glib:is-gtype-struct-for="TreeMultiSet">
4268                 <field name="parent_class">
4269                         <type name="Gee.AbstractMultiSetClass" c:type="GeeAbstractMultiSetClass"/>
4270                 </field>
4271         </record>
4272         <record name="TreeMultiSetPrivate" c:type="GeeTreeMultiSetPrivate" disguised="1"/>
4273         <class name="TreeSet" c:type="GeeTreeSet" glib:type-name="GeeTreeSet" glib:get-type="gee_tree_set_get_type" glib:type-struct="TreeSetClass" parent="Gee.AbstractBidirSortedSet">
4274                 <field name="parent_instance">
4275                         <type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet"/>
4276                 </field>
4277                 <field name="priv">
4278                         <type name="TreeSetPrivate" c:type="GeeTreeSetPrivate*"/>
4279                 </field>
4280                 <constructor name="new" c:identifier="gee_tree_set_new">
4281                         <return-value transfer-ownership="full">
4282                                 <type name="Gee.TreeSet" c:type="GeeTreeSet*"/>
4283                         </return-value>
4284                         <parameters>
4285                                 <parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
4286                                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
4287                                 </parameter>
4288                                 <parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
4289                                         <type name="gpointer" c:type="void*"/>
4290                                 </parameter>
4291                                 <parameter name="compare_func_target_destroy_notify" transfer-ownership="none">
4292                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
4293                                 </parameter>
4294                         </parameters>
4295                 </constructor>
4296                 <property name="compare-func" writable="1">
4297                         <annotation key="ccode.notify" value="false"/>
4298                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
4299                 </property>
4300         </class>
4301         <record name="TreeSetClass" c:type="GeeTreeSetClass" glib:is-gtype-struct-for="TreeSet">
4302                 <field name="parent_class">
4303                         <type name="Gee.AbstractBidirSortedSetClass" c:type="GeeAbstractBidirSortedSetClass"/>
4304                 </field>
4305         </record>
4306         <record name="TreeSetPrivate" c:type="GeeTreeSetPrivate" disguised="1"/>
4307         <interface name="BidirIterator" c:type="GeeBidirIterator" glib:type-name="GeeBidirIterator" glib:get-type="gee_bidir_iterator_get_type" glib:type-struct="BidirIteratorIface">
4308                 <prerequisite name="Gee.Iterator"/>
4309                 <method name="previous" c:identifier="gee_bidir_iterator_previous">
4310                         <return-value transfer-ownership="full">
4311                                 <type name="gboolean" c:type="gboolean"/>
4312                         </return-value>
4313                 </method>
4314                 <virtual-method name="previous" invoker="previous">
4315                         <return-value transfer-ownership="full">
4316                                 <type name="gboolean" c:type="gboolean"/>
4317                         </return-value>
4318                 </virtual-method>
4319                 <method name="has_previous" c:identifier="gee_bidir_iterator_has_previous">
4320                         <return-value transfer-ownership="full">
4321                                 <type name="gboolean" c:type="gboolean"/>
4322                         </return-value>
4323                 </method>
4324                 <virtual-method name="has_previous" invoker="has_previous">
4325                         <return-value transfer-ownership="full">
4326                                 <type name="gboolean" c:type="gboolean"/>
4327                         </return-value>
4328                 </virtual-method>
4329                 <method name="first" c:identifier="gee_bidir_iterator_first">
4330                         <return-value transfer-ownership="full">
4331                                 <type name="gboolean" c:type="gboolean"/>
4332                         </return-value>
4333                 </method>
4334                 <virtual-method name="first" invoker="first">
4335                         <return-value transfer-ownership="full">
4336                                 <type name="gboolean" c:type="gboolean"/>
4337                         </return-value>
4338                 </virtual-method>
4339                 <method name="last" c:identifier="gee_bidir_iterator_last">
4340                         <return-value transfer-ownership="full">
4341                                 <type name="gboolean" c:type="gboolean"/>
4342                         </return-value>
4343                 </method>
4344                 <virtual-method name="last" invoker="last">
4345                         <return-value transfer-ownership="full">
4346                                 <type name="gboolean" c:type="gboolean"/>
4347                         </return-value>
4348                 </virtual-method>
4349         </interface>
4350         <record name="BidirIteratorIface" c:type="GeeBidirIteratorIface" glib:is-gtype-struct-for="BidirIterator">
4351                 <field name="parent_iface">
4352                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
4353                 </field>
4354                 <field name="previous">
4355                         <callback name="previous" c:type="previous">
4356                                 <return-value transfer-ownership="full">
4357                                         <type name="gboolean" c:type="gboolean"/>
4358                                 </return-value>
4359                                 <parameters>
4360                                         <parameter name="self" transfer-ownership="none">
4361                                                 <type name="Gee.BidirIterator" c:type="GeeBidirIterator*"/>
4362                                         </parameter>
4363                                 </parameters>
4364                         </callback>
4365                 </field>
4366                 <field name="has_previous">
4367                         <callback name="has_previous" c:type="has_previous">
4368                                 <return-value transfer-ownership="full">
4369                                         <type name="gboolean" c:type="gboolean"/>
4370                                 </return-value>
4371                                 <parameters>
4372                                         <parameter name="self" transfer-ownership="none">
4373                                                 <type name="Gee.BidirIterator" c:type="GeeBidirIterator*"/>
4374                                         </parameter>
4375                                 </parameters>
4376                         </callback>
4377                 </field>
4378                 <field name="first">
4379                         <callback name="first" c:type="first">
4380                                 <return-value transfer-ownership="full">
4381                                         <type name="gboolean" c:type="gboolean"/>
4382                                 </return-value>
4383                                 <parameters>
4384                                         <parameter name="self" transfer-ownership="none">
4385                                                 <type name="Gee.BidirIterator" c:type="GeeBidirIterator*"/>
4386                                         </parameter>
4387                                 </parameters>
4388                         </callback>
4389                 </field>
4390                 <field name="last">
4391                         <callback name="last" c:type="last">
4392                                 <return-value transfer-ownership="full">
4393                                         <type name="gboolean" c:type="gboolean"/>
4394                                 </return-value>
4395                                 <parameters>
4396                                         <parameter name="self" transfer-ownership="none">
4397                                                 <type name="Gee.BidirIterator" c:type="GeeBidirIterator*"/>
4398                                         </parameter>
4399                                 </parameters>
4400                         </callback>
4401                 </field>
4402         </record>
4403         <interface name="BidirList" c:type="GeeBidirList" glib:type-name="GeeBidirList" glib:get-type="gee_bidir_list_get_type" glib:type-struct="BidirListIface">
4404                 <prerequisite name="Gee.List"/>
4405                 <method name="bidir_list_iterator" c:identifier="gee_bidir_list_bidir_list_iterator">
4406                         <return-value transfer-ownership="full">
4407                                 <type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*">
4408                                         <type name="gpointer" c:type="gpointer"/>
4409                                 </type>
4410                         </return-value>
4411                 </method>
4412                 <virtual-method name="bidir_list_iterator" invoker="bidir_list_iterator">
4413                         <return-value transfer-ownership="full">
4414                                 <type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*">
4415                                         <type name="gpointer" c:type="gpointer"/>
4416                                 </type>
4417                         </return-value>
4418                 </virtual-method>
4419                 <property name="read-only-view">
4420                         <type name="Gee.BidirList" c:type="GeeBidirList*">
4421                                 <type name="gpointer" c:type="gpointer"/>
4422                         </type>
4423                 </property>
4424         </interface>
4425         <record name="BidirListIface" c:type="GeeBidirListIface" glib:is-gtype-struct-for="BidirList">
4426                 <field name="parent_iface">
4427                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
4428                 </field>
4429                 <field name="bidir_list_iterator">
4430                         <callback name="bidir_list_iterator" c:type="bidir_list_iterator">
4431                                 <return-value transfer-ownership="full">
4432                                         <type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*">
4433                                                 <type name="gpointer" c:type="gpointer"/>
4434                                         </type>
4435                                 </return-value>
4436                                 <parameters>
4437                                         <parameter name="self" transfer-ownership="none">
4438                                                 <type name="Gee.BidirList" c:type="GeeBidirList*"/>
4439                                         </parameter>
4440                                 </parameters>
4441                         </callback>
4442                 </field>
4443         </record>
4444         <interface name="BidirListIterator" c:type="GeeBidirListIterator" glib:type-name="GeeBidirListIterator" glib:get-type="gee_bidir_list_iterator_get_type" glib:type-struct="BidirListIteratorIface">
4445                 <prerequisite name="Gee.BidirIterator"/>
4446                 <prerequisite name="Gee.ListIterator"/>
4447                 <method name="insert" c:identifier="gee_bidir_list_iterator_insert">
4448                         <return-value transfer-ownership="full">
4449                                 <type name="none"/>
4450                         </return-value>
4451                         <parameters>
4452                                 <parameter name="item" transfer-ownership="none" allow-none="1">
4453                                         <type name="gpointer" c:type="gpointer"/>
4454                                 </parameter>
4455                         </parameters>
4456                 </method>
4457                 <virtual-method name="insert" invoker="insert">
4458                         <return-value transfer-ownership="full">
4459                                 <type name="none"/>
4460                         </return-value>
4461                         <parameters>
4462                                 <parameter name="item" transfer-ownership="none" allow-none="1">
4463                                         <type name="gpointer" c:type="gpointer"/>
4464                                 </parameter>
4465                         </parameters>
4466                 </virtual-method>
4467         </interface>
4468         <record name="BidirListIteratorIface" c:type="GeeBidirListIteratorIface" glib:is-gtype-struct-for="BidirListIterator">
4469                 <field name="parent_iface">
4470                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
4471                 </field>
4472                 <field name="insert">
4473                         <callback name="insert" c:type="insert">
4474                                 <return-value transfer-ownership="full">
4475                                         <type name="none"/>
4476                                 </return-value>
4477                                 <parameters>
4478                                         <parameter name="self" transfer-ownership="none">
4479                                                 <type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*"/>
4480                                         </parameter>
4481                                         <parameter name="item" transfer-ownership="none" allow-none="1">
4482                                                 <type name="gpointer" c:type="gpointer"/>
4483                                         </parameter>
4484                                 </parameters>
4485                         </callback>
4486                 </field>
4487         </record>
4488         <interface name="BidirMapIterator" c:type="GeeBidirMapIterator" glib:type-name="GeeBidirMapIterator" glib:get-type="gee_bidir_map_iterator_get_type" glib:type-struct="BidirMapIteratorIface">
4489                 <prerequisite name="Gee.MapIterator"/>
4490                 <method name="previous" c:identifier="gee_bidir_map_iterator_previous">
4491                         <return-value transfer-ownership="full">
4492                                 <type name="gboolean" c:type="gboolean"/>
4493                         </return-value>
4494                 </method>
4495                 <virtual-method name="previous" invoker="previous">
4496                         <return-value transfer-ownership="full">
4497                                 <type name="gboolean" c:type="gboolean"/>
4498                         </return-value>
4499                 </virtual-method>
4500                 <method name="has_previous" c:identifier="gee_bidir_map_iterator_has_previous">
4501                         <return-value transfer-ownership="full">
4502                                 <type name="gboolean" c:type="gboolean"/>
4503                         </return-value>
4504                 </method>
4505                 <virtual-method name="has_previous" invoker="has_previous">
4506                         <return-value transfer-ownership="full">
4507                                 <type name="gboolean" c:type="gboolean"/>
4508                         </return-value>
4509                 </virtual-method>
4510                 <method name="first" c:identifier="gee_bidir_map_iterator_first">
4511                         <return-value transfer-ownership="full">
4512                                 <type name="gboolean" c:type="gboolean"/>
4513                         </return-value>
4514                 </method>
4515                 <virtual-method name="first" invoker="first">
4516                         <return-value transfer-ownership="full">
4517                                 <type name="gboolean" c:type="gboolean"/>
4518                         </return-value>
4519                 </virtual-method>
4520                 <method name="last" c:identifier="gee_bidir_map_iterator_last">
4521                         <return-value transfer-ownership="full">
4522                                 <type name="gboolean" c:type="gboolean"/>
4523                         </return-value>
4524                 </method>
4525                 <virtual-method name="last" invoker="last">
4526                         <return-value transfer-ownership="full">
4527                                 <type name="gboolean" c:type="gboolean"/>
4528                         </return-value>
4529                 </virtual-method>
4530         </interface>
4531         <record name="BidirMapIteratorIface" c:type="GeeBidirMapIteratorIface" glib:is-gtype-struct-for="BidirMapIterator">
4532                 <field name="parent_iface">
4533                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
4534                 </field>
4535                 <field name="previous">
4536                         <callback name="previous" c:type="previous">
4537                                 <return-value transfer-ownership="full">
4538                                         <type name="gboolean" c:type="gboolean"/>
4539                                 </return-value>
4540                                 <parameters>
4541                                         <parameter name="self" transfer-ownership="none">
4542                                                 <type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*"/>
4543                                         </parameter>
4544                                 </parameters>
4545                         </callback>
4546                 </field>
4547                 <field name="has_previous">
4548                         <callback name="has_previous" c:type="has_previous">
4549                                 <return-value transfer-ownership="full">
4550                                         <type name="gboolean" c:type="gboolean"/>
4551                                 </return-value>
4552                                 <parameters>
4553                                         <parameter name="self" transfer-ownership="none">
4554                                                 <type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*"/>
4555                                         </parameter>
4556                                 </parameters>
4557                         </callback>
4558                 </field>
4559                 <field name="first">
4560                         <callback name="first" c:type="first">
4561                                 <return-value transfer-ownership="full">
4562                                         <type name="gboolean" c:type="gboolean"/>
4563                                 </return-value>
4564                                 <parameters>
4565                                         <parameter name="self" transfer-ownership="none">
4566                                                 <type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*"/>
4567                                         </parameter>
4568                                 </parameters>
4569                         </callback>
4570                 </field>
4571                 <field name="last">
4572                         <callback name="last" c:type="last">
4573                                 <return-value transfer-ownership="full">
4574                                         <type name="gboolean" c:type="gboolean"/>
4575                                 </return-value>
4576                                 <parameters>
4577                                         <parameter name="self" transfer-ownership="none">
4578                                                 <type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*"/>
4579                                         </parameter>
4580                                 </parameters>
4581                         </callback>
4582                 </field>
4583         </record>
4584         <interface name="BidirSortedSet" c:type="GeeBidirSortedSet" glib:type-name="GeeBidirSortedSet" glib:get-type="gee_bidir_sorted_set_get_type" glib:type-struct="BidirSortedSetIface">
4585                 <prerequisite name="Gee.SortedSet"/>
4586                 <method name="bidir_iterator" c:identifier="gee_bidir_sorted_set_bidir_iterator">
4587                         <return-value transfer-ownership="full">
4588                                 <type name="Gee.BidirIterator" c:type="GeeBidirIterator*">
4589                                         <type name="gpointer" c:type="gpointer"/>
4590                                 </type>
4591                         </return-value>
4592                 </method>
4593                 <virtual-method name="bidir_iterator" invoker="bidir_iterator">
4594                         <return-value transfer-ownership="full">
4595                                 <type name="Gee.BidirIterator" c:type="GeeBidirIterator*">
4596                                         <type name="gpointer" c:type="gpointer"/>
4597                                 </type>
4598                         </return-value>
4599                 </virtual-method>
4600                 <function name="empty" c:identifier="gee_bidir_sorted_set_empty">
4601                         <return-value transfer-ownership="full">
4602                                 <type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*">
4603                                         <type name="gpointer" c:type="gpointer"/>
4604                                 </type>
4605                         </return-value>
4606                 </function>
4607                 <property name="read-only-view">
4608                         <type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*">
4609                                 <type name="gpointer" c:type="gpointer"/>
4610                         </type>
4611                 </property>
4612         </interface>
4613         <record name="BidirSortedSetIface" c:type="GeeBidirSortedSetIface" glib:is-gtype-struct-for="BidirSortedSet">
4614                 <field name="parent_iface">
4615                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
4616                 </field>
4617                 <field name="bidir_iterator">
4618                         <callback name="bidir_iterator" c:type="bidir_iterator">
4619                                 <return-value transfer-ownership="full">
4620                                         <type name="Gee.BidirIterator" c:type="GeeBidirIterator*">
4621                                                 <type name="gpointer" c:type="gpointer"/>
4622                                         </type>
4623                                 </return-value>
4624                                 <parameters>
4625                                         <parameter name="self" transfer-ownership="none">
4626                                                 <type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*"/>
4627                                         </parameter>
4628                                 </parameters>
4629                         </callback>
4630                 </field>
4631         </record>
4632         <interface name="BidirSortedMap" c:type="GeeBidirSortedMap" glib:type-name="GeeBidirSortedMap" glib:get-type="gee_bidir_sorted_map_get_type" glib:type-struct="BidirSortedMapIface">
4633                 <prerequisite name="Gee.SortedMap"/>
4634                 <method name="bidir_map_iterator" c:identifier="gee_bidir_sorted_map_bidir_map_iterator">
4635                         <return-value transfer-ownership="full">
4636                                 <type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*">
4637                                         <type name="gpointer" c:type="gpointer"/>
4638                                         <type name="gpointer" c:type="gpointer"/>
4639                                 </type>
4640                         </return-value>
4641                 </method>
4642                 <virtual-method name="bidir_map_iterator" invoker="bidir_map_iterator">
4643                         <return-value transfer-ownership="full">
4644                                 <type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*">
4645                                         <type name="gpointer" c:type="gpointer"/>
4646                                         <type name="gpointer" c:type="gpointer"/>
4647                                 </type>
4648                         </return-value>
4649                 </virtual-method>
4650                 <function name="empty" c:identifier="gee_bidir_sorted_map_empty">
4651                         <return-value transfer-ownership="full">
4652                                 <type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*">
4653                                         <type name="gpointer" c:type="gpointer"/>
4654                                         <type name="gpointer" c:type="gpointer"/>
4655                                 </type>
4656                         </return-value>
4657                 </function>
4658                 <property name="read-only-view">
4659                         <type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*">
4660                                 <type name="gpointer" c:type="gpointer"/>
4661                                 <type name="gpointer" c:type="gpointer"/>
4662                         </type>
4663                 </property>
4664         </interface>
4665         <record name="BidirSortedMapIface" c:type="GeeBidirSortedMapIface" glib:is-gtype-struct-for="BidirSortedMap">
4666                 <field name="parent_iface">
4667                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
4668                 </field>
4669                 <field name="bidir_map_iterator">
4670                         <callback name="bidir_map_iterator" c:type="bidir_map_iterator">
4671                                 <return-value transfer-ownership="full">
4672                                         <type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*">
4673                                                 <type name="gpointer" c:type="gpointer"/>
4674                                                 <type name="gpointer" c:type="gpointer"/>
4675                                         </type>
4676                                 </return-value>
4677                                 <parameters>
4678                                         <parameter name="self" transfer-ownership="none">
4679                                                 <type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*"/>
4680                                         </parameter>
4681                                 </parameters>
4682                         </callback>
4683                 </field>
4684         </record>
4685         <interface name="Collection" c:type="GeeCollection" glib:type-name="GeeCollection" glib:get-type="gee_collection_get_type" glib:type-struct="CollectionIface">
4686                 <prerequisite name="Gee.Iterable"/>
4687                 <method name="contains" c:identifier="gee_collection_contains">
4688                         <return-value transfer-ownership="full">
4689                                 <type name="gboolean" c:type="gboolean"/>
4690                         </return-value>
4691                         <parameters>
4692                                 <parameter name="item" transfer-ownership="none" allow-none="1">
4693                                         <type name="gpointer" c:type="gpointer"/>
4694                                 </parameter>
4695                         </parameters>
4696                 </method>
4697                 <virtual-method name="contains" invoker="contains">
4698                         <return-value transfer-ownership="full">
4699                                 <type name="gboolean" c:type="gboolean"/>
4700                         </return-value>
4701                         <parameters>
4702                                 <parameter name="item" transfer-ownership="none" allow-none="1">
4703                                         <type name="gpointer" c:type="gpointer"/>
4704                                 </parameter>
4705                         </parameters>
4706                 </virtual-method>
4707                 <method name="add" c:identifier="gee_collection_add">
4708                         <return-value transfer-ownership="full">
4709                                 <type name="gboolean" c:type="gboolean"/>
4710                         </return-value>
4711                         <parameters>
4712                                 <parameter name="item" transfer-ownership="none" allow-none="1">
4713                                         <type name="gpointer" c:type="gpointer"/>
4714                                 </parameter>
4715                         </parameters>
4716                 </method>
4717                 <virtual-method name="add" invoker="add">
4718                         <return-value transfer-ownership="full">
4719                                 <type name="gboolean" c:type="gboolean"/>
4720                         </return-value>
4721                         <parameters>
4722                                 <parameter name="item" transfer-ownership="none" allow-none="1">
4723                                         <type name="gpointer" c:type="gpointer"/>
4724                                 </parameter>
4725                         </parameters>
4726                 </virtual-method>
4727                 <method name="remove" c:identifier="gee_collection_remove">
4728                         <return-value transfer-ownership="full">
4729                                 <type name="gboolean" c:type="gboolean"/>
4730                         </return-value>
4731                         <parameters>
4732                                 <parameter name="item" transfer-ownership="none" allow-none="1">
4733                                         <type name="gpointer" c:type="gpointer"/>
4734                                 </parameter>
4735                         </parameters>
4736                 </method>
4737                 <virtual-method name="remove" invoker="remove">
4738                         <return-value transfer-ownership="full">
4739                                 <type name="gboolean" c:type="gboolean"/>
4740                         </return-value>
4741                         <parameters>
4742                                 <parameter name="item" transfer-ownership="none" allow-none="1">
4743                                         <type name="gpointer" c:type="gpointer"/>
4744                                 </parameter>
4745                         </parameters>
4746                 </virtual-method>
4747                 <method name="clear" c:identifier="gee_collection_clear">
4748                         <return-value transfer-ownership="full">
4749                                 <type name="none"/>
4750                         </return-value>
4751                 </method>
4752                 <virtual-method name="clear" invoker="clear">
4753                         <return-value transfer-ownership="full">
4754                                 <type name="none"/>
4755                         </return-value>
4756                 </virtual-method>
4757                 <method name="add_all" c:identifier="gee_collection_add_all">
4758                         <return-value transfer-ownership="full">
4759                                 <type name="gboolean" c:type="gboolean"/>
4760                         </return-value>
4761                         <parameters>
4762                                 <parameter name="collection" transfer-ownership="none">
4763                                         <type name="Gee.Collection" c:type="GeeCollection*">
4764                                                 <type name="gpointer" c:type="gpointer"/>
4765                                         </type>
4766                                 </parameter>
4767                         </parameters>
4768                 </method>
4769                 <virtual-method name="add_all" invoker="add_all">
4770                         <return-value transfer-ownership="full">
4771                                 <type name="gboolean" c:type="gboolean"/>
4772                         </return-value>
4773                         <parameters>
4774                                 <parameter name="collection" transfer-ownership="none">
4775                                         <type name="Gee.Collection" c:type="GeeCollection*">
4776                                                 <type name="gpointer" c:type="gpointer"/>
4777                                         </type>
4778                                 </parameter>
4779                         </parameters>
4780                 </virtual-method>
4781                 <method name="contains_all" c:identifier="gee_collection_contains_all">
4782                         <return-value transfer-ownership="full">
4783                                 <type name="gboolean" c:type="gboolean"/>
4784                         </return-value>
4785                         <parameters>
4786                                 <parameter name="collection" transfer-ownership="none">
4787                                         <type name="Gee.Collection" c:type="GeeCollection*">
4788                                                 <type name="gpointer" c:type="gpointer"/>
4789                                         </type>
4790                                 </parameter>
4791                         </parameters>
4792                 </method>
4793                 <virtual-method name="contains_all" invoker="contains_all">
4794                         <return-value transfer-ownership="full">
4795                                 <type name="gboolean" c:type="gboolean"/>
4796                         </return-value>
4797                         <parameters>
4798                                 <parameter name="collection" transfer-ownership="none">
4799                                         <type name="Gee.Collection" c:type="GeeCollection*">
4800                                                 <type name="gpointer" c:type="gpointer"/>
4801                                         </type>
4802                                 </parameter>
4803                         </parameters>
4804                 </virtual-method>
4805                 <method name="remove_all" c:identifier="gee_collection_remove_all">
4806                         <return-value transfer-ownership="full">
4807                                 <type name="gboolean" c:type="gboolean"/>
4808                         </return-value>
4809                         <parameters>
4810                                 <parameter name="collection" transfer-ownership="none">
4811                                         <type name="Gee.Collection" c:type="GeeCollection*">
4812                                                 <type name="gpointer" c:type="gpointer"/>
4813                                         </type>
4814                                 </parameter>
4815                         </parameters>
4816                 </method>
4817                 <virtual-method name="remove_all" invoker="remove_all">
4818                         <return-value transfer-ownership="full">
4819                                 <type name="gboolean" c:type="gboolean"/>
4820                         </return-value>
4821                         <parameters>
4822                                 <parameter name="collection" transfer-ownership="none">
4823                                         <type name="Gee.Collection" c:type="GeeCollection*">
4824                                                 <type name="gpointer" c:type="gpointer"/>
4825                                         </type>
4826                                 </parameter>
4827                         </parameters>
4828                 </virtual-method>
4829                 <method name="retain_all" c:identifier="gee_collection_retain_all">
4830                         <return-value transfer-ownership="full">
4831                                 <type name="gboolean" c:type="gboolean"/>
4832                         </return-value>
4833                         <parameters>
4834                                 <parameter name="collection" transfer-ownership="none">
4835                                         <type name="Gee.Collection" c:type="GeeCollection*">
4836                                                 <type name="gpointer" c:type="gpointer"/>
4837                                         </type>
4838                                 </parameter>
4839                         </parameters>
4840                 </method>
4841                 <virtual-method name="retain_all" invoker="retain_all">
4842                         <return-value transfer-ownership="full">
4843                                 <type name="gboolean" c:type="gboolean"/>
4844                         </return-value>
4845                         <parameters>
4846                                 <parameter name="collection" transfer-ownership="none">
4847                                         <type name="Gee.Collection" c:type="GeeCollection*">
4848                                                 <type name="gpointer" c:type="gpointer"/>
4849                                         </type>
4850                                 </parameter>
4851                         </parameters>
4852                 </virtual-method>
4853                 <method name="to_array" c:identifier="gee_collection_to_array">
4854                         <return-value transfer-ownership="full">
4855                                 <array length="0">
4856                                         <type name="gpointer" c:type="gpointer"/>
4857                                 </array>
4858                         </return-value>
4859                         <parameters>
4860                                 <parameter name="result_length1" direction="out" transfer-ownership="none">
4861                                         <type name="gint" c:type="gint"/>
4862                                 </parameter>
4863                         </parameters>
4864                 </method>
4865                 <virtual-method name="to_array" invoker="to_array">
4866                         <return-value transfer-ownership="full">
4867                                 <array length="0">
4868                                         <type name="gpointer" c:type="gpointer"/>
4869                                 </array>
4870                         </return-value>
4871                         <parameters>
4872                                 <parameter name="result_length1" direction="out" transfer-ownership="none">
4873                                         <type name="gint" c:type="gint"/>
4874                                 </parameter>
4875                         </parameters>
4876                 </virtual-method>
4877                 <method name="add_all_array" c:identifier="gee_collection_add_all_array">
4878                         <return-value transfer-ownership="full">
4879                                 <type name="gboolean" c:type="gboolean"/>
4880                         </return-value>
4881                         <parameters>
4882                                 <parameter name="array" transfer-ownership="none">
4883                                         <array length="1">
4884                                                 <type name="gpointer" c:type="gpointer"/>
4885                                         </array>
4886                                 </parameter>
4887                                 <parameter name="array_length1" transfer-ownership="none">
4888                                         <type name="gint" c:type="gint"/>
4889                                 </parameter>
4890                         </parameters>
4891                 </method>
4892                 <method name="contains_all_array" c:identifier="gee_collection_contains_all_array">
4893                         <return-value transfer-ownership="full">
4894                                 <type name="gboolean" c:type="gboolean"/>
4895                         </return-value>
4896                         <parameters>
4897                                 <parameter name="array" transfer-ownership="none">
4898                                         <array length="1">
4899                                                 <type name="gpointer" c:type="gpointer"/>
4900                                         </array>
4901                                 </parameter>
4902                                 <parameter name="array_length1" transfer-ownership="none">
4903                                         <type name="gint" c:type="gint"/>
4904                                 </parameter>
4905                         </parameters>
4906                 </method>
4907                 <method name="remove_all_array" c:identifier="gee_collection_remove_all_array">
4908                         <return-value transfer-ownership="full">
4909                                 <type name="gboolean" c:type="gboolean"/>
4910                         </return-value>
4911                         <parameters>
4912                                 <parameter name="array" transfer-ownership="none">
4913                                         <array length="1">
4914                                                 <type name="gpointer" c:type="gpointer"/>
4915                                         </array>
4916                                 </parameter>
4917                                 <parameter name="array_length1" transfer-ownership="none">
4918                                         <type name="gint" c:type="gint"/>
4919                                 </parameter>
4920                         </parameters>
4921                 </method>
4922                 <function name="empty" c:identifier="gee_collection_empty">
4923                         <return-value transfer-ownership="full">
4924                                 <type name="Gee.Collection" c:type="GeeCollection*">
4925                                         <type name="gpointer" c:type="gpointer"/>
4926                                 </type>
4927                         </return-value>
4928                 </function>
4929                 <property name="size">
4930                         <type name="gint" c:type="gint"/>
4931                 </property>
4932                 <property name="is-empty">
4933                         <type name="gboolean" c:type="gboolean"/>
4934                 </property>
4935                 <property name="read-only">
4936                         <type name="gboolean" c:type="gboolean"/>
4937                 </property>
4938                 <property name="read-only-view">
4939                         <type name="Gee.Collection" c:type="GeeCollection*">
4940                                 <type name="gpointer" c:type="gpointer"/>
4941                         </type>
4942                 </property>
4943         </interface>
4944         <record name="CollectionIface" c:type="GeeCollectionIface" glib:is-gtype-struct-for="Collection">
4945                 <field name="parent_iface">
4946                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
4947                 </field>
4948                 <field name="contains">
4949                         <callback name="contains" c:type="contains">
4950                                 <return-value transfer-ownership="full">
4951                                         <type name="gboolean" c:type="gboolean"/>
4952                                 </return-value>
4953                                 <parameters>
4954                                         <parameter name="self" transfer-ownership="none">
4955                                                 <type name="Gee.Collection" c:type="GeeCollection*"/>
4956                                         </parameter>
4957                                         <parameter name="item" transfer-ownership="none" allow-none="1">
4958                                                 <type name="gpointer" c:type="gpointer"/>
4959                                         </parameter>
4960                                 </parameters>
4961                         </callback>
4962                 </field>
4963                 <field name="add">
4964                         <callback name="add" c:type="add">
4965                                 <return-value transfer-ownership="full">
4966                                         <type name="gboolean" c:type="gboolean"/>
4967                                 </return-value>
4968                                 <parameters>
4969                                         <parameter name="self" transfer-ownership="none">
4970                                                 <type name="Gee.Collection" c:type="GeeCollection*"/>
4971                                         </parameter>
4972                                         <parameter name="item" transfer-ownership="none" allow-none="1">
4973                                                 <type name="gpointer" c:type="gpointer"/>
4974                                         </parameter>
4975                                 </parameters>
4976                         </callback>
4977                 </field>
4978                 <field name="remove">
4979                         <callback name="remove" c:type="remove">
4980                                 <return-value transfer-ownership="full">
4981                                         <type name="gboolean" c:type="gboolean"/>
4982                                 </return-value>
4983                                 <parameters>
4984                                         <parameter name="self" transfer-ownership="none">
4985                                                 <type name="Gee.Collection" c:type="GeeCollection*"/>
4986                                         </parameter>
4987                                         <parameter name="item" transfer-ownership="none" allow-none="1">
4988                                                 <type name="gpointer" c:type="gpointer"/>
4989                                         </parameter>
4990                                 </parameters>
4991                         </callback>
4992                 </field>
4993                 <field name="clear">
4994                         <callback name="clear" c:type="clear">
4995                                 <return-value transfer-ownership="full">
4996                                         <type name="none"/>
4997                                 </return-value>
4998                                 <parameters>
4999                                         <parameter name="self" transfer-ownership="none">
5000                                                 <type name="Gee.Collection" c:type="GeeCollection*"/>
5001                                         </parameter>
5002                                 </parameters>
5003                         </callback>
5004                 </field>
5005                 <field name="add_all">
5006                         <callback name="add_all" c:type="add_all">
5007                                 <return-value transfer-ownership="full">
5008                                         <type name="gboolean" c:type="gboolean"/>
5009                                 </return-value>
5010                                 <parameters>
5011                                         <parameter name="self" transfer-ownership="none">
5012                                                 <type name="Gee.Collection" c:type="GeeCollection*"/>
5013                                         </parameter>
5014                                         <parameter name="collection" transfer-ownership="none">
5015                                                 <type name="Gee.Collection" c:type="GeeCollection*">
5016                                                         <type name="gpointer" c:type="gpointer"/>
5017                                                 </type>
5018                                         </parameter>
5019                                 </parameters>
5020                         </callback>
5021                 </field>
5022                 <field name="contains_all">
5023                         <callback name="contains_all" c:type="contains_all">
5024                                 <return-value transfer-ownership="full">
5025                                         <type name="gboolean" c:type="gboolean"/>
5026                                 </return-value>
5027                                 <parameters>
5028                                         <parameter name="self" transfer-ownership="none">
5029                                                 <type name="Gee.Collection" c:type="GeeCollection*"/>
5030                                         </parameter>
5031                                         <parameter name="collection" transfer-ownership="none">
5032                                                 <type name="Gee.Collection" c:type="GeeCollection*">
5033                                                         <type name="gpointer" c:type="gpointer"/>
5034                                                 </type>
5035                                         </parameter>
5036                                 </parameters>
5037                         </callback>
5038                 </field>
5039                 <field name="remove_all">
5040                         <callback name="remove_all" c:type="remove_all">
5041                                 <return-value transfer-ownership="full">
5042                                         <type name="gboolean" c:type="gboolean"/>
5043                                 </return-value>
5044                                 <parameters>
5045                                         <parameter name="self" transfer-ownership="none">
5046                                                 <type name="Gee.Collection" c:type="GeeCollection*"/>
5047                                         </parameter>
5048                                         <parameter name="collection" transfer-ownership="none">
5049                                                 <type name="Gee.Collection" c:type="GeeCollection*">
5050                                                         <type name="gpointer" c:type="gpointer"/>
5051                                                 </type>
5052                                         </parameter>
5053                                 </parameters>
5054                         </callback>
5055                 </field>
5056                 <field name="retain_all">
5057                         <callback name="retain_all" c:type="retain_all">
5058                                 <return-value transfer-ownership="full">
5059                                         <type name="gboolean" c:type="gboolean"/>
5060                                 </return-value>
5061                                 <parameters>
5062                                         <parameter name="self" transfer-ownership="none">
5063                                                 <type name="Gee.Collection" c:type="GeeCollection*"/>
5064                                         </parameter>
5065                                         <parameter name="collection" transfer-ownership="none">
5066                                                 <type name="Gee.Collection" c:type="GeeCollection*">
5067                                                         <type name="gpointer" c:type="gpointer"/>
5068                                                 </type>
5069                                         </parameter>
5070                                 </parameters>
5071                         </callback>
5072                 </field>
5073                 <field name="to_array">
5074                         <callback name="to_array" c:type="to_array">
5075                                 <return-value transfer-ownership="full">
5076                                         <array length="1">
5077                                                 <type name="gpointer" c:type="gpointer"/>
5078                                         </array>
5079                                 </return-value>
5080                                 <parameters>
5081                                         <parameter name="self" transfer-ownership="none">
5082                                                 <type name="Gee.Collection" c:type="GeeCollection*"/>
5083                                         </parameter>
5084                                         <parameter name="result_length1" direction="out" transfer-ownership="none">
5085                                                 <type name="gint" c:type="gint"/>
5086                                         </parameter>
5087                                 </parameters>
5088                         </callback>
5089                 </field>
5090         </record>
5091         <interface name="Comparable" c:type="GeeComparable" glib:type-name="GeeComparable" glib:get-type="gee_comparable_get_type" glib:type-struct="ComparableIface">
5092                 <prerequisite name="GObject.Object"/>
5093                 <method name="compare_to" c:identifier="gee_comparable_compare_to">
5094                         <return-value transfer-ownership="full">
5095                                 <type name="gint" c:type="gint"/>
5096                         </return-value>
5097                         <parameters>
5098                                 <parameter name="object" transfer-ownership="none" allow-none="1">
5099                                         <type name="gpointer" c:type="gpointer"/>
5100                                 </parameter>
5101                         </parameters>
5102                 </method>
5103                 <virtual-method name="compare_to" invoker="compare_to">
5104                         <return-value transfer-ownership="full">
5105                                 <type name="gint" c:type="gint"/>
5106                         </return-value>
5107                         <parameters>
5108                                 <parameter name="object" transfer-ownership="none" allow-none="1">
5109                                         <type name="gpointer" c:type="gpointer"/>
5110                                 </parameter>
5111                         </parameters>
5112                 </virtual-method>
5113         </interface>
5114         <record name="ComparableIface" c:type="GeeComparableIface" glib:is-gtype-struct-for="Comparable">
5115                 <field name="parent_iface">
5116                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
5117                 </field>
5118                 <field name="compare_to">
5119                         <callback name="compare_to" c:type="compare_to">
5120                                 <return-value transfer-ownership="full">
5121                                         <type name="gint" c:type="gint"/>
5122                                 </return-value>
5123                                 <parameters>
5124                                         <parameter name="self" transfer-ownership="none">
5125                                                 <type name="Gee.Comparable" c:type="GeeComparable*"/>
5126                                         </parameter>
5127                                         <parameter name="object" transfer-ownership="none" allow-none="1">
5128                                                 <type name="gpointer" c:type="gpointer"/>
5129                                         </parameter>
5130                                 </parameters>
5131                         </callback>
5132                 </field>
5133         </record>
5134         <interface name="Deque" c:type="GeeDeque" glib:type-name="GeeDeque" glib:get-type="gee_deque_get_type" glib:type-struct="DequeIface">
5135                 <prerequisite name="Gee.Queue"/>
5136                 <method name="offer_head" c:identifier="gee_deque_offer_head">
5137                         <return-value transfer-ownership="full">
5138                                 <type name="gboolean" c:type="gboolean"/>
5139                         </return-value>
5140                         <parameters>
5141                                 <parameter name="element" transfer-ownership="none" allow-none="1">
5142                                         <type name="gpointer" c:type="gpointer"/>
5143                                 </parameter>
5144                         </parameters>
5145                 </method>
5146                 <virtual-method name="offer_head" invoker="offer_head">
5147                         <return-value transfer-ownership="full">
5148                                 <type name="gboolean" c:type="gboolean"/>
5149                         </return-value>
5150                         <parameters>
5151                                 <parameter name="element" transfer-ownership="none" allow-none="1">
5152                                         <type name="gpointer" c:type="gpointer"/>
5153                                 </parameter>
5154                         </parameters>
5155                 </virtual-method>
5156                 <method name="peek_head" c:identifier="gee_deque_peek_head">
5157                         <return-value transfer-ownership="full" allow-none="1">
5158                                 <type name="gpointer" c:type="gpointer"/>
5159                         </return-value>
5160                 </method>
5161                 <virtual-method name="peek_head" invoker="peek_head">
5162                         <return-value transfer-ownership="full" allow-none="1">
5163                                 <type name="gpointer" c:type="gpointer"/>
5164                         </return-value>
5165                 </virtual-method>
5166                 <method name="poll_head" c:identifier="gee_deque_poll_head">
5167                         <return-value transfer-ownership="full" allow-none="1">
5168                                 <type name="gpointer" c:type="gpointer"/>
5169                         </return-value>
5170                 </method>
5171                 <virtual-method name="poll_head" invoker="poll_head">
5172                         <return-value transfer-ownership="full" allow-none="1">
5173                                 <type name="gpointer" c:type="gpointer"/>
5174                         </return-value>
5175                 </virtual-method>
5176                 <method name="drain_head" c:identifier="gee_deque_drain_head">
5177                         <return-value transfer-ownership="full">
5178                                 <type name="gint" c:type="gint"/>
5179                         </return-value>
5180                         <parameters>
5181                                 <parameter name="recipient" transfer-ownership="none">
5182                                         <type name="Gee.Collection" c:type="GeeCollection*">
5183                                                 <type name="gpointer" c:type="gpointer"/>
5184                                         </type>
5185                                 </parameter>
5186                                 <parameter name="amount" transfer-ownership="none">
5187                                         <type name="gint" c:type="gint"/>
5188                                 </parameter>
5189                         </parameters>
5190                 </method>
5191                 <virtual-method name="drain_head" invoker="drain_head">
5192                         <return-value transfer-ownership="full">
5193                                 <type name="gint" c:type="gint"/>
5194                         </return-value>
5195                         <parameters>
5196                                 <parameter name="recipient" transfer-ownership="none">
5197                                         <type name="Gee.Collection" c:type="GeeCollection*">
5198                                                 <type name="gpointer" c:type="gpointer"/>
5199                                         </type>
5200                                 </parameter>
5201                                 <parameter name="amount" transfer-ownership="none">
5202                                         <type name="gint" c:type="gint"/>
5203                                 </parameter>
5204                         </parameters>
5205                 </virtual-method>
5206                 <method name="offer_tail" c:identifier="gee_deque_offer_tail">
5207                         <return-value transfer-ownership="full">
5208                                 <type name="gboolean" c:type="gboolean"/>
5209                         </return-value>
5210                         <parameters>
5211                                 <parameter name="element" transfer-ownership="none" allow-none="1">
5212                                         <type name="gpointer" c:type="gpointer"/>
5213                                 </parameter>
5214                         </parameters>
5215                 </method>
5216                 <virtual-method name="offer_tail" invoker="offer_tail">
5217                         <return-value transfer-ownership="full">
5218                                 <type name="gboolean" c:type="gboolean"/>
5219                         </return-value>
5220                         <parameters>
5221                                 <parameter name="element" transfer-ownership="none" allow-none="1">
5222                                         <type name="gpointer" c:type="gpointer"/>
5223                                 </parameter>
5224                         </parameters>
5225                 </virtual-method>
5226                 <method name="peek_tail" c:identifier="gee_deque_peek_tail">
5227                         <return-value transfer-ownership="full" allow-none="1">
5228                                 <type name="gpointer" c:type="gpointer"/>
5229                         </return-value>
5230                 </method>
5231                 <virtual-method name="peek_tail" invoker="peek_tail">
5232                         <return-value transfer-ownership="full" allow-none="1">
5233                                 <type name="gpointer" c:type="gpointer"/>
5234                         </return-value>
5235                 </virtual-method>
5236                 <method name="poll_tail" c:identifier="gee_deque_poll_tail">
5237                         <return-value transfer-ownership="full" allow-none="1">
5238                                 <type name="gpointer" c:type="gpointer"/>
5239                         </return-value>
5240                 </method>
5241                 <virtual-method name="poll_tail" invoker="poll_tail">
5242                         <return-value transfer-ownership="full" allow-none="1">
5243                                 <type name="gpointer" c:type="gpointer"/>
5244                         </return-value>
5245                 </virtual-method>
5246                 <method name="drain_tail" c:identifier="gee_deque_drain_tail">
5247                         <return-value transfer-ownership="full">
5248                                 <type name="gint" c:type="gint"/>
5249                         </return-value>
5250                         <parameters>
5251                                 <parameter name="recipient" transfer-ownership="none">
5252                                         <type name="Gee.Collection" c:type="GeeCollection*">
5253                                                 <type name="gpointer" c:type="gpointer"/>
5254                                         </type>
5255                                 </parameter>
5256                                 <parameter name="amount" transfer-ownership="none">
5257                                         <type name="gint" c:type="gint"/>
5258                                 </parameter>
5259                         </parameters>
5260                 </method>
5261                 <virtual-method name="drain_tail" invoker="drain_tail">
5262                         <return-value transfer-ownership="full">
5263                                 <type name="gint" c:type="gint"/>
5264                         </return-value>
5265                         <parameters>
5266                                 <parameter name="recipient" transfer-ownership="none">
5267                                         <type name="Gee.Collection" c:type="GeeCollection*">
5268                                                 <type name="gpointer" c:type="gpointer"/>
5269                                         </type>
5270                                 </parameter>
5271                                 <parameter name="amount" transfer-ownership="none">
5272                                         <type name="gint" c:type="gint"/>
5273                                 </parameter>
5274                         </parameters>
5275                 </virtual-method>
5276         </interface>
5277         <record name="DequeIface" c:type="GeeDequeIface" glib:is-gtype-struct-for="Deque">
5278                 <field name="parent_iface">
5279                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
5280                 </field>
5281                 <field name="offer_head">
5282                         <callback name="offer_head" c:type="offer_head">
5283                                 <return-value transfer-ownership="full">
5284                                         <type name="gboolean" c:type="gboolean"/>
5285                                 </return-value>
5286                                 <parameters>
5287                                         <parameter name="self" transfer-ownership="none">
5288                                                 <type name="Gee.Deque" c:type="GeeDeque*"/>
5289                                         </parameter>
5290                                         <parameter name="element" transfer-ownership="none" allow-none="1">
5291                                                 <type name="gpointer" c:type="gpointer"/>
5292                                         </parameter>
5293                                 </parameters>
5294                         </callback>
5295                 </field>
5296                 <field name="peek_head">
5297                         <callback name="peek_head" c:type="peek_head">
5298                                 <return-value transfer-ownership="full" allow-none="1">
5299                                         <type name="gpointer" c:type="gpointer"/>
5300                                 </return-value>
5301                                 <parameters>
5302                                         <parameter name="self" transfer-ownership="none">
5303                                                 <type name="Gee.Deque" c:type="GeeDeque*"/>
5304                                         </parameter>
5305                                 </parameters>
5306                         </callback>
5307                 </field>
5308                 <field name="poll_head">
5309                         <callback name="poll_head" c:type="poll_head">
5310                                 <return-value transfer-ownership="full" allow-none="1">
5311                                         <type name="gpointer" c:type="gpointer"/>
5312                                 </return-value>
5313                                 <parameters>
5314                                         <parameter name="self" transfer-ownership="none">
5315                                                 <type name="Gee.Deque" c:type="GeeDeque*"/>
5316                                         </parameter>
5317                                 </parameters>
5318                         </callback>
5319                 </field>
5320                 <field name="drain_head">
5321                         <callback name="drain_head" c:type="drain_head">
5322                                 <return-value transfer-ownership="full">
5323                                         <type name="gint" c:type="gint"/>
5324                                 </return-value>
5325                                 <parameters>
5326                                         <parameter name="self" transfer-ownership="none">
5327                                                 <type name="Gee.Deque" c:type="GeeDeque*"/>
5328                                         </parameter>
5329                                         <parameter name="recipient" transfer-ownership="none">
5330                                                 <type name="Gee.Collection" c:type="GeeCollection*">
5331                                                         <type name="gpointer" c:type="gpointer"/>
5332                                                 </type>
5333                                         </parameter>
5334                                         <parameter name="amount" transfer-ownership="none">
5335                                                 <type name="gint" c:type="gint"/>
5336                                         </parameter>
5337                                 </parameters>
5338                         </callback>
5339                 </field>
5340                 <field name="offer_tail">
5341                         <callback name="offer_tail" c:type="offer_tail">
5342                                 <return-value transfer-ownership="full">
5343                                         <type name="gboolean" c:type="gboolean"/>
5344                                 </return-value>
5345                                 <parameters>
5346                                         <parameter name="self" transfer-ownership="none">
5347                                                 <type name="Gee.Deque" c:type="GeeDeque*"/>
5348                                         </parameter>
5349                                         <parameter name="element" transfer-ownership="none" allow-none="1">
5350                                                 <type name="gpointer" c:type="gpointer"/>
5351                                         </parameter>
5352                                 </parameters>
5353                         </callback>
5354                 </field>
5355                 <field name="peek_tail">
5356                         <callback name="peek_tail" c:type="peek_tail">
5357                                 <return-value transfer-ownership="full" allow-none="1">
5358                                         <type name="gpointer" c:type="gpointer"/>
5359                                 </return-value>
5360                                 <parameters>
5361                                         <parameter name="self" transfer-ownership="none">
5362                                                 <type name="Gee.Deque" c:type="GeeDeque*"/>
5363                                         </parameter>
5364                                 </parameters>
5365                         </callback>
5366                 </field>
5367                 <field name="poll_tail">
5368                         <callback name="poll_tail" c:type="poll_tail">
5369                                 <return-value transfer-ownership="full" allow-none="1">
5370                                         <type name="gpointer" c:type="gpointer"/>
5371                                 </return-value>
5372                                 <parameters>
5373                                         <parameter name="self" transfer-ownership="none">
5374                                                 <type name="Gee.Deque" c:type="GeeDeque*"/>
5375                                         </parameter>
5376                                 </parameters>
5377                         </callback>
5378                 </field>
5379                 <field name="drain_tail">
5380                         <callback name="drain_tail" c:type="drain_tail">
5381                                 <return-value transfer-ownership="full">
5382                                         <type name="gint" c:type="gint"/>
5383                                 </return-value>
5384                                 <parameters>
5385                                         <parameter name="self" transfer-ownership="none">
5386                                                 <type name="Gee.Deque" c:type="GeeDeque*"/>
5387                                         </parameter>
5388                                         <parameter name="recipient" transfer-ownership="none">
5389                                                 <type name="Gee.Collection" c:type="GeeCollection*">
5390                                                         <type name="gpointer" c:type="gpointer"/>
5391                                                 </type>
5392                                         </parameter>
5393                                         <parameter name="amount" transfer-ownership="none">
5394                                                 <type name="gint" c:type="gint"/>
5395                                         </parameter>
5396                                 </parameters>
5397                         </callback>
5398                 </field>
5399         </record>
5400         <interface name="Hashable" c:type="GeeHashable" glib:type-name="GeeHashable" glib:get-type="gee_hashable_get_type" glib:type-struct="HashableIface">
5401                 <prerequisite name="GObject.Object"/>
5402                 <method name="hash" c:identifier="gee_hashable_hash">
5403                         <return-value transfer-ownership="full">
5404                                 <type name="guint" c:type="guint"/>
5405                         </return-value>
5406                 </method>
5407                 <virtual-method name="hash" invoker="hash">
5408                         <return-value transfer-ownership="full">
5409                                 <type name="guint" c:type="guint"/>
5410                         </return-value>
5411                 </virtual-method>
5412                 <method name="equal_to" c:identifier="gee_hashable_equal_to">
5413                         <return-value transfer-ownership="full">
5414                                 <type name="gboolean" c:type="gboolean"/>
5415                         </return-value>
5416                         <parameters>
5417                                 <parameter name="object" transfer-ownership="none" allow-none="1">
5418                                         <type name="gpointer" c:type="gpointer"/>
5419                                 </parameter>
5420                         </parameters>
5421                 </method>
5422                 <virtual-method name="equal_to" invoker="equal_to">
5423                         <return-value transfer-ownership="full">
5424                                 <type name="gboolean" c:type="gboolean"/>
5425                         </return-value>
5426                         <parameters>
5427                                 <parameter name="object" transfer-ownership="none" allow-none="1">
5428                                         <type name="gpointer" c:type="gpointer"/>
5429                                 </parameter>
5430                         </parameters>
5431                 </virtual-method>
5432         </interface>
5433         <record name="HashableIface" c:type="GeeHashableIface" glib:is-gtype-struct-for="Hashable">
5434                 <field name="parent_iface">
5435                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
5436                 </field>
5437                 <field name="hash">
5438                         <callback name="hash" c:type="hash">
5439                                 <return-value transfer-ownership="full">
5440                                         <type name="guint" c:type="guint"/>
5441                                 </return-value>
5442                                 <parameters>
5443                                         <parameter name="self" transfer-ownership="none">
5444                                                 <type name="Gee.Hashable" c:type="GeeHashable*"/>
5445                                         </parameter>
5446                                 </parameters>
5447                         </callback>
5448                 </field>
5449                 <field name="equal_to">
5450                         <callback name="equal_to" c:type="equal_to">
5451                                 <return-value transfer-ownership="full">
5452                                         <type name="gboolean" c:type="gboolean"/>
5453                                 </return-value>
5454                                 <parameters>
5455                                         <parameter name="self" transfer-ownership="none">
5456                                                 <type name="Gee.Hashable" c:type="GeeHashable*"/>
5457                                         </parameter>
5458                                         <parameter name="object" transfer-ownership="none" allow-none="1">
5459                                                 <type name="gpointer" c:type="gpointer"/>
5460                                         </parameter>
5461                                 </parameters>
5462                         </callback>
5463                 </field>
5464         </record>
5465         <interface name="Iterable" c:type="GeeIterable" glib:type-name="GeeIterable" glib:get-type="gee_iterable_get_type" glib:type-struct="IterableIface">
5466                 <prerequisite name="GObject.Object"/>
5467                 <prerequisite name="Gee.Traversable"/>
5468                 <method name="iterator" c:identifier="gee_iterable_iterator">
5469                         <return-value transfer-ownership="full">
5470                                 <type name="Gee.Iterator" c:type="GeeIterator*">
5471                                         <type name="gpointer" c:type="gpointer"/>
5472                                 </type>
5473                         </return-value>
5474                 </method>
5475                 <virtual-method name="iterator" invoker="iterator">
5476                         <return-value transfer-ownership="full">
5477                                 <type name="Gee.Iterator" c:type="GeeIterator*">
5478                                         <type name="gpointer" c:type="gpointer"/>
5479                                 </type>
5480                         </return-value>
5481                 </virtual-method>
5482         </interface>
5483         <record name="IterableIface" c:type="GeeIterableIface" glib:is-gtype-struct-for="Iterable">
5484                 <field name="parent_iface">
5485                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
5486                 </field>
5487                 <field name="iterator">
5488                         <callback name="iterator" c:type="iterator">
5489                                 <return-value transfer-ownership="full">
5490                                         <type name="Gee.Iterator" c:type="GeeIterator*">
5491                                                 <type name="gpointer" c:type="gpointer"/>
5492                                         </type>
5493                                 </return-value>
5494                                 <parameters>
5495                                         <parameter name="self" transfer-ownership="none">
5496                                                 <type name="Gee.Iterable" c:type="GeeIterable*"/>
5497                                         </parameter>
5498                                 </parameters>
5499                         </callback>
5500                 </field>
5501         </record>
5502         <interface name="Iterator" c:type="GeeIterator" glib:type-name="GeeIterator" glib:get-type="gee_iterator_get_type" glib:type-struct="IteratorIface">
5503                 <prerequisite name="GObject.Object"/>
5504                 <prerequisite name="Gee.Traversable"/>
5505                 <method name="next" c:identifier="gee_iterator_next">
5506                         <return-value transfer-ownership="full">
5507                                 <type name="gboolean" c:type="gboolean"/>
5508                         </return-value>
5509                 </method>
5510                 <virtual-method name="next" invoker="next">
5511                         <return-value transfer-ownership="full">
5512                                 <type name="gboolean" c:type="gboolean"/>
5513                         </return-value>
5514                 </virtual-method>
5515                 <method name="has_next" c:identifier="gee_iterator_has_next">
5516                         <return-value transfer-ownership="full">
5517                                 <type name="gboolean" c:type="gboolean"/>
5518                         </return-value>
5519                 </method>
5520                 <virtual-method name="has_next" invoker="has_next">
5521                         <return-value transfer-ownership="full">
5522                                 <type name="gboolean" c:type="gboolean"/>
5523                         </return-value>
5524                 </virtual-method>
5525                 <method name="get" c:identifier="gee_iterator_get">
5526                         <return-value transfer-ownership="full" allow-none="1">
5527                                 <type name="gpointer" c:type="gpointer"/>
5528                         </return-value>
5529                 </method>
5530                 <virtual-method name="get" invoker="get">
5531                         <return-value transfer-ownership="full" allow-none="1">
5532                                 <type name="gpointer" c:type="gpointer"/>
5533                         </return-value>
5534                 </virtual-method>
5535                 <method name="remove" c:identifier="gee_iterator_remove">
5536                         <return-value transfer-ownership="full">
5537                                 <type name="none"/>
5538                         </return-value>
5539                 </method>
5540                 <virtual-method name="remove" invoker="remove">
5541                         <return-value transfer-ownership="full">
5542                                 <type name="none"/>
5543                         </return-value>
5544                 </virtual-method>
5545                 <function name="unfold" c:identifier="gee_iterator_unfold">
5546                         <return-value transfer-ownership="full">
5547                                 <type name="Gee.Iterator" c:type="GeeIterator*">
5548                                         <type name="gpointer" c:type="gpointer"/>
5549                                 </type>
5550                         </return-value>
5551                         <parameters>
5552                                 <parameter name="f" transfer-ownership="none" closure="1" destroy="2">
5553                                         <type name="Gee.UnfoldFunc" c:type="GeeUnfoldFunc"/>
5554                                 </parameter>
5555                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
5556                                         <type name="gpointer" c:type="void*"/>
5557                                 </parameter>
5558                                 <parameter name="f_target_destroy_notify" transfer-ownership="none">
5559                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
5560                                 </parameter>
5561                                 <parameter name="current" transfer-ownership="full" allow-none="1">
5562                                         <type name="Gee.Lazy" c:type="GeeLazy*">
5563                                                 <type name="gpointer" c:type="gpointer"/>
5564                                         </type>
5565                                 </parameter>
5566                         </parameters>
5567                 </function>
5568                 <function name="concat" c:identifier="gee_iterator_concat">
5569                         <return-value transfer-ownership="full">
5570                                 <type name="Gee.Iterator" c:type="GeeIterator*">
5571                                         <type name="gpointer" c:type="gpointer"/>
5572                                 </type>
5573                         </return-value>
5574                         <parameters>
5575                                 <parameter name="iters" transfer-ownership="none">
5576                                         <type name="Gee.Iterator" c:type="GeeIterator*">
5577                                                 <type name="Gee.Iterator" c:type="GeeIterator*">
5578                                                         <type name="gpointer" c:type="gpointer"/>
5579                                                 </type>
5580                                         </type>
5581                                 </parameter>
5582                         </parameters>
5583                 </function>
5584                 <property name="valid">
5585                         <type name="gboolean" c:type="gboolean"/>
5586                 </property>
5587                 <property name="read-only">
5588                         <type name="gboolean" c:type="gboolean"/>
5589                 </property>
5590         </interface>
5591         <record name="IteratorIface" c:type="GeeIteratorIface" glib:is-gtype-struct-for="Iterator">
5592                 <field name="parent_iface">
5593                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
5594                 </field>
5595                 <field name="next">
5596                         <callback name="next" c:type="next">
5597                                 <return-value transfer-ownership="full">
5598                                         <type name="gboolean" c:type="gboolean"/>
5599                                 </return-value>
5600                                 <parameters>
5601                                         <parameter name="self" transfer-ownership="none">
5602                                                 <type name="Gee.Iterator" c:type="GeeIterator*"/>
5603                                         </parameter>
5604                                 </parameters>
5605                         </callback>
5606                 </field>
5607                 <field name="has_next">
5608                         <callback name="has_next" c:type="has_next">
5609                                 <return-value transfer-ownership="full">
5610                                         <type name="gboolean" c:type="gboolean"/>
5611                                 </return-value>
5612                                 <parameters>
5613                                         <parameter name="self" transfer-ownership="none">
5614                                                 <type name="Gee.Iterator" c:type="GeeIterator*"/>
5615                                         </parameter>
5616                                 </parameters>
5617                         </callback>
5618                 </field>
5619                 <field name="get">
5620                         <callback name="get" c:type="get">
5621                                 <return-value transfer-ownership="full" allow-none="1">
5622                                         <type name="gpointer" c:type="gpointer"/>
5623                                 </return-value>
5624                                 <parameters>
5625                                         <parameter name="self" transfer-ownership="none">
5626                                                 <type name="Gee.Iterator" c:type="GeeIterator*"/>
5627                                         </parameter>
5628                                 </parameters>
5629                         </callback>
5630                 </field>
5631                 <field name="remove">
5632                         <callback name="remove" c:type="remove">
5633                                 <return-value transfer-ownership="full">
5634                                         <type name="none"/>
5635                                 </return-value>
5636                                 <parameters>
5637                                         <parameter name="self" transfer-ownership="none">
5638                                                 <type name="Gee.Iterator" c:type="GeeIterator*"/>
5639                                         </parameter>
5640                                 </parameters>
5641                         </callback>
5642                 </field>
5643         </record>
5644         <interface name="List" c:type="GeeList" glib:type-name="GeeList" glib:get-type="gee_list_get_type" glib:type-struct="ListIface">
5645                 <prerequisite name="Gee.Collection"/>
5646                 <method name="list_iterator" c:identifier="gee_list_list_iterator">
5647                         <return-value transfer-ownership="full">
5648                                 <type name="Gee.ListIterator" c:type="GeeListIterator*">
5649                                         <type name="gpointer" c:type="gpointer"/>
5650                                 </type>
5651                         </return-value>
5652                 </method>
5653                 <virtual-method name="list_iterator" invoker="list_iterator">
5654                         <return-value transfer-ownership="full">
5655                                 <type name="Gee.ListIterator" c:type="GeeListIterator*">
5656                                         <type name="gpointer" c:type="gpointer"/>
5657                                 </type>
5658                         </return-value>
5659                 </virtual-method>
5660                 <method name="get" c:identifier="gee_list_get">
5661                         <return-value transfer-ownership="full" allow-none="1">
5662                                 <type name="gpointer" c:type="gpointer"/>
5663                         </return-value>
5664                         <parameters>
5665                                 <parameter name="index" transfer-ownership="none">
5666                                         <type name="gint" c:type="gint"/>
5667                                 </parameter>
5668                         </parameters>
5669                 </method>
5670                 <virtual-method name="get" invoker="get">
5671                         <return-value transfer-ownership="full" allow-none="1">
5672                                 <type name="gpointer" c:type="gpointer"/>
5673                         </return-value>
5674                         <parameters>
5675                                 <parameter name="index" transfer-ownership="none">
5676                                         <type name="gint" c:type="gint"/>
5677                                 </parameter>
5678                         </parameters>
5679                 </virtual-method>
5680                 <method name="set" c:identifier="gee_list_set">
5681                         <return-value transfer-ownership="full">
5682                                 <type name="none"/>
5683                         </return-value>
5684                         <parameters>
5685                                 <parameter name="index" transfer-ownership="none">
5686                                         <type name="gint" c:type="gint"/>
5687                                 </parameter>
5688                                 <parameter name="item" transfer-ownership="none" allow-none="1">
5689                                         <type name="gpointer" c:type="gpointer"/>
5690                                 </parameter>
5691                         </parameters>
5692                 </method>
5693                 <virtual-method name="set" invoker="set">
5694                         <return-value transfer-ownership="full">
5695                                 <type name="none"/>
5696                         </return-value>
5697                         <parameters>
5698                                 <parameter name="index" transfer-ownership="none">
5699                                         <type name="gint" c:type="gint"/>
5700                                 </parameter>
5701                                 <parameter name="item" transfer-ownership="none" allow-none="1">
5702                                         <type name="gpointer" c:type="gpointer"/>
5703                                 </parameter>
5704                         </parameters>
5705                 </virtual-method>
5706                 <method name="index_of" c:identifier="gee_list_index_of">
5707                         <return-value transfer-ownership="full">
5708                                 <type name="gint" c:type="gint"/>
5709                         </return-value>
5710                         <parameters>
5711                                 <parameter name="item" transfer-ownership="none" allow-none="1">
5712                                         <type name="gpointer" c:type="gpointer"/>
5713                                 </parameter>
5714                         </parameters>
5715                 </method>
5716                 <virtual-method name="index_of" invoker="index_of">
5717                         <return-value transfer-ownership="full">
5718                                 <type name="gint" c:type="gint"/>
5719                         </return-value>
5720                         <parameters>
5721                                 <parameter name="item" transfer-ownership="none" allow-none="1">
5722                                         <type name="gpointer" c:type="gpointer"/>
5723                                 </parameter>
5724                         </parameters>
5725                 </virtual-method>
5726                 <method name="insert" c:identifier="gee_list_insert">
5727                         <return-value transfer-ownership="full">
5728                                 <type name="none"/>
5729                         </return-value>
5730                         <parameters>
5731                                 <parameter name="index" transfer-ownership="none">
5732                                         <type name="gint" c:type="gint"/>
5733                                 </parameter>
5734                                 <parameter name="item" transfer-ownership="none" allow-none="1">
5735                                         <type name="gpointer" c:type="gpointer"/>
5736                                 </parameter>
5737                         </parameters>
5738                 </method>
5739                 <virtual-method name="insert" invoker="insert">
5740                         <return-value transfer-ownership="full">
5741                                 <type name="none"/>
5742                         </return-value>
5743                         <parameters>
5744                                 <parameter name="index" transfer-ownership="none">
5745                                         <type name="gint" c:type="gint"/>
5746                                 </parameter>
5747                                 <parameter name="item" transfer-ownership="none" allow-none="1">
5748                                         <type name="gpointer" c:type="gpointer"/>
5749                                 </parameter>
5750                         </parameters>
5751                 </virtual-method>
5752                 <method name="remove_at" c:identifier="gee_list_remove_at">
5753                         <return-value transfer-ownership="full" allow-none="1">
5754                                 <type name="gpointer" c:type="gpointer"/>
5755                         </return-value>
5756                         <parameters>
5757                                 <parameter name="index" transfer-ownership="none">
5758                                         <type name="gint" c:type="gint"/>
5759                                 </parameter>
5760                         </parameters>
5761                 </method>
5762                 <virtual-method name="remove_at" invoker="remove_at">
5763                         <return-value transfer-ownership="full" allow-none="1">
5764                                 <type name="gpointer" c:type="gpointer"/>
5765                         </return-value>
5766                         <parameters>
5767                                 <parameter name="index" transfer-ownership="none">
5768                                         <type name="gint" c:type="gint"/>
5769                                 </parameter>
5770                         </parameters>
5771                 </virtual-method>
5772                 <method name="slice" c:identifier="gee_list_slice">
5773                         <return-value transfer-ownership="full" allow-none="1">
5774                                 <type name="Gee.List" c:type="GeeList*">
5775                                         <type name="gpointer" c:type="gpointer"/>
5776                                 </type>
5777                         </return-value>
5778                         <parameters>
5779                                 <parameter name="start" transfer-ownership="none">
5780                                         <type name="gint" c:type="gint"/>
5781                                 </parameter>
5782                                 <parameter name="stop" transfer-ownership="none">
5783                                         <type name="gint" c:type="gint"/>
5784                                 </parameter>
5785                         </parameters>
5786                 </method>
5787                 <virtual-method name="slice" invoker="slice">
5788                         <return-value transfer-ownership="full" allow-none="1">
5789                                 <type name="Gee.List" c:type="GeeList*">
5790                                         <type name="gpointer" c:type="gpointer"/>
5791                                 </type>
5792                         </return-value>
5793                         <parameters>
5794                                 <parameter name="start" transfer-ownership="none">
5795                                         <type name="gint" c:type="gint"/>
5796                                 </parameter>
5797                                 <parameter name="stop" transfer-ownership="none">
5798                                         <type name="gint" c:type="gint"/>
5799                                 </parameter>
5800                         </parameters>
5801                 </virtual-method>
5802                 <method name="first" c:identifier="gee_list_first">
5803                         <return-value transfer-ownership="full" allow-none="1">
5804                                 <type name="gpointer" c:type="gpointer"/>
5805                         </return-value>
5806                 </method>
5807                 <virtual-method name="first" invoker="first">
5808                         <return-value transfer-ownership="full" allow-none="1">
5809                                 <type name="gpointer" c:type="gpointer"/>
5810                         </return-value>
5811                 </virtual-method>
5812                 <method name="last" c:identifier="gee_list_last">
5813                         <return-value transfer-ownership="full" allow-none="1">
5814                                 <type name="gpointer" c:type="gpointer"/>
5815                         </return-value>
5816                 </method>
5817                 <virtual-method name="last" invoker="last">
5818                         <return-value transfer-ownership="full" allow-none="1">
5819                                 <type name="gpointer" c:type="gpointer"/>
5820                         </return-value>
5821                 </virtual-method>
5822                 <method name="insert_all" c:identifier="gee_list_insert_all">
5823                         <return-value transfer-ownership="full">
5824                                 <type name="none"/>
5825                         </return-value>
5826                         <parameters>
5827                                 <parameter name="index" transfer-ownership="none">
5828                                         <type name="gint" c:type="gint"/>
5829                                 </parameter>
5830                                 <parameter name="collection" transfer-ownership="none">
5831                                         <type name="Gee.Collection" c:type="GeeCollection*">
5832                                                 <type name="gpointer" c:type="gpointer"/>
5833                                         </type>
5834                                 </parameter>
5835                         </parameters>
5836                 </method>
5837                 <virtual-method name="insert_all" invoker="insert_all">
5838                         <return-value transfer-ownership="full">
5839                                 <type name="none"/>
5840                         </return-value>
5841                         <parameters>
5842                                 <parameter name="index" transfer-ownership="none">
5843                                         <type name="gint" c:type="gint"/>
5844                                 </parameter>
5845                                 <parameter name="collection" transfer-ownership="none">
5846                                         <type name="Gee.Collection" c:type="GeeCollection*">
5847                                                 <type name="gpointer" c:type="gpointer"/>
5848                                         </type>
5849                                 </parameter>
5850                         </parameters>
5851                 </virtual-method>
5852                 <method name="sort" c:identifier="gee_list_sort">
5853                         <return-value transfer-ownership="full">
5854                                 <type name="none"/>
5855                         </return-value>
5856                         <parameters>
5857                                 <parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
5858                                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
5859                                 </parameter>
5860                                 <parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
5861                                         <type name="gpointer" c:type="void*"/>
5862                                 </parameter>
5863                                 <parameter name="compare_func_target_destroy_notify" transfer-ownership="none">
5864                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
5865                                 </parameter>
5866                         </parameters>
5867                 </method>
5868                 <virtual-method name="sort" invoker="sort">
5869                         <return-value transfer-ownership="full">
5870                                 <type name="none"/>
5871                         </return-value>
5872                         <parameters>
5873                                 <parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="1" destroy="2">
5874                                         <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
5875                                 </parameter>
5876                                 <parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
5877                                         <type name="gpointer" c:type="void*"/>
5878                                 </parameter>
5879                                 <parameter name="compare_func_target_destroy_notify" transfer-ownership="none">
5880                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
5881                                 </parameter>
5882                         </parameters>
5883                 </virtual-method>
5884                 <function name="empty" c:identifier="gee_list_empty">
5885                         <return-value transfer-ownership="full">
5886                                 <type name="Gee.List" c:type="GeeList*">
5887                                         <type name="gpointer" c:type="gpointer"/>
5888                                 </type>
5889                         </return-value>
5890                 </function>
5891                 <property name="read-only-view">
5892                         <type name="Gee.List" c:type="GeeList*">
5893                                 <type name="gpointer" c:type="gpointer"/>
5894                         </type>
5895                 </property>
5896         </interface>
5897         <record name="ListIface" c:type="GeeListIface" glib:is-gtype-struct-for="List">
5898                 <field name="parent_iface">
5899                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
5900                 </field>
5901                 <field name="list_iterator">
5902                         <callback name="list_iterator" c:type="list_iterator">
5903                                 <return-value transfer-ownership="full">
5904                                         <type name="Gee.ListIterator" c:type="GeeListIterator*">
5905                                                 <type name="gpointer" c:type="gpointer"/>
5906                                         </type>
5907                                 </return-value>
5908                                 <parameters>
5909                                         <parameter name="self" transfer-ownership="none">
5910                                                 <type name="Gee.List" c:type="GeeList*"/>
5911                                         </parameter>
5912                                 </parameters>
5913                         </callback>
5914                 </field>
5915                 <field name="get">
5916                         <callback name="get" c:type="get">
5917                                 <return-value transfer-ownership="full" allow-none="1">
5918                                         <type name="gpointer" c:type="gpointer"/>
5919                                 </return-value>
5920                                 <parameters>
5921                                         <parameter name="self" transfer-ownership="none">
5922                                                 <type name="Gee.List" c:type="GeeList*"/>
5923                                         </parameter>
5924                                         <parameter name="index" transfer-ownership="none">
5925                                                 <type name="gint" c:type="gint"/>
5926                                         </parameter>
5927                                 </parameters>
5928                         </callback>
5929                 </field>
5930                 <field name="set">
5931                         <callback name="set" c:type="set">
5932                                 <return-value transfer-ownership="full">
5933                                         <type name="none"/>
5934                                 </return-value>
5935                                 <parameters>
5936                                         <parameter name="self" transfer-ownership="none">
5937                                                 <type name="Gee.List" c:type="GeeList*"/>
5938                                         </parameter>
5939                                         <parameter name="index" transfer-ownership="none">
5940                                                 <type name="gint" c:type="gint"/>
5941                                         </parameter>
5942                                         <parameter name="item" transfer-ownership="none" allow-none="1">
5943                                                 <type name="gpointer" c:type="gpointer"/>
5944                                         </parameter>
5945                                 </parameters>
5946                         </callback>
5947                 </field>
5948                 <field name="index_of">
5949                         <callback name="index_of" c:type="index_of">
5950                                 <return-value transfer-ownership="full">
5951                                         <type name="gint" c:type="gint"/>
5952                                 </return-value>
5953                                 <parameters>
5954                                         <parameter name="self" transfer-ownership="none">
5955                                                 <type name="Gee.List" c:type="GeeList*"/>
5956                                         </parameter>
5957                                         <parameter name="item" transfer-ownership="none" allow-none="1">
5958                                                 <type name="gpointer" c:type="gpointer"/>
5959                                         </parameter>
5960                                 </parameters>
5961                         </callback>
5962                 </field>
5963                 <field name="insert">
5964                         <callback name="insert" c:type="insert">
5965                                 <return-value transfer-ownership="full">
5966                                         <type name="none"/>
5967                                 </return-value>
5968                                 <parameters>
5969                                         <parameter name="self" transfer-ownership="none">
5970                                                 <type name="Gee.List" c:type="GeeList*"/>
5971                                         </parameter>
5972                                         <parameter name="index" transfer-ownership="none">
5973                                                 <type name="gint" c:type="gint"/>
5974                                         </parameter>
5975                                         <parameter name="item" transfer-ownership="none" allow-none="1">
5976                                                 <type name="gpointer" c:type="gpointer"/>
5977                                         </parameter>
5978                                 </parameters>
5979                         </callback>
5980                 </field>
5981                 <field name="remove_at">
5982                         <callback name="remove_at" c:type="remove_at">
5983                                 <return-value transfer-ownership="full" allow-none="1">
5984                                         <type name="gpointer" c:type="gpointer"/>
5985                                 </return-value>
5986                                 <parameters>
5987                                         <parameter name="self" transfer-ownership="none">
5988                                                 <type name="Gee.List" c:type="GeeList*"/>
5989                                         </parameter>
5990                                         <parameter name="index" transfer-ownership="none">
5991                                                 <type name="gint" c:type="gint"/>
5992                                         </parameter>
5993                                 </parameters>
5994                         </callback>
5995                 </field>
5996                 <field name="slice">
5997                         <callback name="slice" c:type="slice">
5998                                 <return-value transfer-ownership="full" allow-none="1">
5999                                         <type name="Gee.List" c:type="GeeList*">
6000                                                 <type name="gpointer" c:type="gpointer"/>
6001                                         </type>
6002                                 </return-value>
6003                                 <parameters>
6004                                         <parameter name="self" transfer-ownership="none">
6005                                                 <type name="Gee.List" c:type="GeeList*"/>
6006                                         </parameter>
6007                                         <parameter name="start" transfer-ownership="none">
6008                                                 <type name="gint" c:type="gint"/>
6009                                         </parameter>
6010                                         <parameter name="stop" transfer-ownership="none">
6011                                                 <type name="gint" c:type="gint"/>
6012                                         </parameter>
6013                                 </parameters>
6014                         </callback>
6015                 </field>
6016                 <field name="first">
6017                         <callback name="first" c:type="first">
6018                                 <return-value transfer-ownership="full" allow-none="1">
6019                                         <type name="gpointer" c:type="gpointer"/>
6020                                 </return-value>
6021                                 <parameters>
6022                                         <parameter name="self" transfer-ownership="none">
6023                                                 <type name="Gee.List" c:type="GeeList*"/>
6024                                         </parameter>
6025                                 </parameters>
6026                         </callback>
6027                 </field>
6028                 <field name="last">
6029                         <callback name="last" c:type="last">
6030                                 <return-value transfer-ownership="full" allow-none="1">
6031                                         <type name="gpointer" c:type="gpointer"/>
6032                                 </return-value>
6033                                 <parameters>
6034                                         <parameter name="self" transfer-ownership="none">
6035                                                 <type name="Gee.List" c:type="GeeList*"/>
6036                                         </parameter>
6037                                 </parameters>
6038                         </callback>
6039                 </field>
6040                 <field name="insert_all">
6041                         <callback name="insert_all" c:type="insert_all">
6042                                 <return-value transfer-ownership="full">
6043                                         <type name="none"/>
6044                                 </return-value>
6045                                 <parameters>
6046                                         <parameter name="self" transfer-ownership="none">
6047                                                 <type name="Gee.List" c:type="GeeList*"/>
6048                                         </parameter>
6049                                         <parameter name="index" transfer-ownership="none">
6050                                                 <type name="gint" c:type="gint"/>
6051                                         </parameter>
6052                                         <parameter name="collection" transfer-ownership="none">
6053                                                 <type name="Gee.Collection" c:type="GeeCollection*">
6054                                                         <type name="gpointer" c:type="gpointer"/>
6055                                                 </type>
6056                                         </parameter>
6057                                 </parameters>
6058                         </callback>
6059                 </field>
6060                 <field name="sort">
6061                         <callback name="sort" c:type="sort">
6062                                 <return-value transfer-ownership="full">
6063                                         <type name="none"/>
6064                                 </return-value>
6065                                 <parameters>
6066                                         <parameter name="self" transfer-ownership="none">
6067                                                 <type name="Gee.List" c:type="GeeList*"/>
6068                                         </parameter>
6069                                         <parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="2" destroy="3">
6070                                                 <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
6071                                         </parameter>
6072                                         <parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
6073                                                 <type name="gpointer" c:type="void*"/>
6074                                         </parameter>
6075                                         <parameter name="compare_func_target_destroy_notify" transfer-ownership="none">
6076                                                 <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
6077                                         </parameter>
6078                                 </parameters>
6079                         </callback>
6080                 </field>
6081         </record>
6082         <interface name="ListIterator" c:type="GeeListIterator" glib:type-name="GeeListIterator" glib:get-type="gee_list_iterator_get_type" glib:type-struct="ListIteratorIface">
6083                 <prerequisite name="Gee.Iterator"/>
6084                 <method name="set" c:identifier="gee_list_iterator_set">
6085                         <return-value transfer-ownership="full">
6086                                 <type name="none"/>
6087                         </return-value>
6088                         <parameters>
6089                                 <parameter name="item" transfer-ownership="none" allow-none="1">
6090                                         <type name="gpointer" c:type="gpointer"/>
6091                                 </parameter>
6092                         </parameters>
6093                 </method>
6094                 <virtual-method name="set" invoker="set">
6095                         <return-value transfer-ownership="full">
6096                                 <type name="none"/>
6097                         </return-value>
6098                         <parameters>
6099                                 <parameter name="item" transfer-ownership="none" allow-none="1">
6100                                         <type name="gpointer" c:type="gpointer"/>
6101                                 </parameter>
6102                         </parameters>
6103                 </virtual-method>
6104                 <method name="add" c:identifier="gee_list_iterator_add">
6105                         <return-value transfer-ownership="full">
6106                                 <type name="none"/>
6107                         </return-value>
6108                         <parameters>
6109                                 <parameter name="item" transfer-ownership="none" allow-none="1">
6110                                         <type name="gpointer" c:type="gpointer"/>
6111                                 </parameter>
6112                         </parameters>
6113                 </method>
6114                 <virtual-method name="add" invoker="add">
6115                         <return-value transfer-ownership="full">
6116                                 <type name="none"/>
6117                         </return-value>
6118                         <parameters>
6119                                 <parameter name="item" transfer-ownership="none" allow-none="1">
6120                                         <type name="gpointer" c:type="gpointer"/>
6121                                 </parameter>
6122                         </parameters>
6123                 </virtual-method>
6124                 <method name="index" c:identifier="gee_list_iterator_index">
6125                         <return-value transfer-ownership="full">
6126                                 <type name="gint" c:type="gint"/>
6127                         </return-value>
6128                 </method>
6129                 <virtual-method name="index" invoker="index">
6130                         <return-value transfer-ownership="full">
6131                                 <type name="gint" c:type="gint"/>
6132                         </return-value>
6133                 </virtual-method>
6134         </interface>
6135         <record name="ListIteratorIface" c:type="GeeListIteratorIface" glib:is-gtype-struct-for="ListIterator">
6136                 <field name="parent_iface">
6137                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
6138                 </field>
6139                 <field name="set">
6140                         <callback name="set" c:type="set">
6141                                 <return-value transfer-ownership="full">
6142                                         <type name="none"/>
6143                                 </return-value>
6144                                 <parameters>
6145                                         <parameter name="self" transfer-ownership="none">
6146                                                 <type name="Gee.ListIterator" c:type="GeeListIterator*"/>
6147                                         </parameter>
6148                                         <parameter name="item" transfer-ownership="none" allow-none="1">
6149                                                 <type name="gpointer" c:type="gpointer"/>
6150                                         </parameter>
6151                                 </parameters>
6152                         </callback>
6153                 </field>
6154                 <field name="add">
6155                         <callback name="add" c:type="add">
6156                                 <return-value transfer-ownership="full">
6157                                         <type name="none"/>
6158                                 </return-value>
6159                                 <parameters>
6160                                         <parameter name="self" transfer-ownership="none">
6161                                                 <type name="Gee.ListIterator" c:type="GeeListIterator*"/>
6162                                         </parameter>
6163                                         <parameter name="item" transfer-ownership="none" allow-none="1">
6164                                                 <type name="gpointer" c:type="gpointer"/>
6165                                         </parameter>
6166                                 </parameters>
6167                         </callback>
6168                 </field>
6169                 <field name="index">
6170                         <callback name="index" c:type="index">
6171                                 <return-value transfer-ownership="full">
6172                                         <type name="gint" c:type="gint"/>
6173                                 </return-value>
6174                                 <parameters>
6175                                         <parameter name="self" transfer-ownership="none">
6176                                                 <type name="Gee.ListIterator" c:type="GeeListIterator*"/>
6177                                         </parameter>
6178                                 </parameters>
6179                         </callback>
6180                 </field>
6181         </record>
6182         <interface name="Map" c:type="GeeMap" glib:type-name="GeeMap" glib:get-type="gee_map_get_type" glib:type-struct="MapIface">
6183                 <prerequisite name="GObject.Object"/>
6184                 <prerequisite name="Gee.Iterable"/>
6185                 <method name="has_key" c:identifier="gee_map_has_key">
6186                         <return-value transfer-ownership="full">
6187                                 <type name="gboolean" c:type="gboolean"/>
6188                         </return-value>
6189                         <parameters>
6190                                 <parameter name="key" transfer-ownership="none" allow-none="1">
6191                                         <type name="gpointer" c:type="gpointer"/>
6192                                 </parameter>
6193                         </parameters>
6194                 </method>
6195                 <virtual-method name="has_key" invoker="has_key">
6196                         <return-value transfer-ownership="full">
6197                                 <type name="gboolean" c:type="gboolean"/>
6198                         </return-value>
6199                         <parameters>
6200                                 <parameter name="key" transfer-ownership="none" allow-none="1">
6201                                         <type name="gpointer" c:type="gpointer"/>
6202                                 </parameter>
6203                         </parameters>
6204                 </virtual-method>
6205                 <method name="contains" c:identifier="gee_map_contains" deprecated="Use Map.has_key">
6206                         <annotation key="deprecated.replacement" value="Map.has_key"/>
6207                         <return-value transfer-ownership="full">
6208                                 <type name="gboolean" c:type="gboolean"/>
6209                         </return-value>
6210                         <parameters>
6211                                 <parameter name="key" transfer-ownership="none" allow-none="1">
6212                                         <type name="gpointer" c:type="gpointer"/>
6213                                 </parameter>
6214                         </parameters>
6215                 </method>
6216                 <method name="has" c:identifier="gee_map_has">
6217                         <return-value transfer-ownership="full">
6218                                 <type name="gboolean" c:type="gboolean"/>
6219                         </return-value>
6220                         <parameters>
6221                                 <parameter name="key" transfer-ownership="none" allow-none="1">
6222                                         <type name="gpointer" c:type="gpointer"/>
6223                                 </parameter>
6224                                 <parameter name="value" transfer-ownership="none" allow-none="1">
6225                                         <type name="gpointer" c:type="gpointer"/>
6226                                 </parameter>
6227                         </parameters>
6228                 </method>
6229                 <virtual-method name="has" invoker="has">
6230                         <return-value transfer-ownership="full">
6231                                 <type name="gboolean" c:type="gboolean"/>
6232                         </return-value>
6233                         <parameters>
6234                                 <parameter name="key" transfer-ownership="none" allow-none="1">
6235                                         <type name="gpointer" c:type="gpointer"/>
6236                                 </parameter>
6237                                 <parameter name="value" transfer-ownership="none" allow-none="1">
6238                                         <type name="gpointer" c:type="gpointer"/>
6239                                 </parameter>
6240                         </parameters>
6241                 </virtual-method>
6242                 <method name="get" c:identifier="gee_map_get">
6243                         <return-value transfer-ownership="full" allow-none="1">
6244                                 <type name="gpointer" c:type="gpointer"/>
6245                         </return-value>
6246                         <parameters>
6247                                 <parameter name="key" transfer-ownership="none" allow-none="1">
6248                                         <type name="gpointer" c:type="gpointer"/>
6249                                 </parameter>
6250                         </parameters>
6251                 </method>
6252                 <virtual-method name="get" invoker="get">
6253                         <return-value transfer-ownership="full" allow-none="1">
6254                                 <type name="gpointer" c:type="gpointer"/>
6255                         </return-value>
6256                         <parameters>
6257                                 <parameter name="key" transfer-ownership="none" allow-none="1">
6258                                         <type name="gpointer" c:type="gpointer"/>
6259                                 </parameter>
6260                         </parameters>
6261                 </virtual-method>
6262                 <method name="set" c:identifier="gee_map_set">
6263                         <return-value transfer-ownership="full">
6264                                 <type name="none"/>
6265                         </return-value>
6266                         <parameters>
6267                                 <parameter name="key" transfer-ownership="none" allow-none="1">
6268                                         <type name="gpointer" c:type="gpointer"/>
6269                                 </parameter>
6270                                 <parameter name="value" transfer-ownership="none" allow-none="1">
6271                                         <type name="gpointer" c:type="gpointer"/>
6272                                 </parameter>
6273                         </parameters>
6274                 </method>
6275                 <virtual-method name="set" invoker="set">
6276                         <return-value transfer-ownership="full">
6277                                 <type name="none"/>
6278                         </return-value>
6279                         <parameters>
6280                                 <parameter name="key" transfer-ownership="none" allow-none="1">
6281                                         <type name="gpointer" c:type="gpointer"/>
6282                                 </parameter>
6283                                 <parameter name="value" transfer-ownership="none" allow-none="1">
6284                                         <type name="gpointer" c:type="gpointer"/>
6285                                 </parameter>
6286                         </parameters>
6287                 </virtual-method>
6288                 <method name="unset" c:identifier="gee_map_unset">
6289                         <return-value transfer-ownership="full">
6290                                 <type name="gboolean" c:type="gboolean"/>
6291                         </return-value>
6292                         <parameters>
6293                                 <parameter name="key" transfer-ownership="none" allow-none="1">
6294                                         <type name="gpointer" c:type="gpointer"/>
6295                                 </parameter>
6296                                 <parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
6297                                         <type name="gpointer" c:type="gpointer"/>
6298                                 </parameter>
6299                         </parameters>
6300                 </method>
6301                 <virtual-method name="unset" invoker="unset">
6302                         <return-value transfer-ownership="full">
6303                                 <type name="gboolean" c:type="gboolean"/>
6304                         </return-value>
6305                         <parameters>
6306                                 <parameter name="key" transfer-ownership="none" allow-none="1">
6307                                         <type name="gpointer" c:type="gpointer"/>
6308                                 </parameter>
6309                                 <parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
6310                                         <type name="gpointer" c:type="gpointer"/>
6311                                 </parameter>
6312                         </parameters>
6313                 </virtual-method>
6314                 <method name="remove" c:identifier="gee_map_remove" deprecated="Use Map.unset">
6315                         <annotation key="deprecated.replacement" value="Map.unset"/>
6316                         <return-value transfer-ownership="full">
6317                                 <type name="gboolean" c:type="gboolean"/>
6318                         </return-value>
6319                         <parameters>
6320                                 <parameter name="key" transfer-ownership="none" allow-none="1">
6321                                         <type name="gpointer" c:type="gpointer"/>
6322                                 </parameter>
6323                                 <parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
6324                                         <type name="gpointer" c:type="gpointer"/>
6325                                 </parameter>
6326                         </parameters>
6327                 </method>
6328                 <method name="clear" c:identifier="gee_map_clear">
6329                         <return-value transfer-ownership="full">
6330                                 <type name="none"/>
6331                         </return-value>
6332                 </method>
6333                 <virtual-method name="clear" invoker="clear">
6334                         <return-value transfer-ownership="full">
6335                                 <type name="none"/>
6336                         </return-value>
6337                 </virtual-method>
6338                 <method name="map_iterator" c:identifier="gee_map_map_iterator">
6339                         <return-value transfer-ownership="full">
6340                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*">
6341                                         <type name="gpointer" c:type="gpointer"/>
6342                                         <type name="gpointer" c:type="gpointer"/>
6343                                 </type>
6344                         </return-value>
6345                 </method>
6346                 <virtual-method name="map_iterator" invoker="map_iterator">
6347                         <return-value transfer-ownership="full">
6348                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*">
6349                                         <type name="gpointer" c:type="gpointer"/>
6350                                         <type name="gpointer" c:type="gpointer"/>
6351                                 </type>
6352                         </return-value>
6353                 </virtual-method>
6354                 <method name="set_all" c:identifier="gee_map_set_all">
6355                         <return-value transfer-ownership="full">
6356                                 <type name="none"/>
6357                         </return-value>
6358                         <parameters>
6359                                 <parameter name="map" transfer-ownership="none">
6360                                         <type name="Gee.Map" c:type="GeeMap*">
6361                                                 <type name="gpointer" c:type="gpointer"/>
6362                                                 <type name="gpointer" c:type="gpointer"/>
6363                                         </type>
6364                                 </parameter>
6365                         </parameters>
6366                 </method>
6367                 <virtual-method name="set_all" invoker="set_all">
6368                         <return-value transfer-ownership="full">
6369                                 <type name="none"/>
6370                         </return-value>
6371                         <parameters>
6372                                 <parameter name="map" transfer-ownership="none">
6373                                         <type name="Gee.Map" c:type="GeeMap*">
6374                                                 <type name="gpointer" c:type="gpointer"/>
6375                                                 <type name="gpointer" c:type="gpointer"/>
6376                                         </type>
6377                                 </parameter>
6378                         </parameters>
6379                 </virtual-method>
6380                 <method name="unset_all" c:identifier="gee_map_unset_all">
6381                         <return-value transfer-ownership="full">
6382                                 <type name="gboolean" c:type="gboolean"/>
6383                         </return-value>
6384                         <parameters>
6385                                 <parameter name="map" transfer-ownership="none">
6386                                         <type name="Gee.Map" c:type="GeeMap*">
6387                                                 <type name="gpointer" c:type="gpointer"/>
6388                                                 <type name="gpointer" c:type="gpointer"/>
6389                                         </type>
6390                                 </parameter>
6391                         </parameters>
6392                 </method>
6393                 <virtual-method name="unset_all" invoker="unset_all">
6394                         <return-value transfer-ownership="full">
6395                                 <type name="gboolean" c:type="gboolean"/>
6396                         </return-value>
6397                         <parameters>
6398                                 <parameter name="map" transfer-ownership="none">
6399                                         <type name="Gee.Map" c:type="GeeMap*">
6400                                                 <type name="gpointer" c:type="gpointer"/>
6401                                                 <type name="gpointer" c:type="gpointer"/>
6402                                         </type>
6403                                 </parameter>
6404                         </parameters>
6405                 </virtual-method>
6406                 <method name="remove_all" c:identifier="gee_map_remove_all" deprecated="Use Map.unset_all">
6407                         <annotation key="deprecated.replacement" value="Map.unset_all"/>
6408                         <return-value transfer-ownership="full">
6409                                 <type name="gboolean" c:type="gboolean"/>
6410                         </return-value>
6411                         <parameters>
6412                                 <parameter name="map" transfer-ownership="none">
6413                                         <type name="Gee.Map" c:type="GeeMap*">
6414                                                 <type name="gpointer" c:type="gpointer"/>
6415                                                 <type name="gpointer" c:type="gpointer"/>
6416                                         </type>
6417                                 </parameter>
6418                         </parameters>
6419                 </method>
6420                 <method name="has_all" c:identifier="gee_map_has_all">
6421                         <return-value transfer-ownership="full">
6422                                 <type name="gboolean" c:type="gboolean"/>
6423                         </return-value>
6424                         <parameters>
6425                                 <parameter name="map" transfer-ownership="none">
6426                                         <type name="Gee.Map" c:type="GeeMap*">
6427                                                 <type name="gpointer" c:type="gpointer"/>
6428                                                 <type name="gpointer" c:type="gpointer"/>
6429                                         </type>
6430                                 </parameter>
6431                         </parameters>
6432                 </method>
6433                 <virtual-method name="has_all" invoker="has_all">
6434                         <return-value transfer-ownership="full">
6435                                 <type name="gboolean" c:type="gboolean"/>
6436                         </return-value>
6437                         <parameters>
6438                                 <parameter name="map" transfer-ownership="none">
6439                                         <type name="Gee.Map" c:type="GeeMap*">
6440                                                 <type name="gpointer" c:type="gpointer"/>
6441                                                 <type name="gpointer" c:type="gpointer"/>
6442                                         </type>
6443                                 </parameter>
6444                         </parameters>
6445                 </virtual-method>
6446                 <method name="contains_all" c:identifier="gee_map_contains_all" deprecated="Use Map.has_all">
6447                         <annotation key="deprecated.replacement" value="Map.has_all"/>
6448                         <return-value transfer-ownership="full">
6449                                 <type name="gboolean" c:type="gboolean"/>
6450                         </return-value>
6451                         <parameters>
6452                                 <parameter name="map" transfer-ownership="none">
6453                                         <type name="Gee.Map" c:type="GeeMap*">
6454                                                 <type name="gpointer" c:type="gpointer"/>
6455                                                 <type name="gpointer" c:type="gpointer"/>
6456                                         </type>
6457                                 </parameter>
6458                         </parameters>
6459                 </method>
6460                 <function name="empty" c:identifier="gee_map_empty">
6461                         <return-value transfer-ownership="full">
6462                                 <type name="Gee.Map" c:type="GeeMap*">
6463                                         <type name="gpointer" c:type="gpointer"/>
6464                                         <type name="gpointer" c:type="gpointer"/>
6465                                 </type>
6466                         </return-value>
6467                 </function>
6468                 <property name="size">
6469                         <type name="gint" c:type="gint"/>
6470                 </property>
6471                 <property name="is-empty">
6472                         <type name="gboolean" c:type="gboolean"/>
6473                 </property>
6474                 <property name="read-only">
6475                         <type name="gboolean" c:type="gboolean"/>
6476                 </property>
6477                 <property name="keys">
6478                         <type name="Gee.Set" c:type="GeeSet*">
6479                                 <type name="gpointer" c:type="gpointer"/>
6480                         </type>
6481                 </property>
6482                 <property name="values">
6483                         <type name="Gee.Collection" c:type="GeeCollection*">
6484                                 <type name="gpointer" c:type="gpointer"/>
6485                         </type>
6486                 </property>
6487                 <property name="entries">
6488                         <type name="Gee.Set" c:type="GeeSet*">
6489                                 <type name="Gee.MapEntry" c:type="GeeMapEntry*">
6490                                         <type name="gpointer" c:type="gpointer"/>
6491                                         <type name="gpointer" c:type="gpointer"/>
6492                                 </type>
6493                         </type>
6494                 </property>
6495                 <property name="read-only-view">
6496                         <type name="Gee.Map" c:type="GeeMap*">
6497                                 <type name="gpointer" c:type="gpointer"/>
6498                                 <type name="gpointer" c:type="gpointer"/>
6499                         </type>
6500                 </property>
6501                 <property name="key-type">
6502                         <type name="GObject.Type" c:type="GType"/>
6503                 </property>
6504                 <property name="value-type">
6505                         <type name="GObject.Type" c:type="GType"/>
6506                 </property>
6507         </interface>
6508         <record name="MapIface" c:type="GeeMapIface" glib:is-gtype-struct-for="Map">
6509                 <field name="parent_iface">
6510                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
6511                 </field>
6512                 <field name="has_key">
6513                         <callback name="has_key" c:type="has_key">
6514                                 <return-value transfer-ownership="full">
6515                                         <type name="gboolean" c:type="gboolean"/>
6516                                 </return-value>
6517                                 <parameters>
6518                                         <parameter name="self" transfer-ownership="none">
6519                                                 <type name="Gee.Map" c:type="GeeMap*"/>
6520                                         </parameter>
6521                                         <parameter name="key" transfer-ownership="none" allow-none="1">
6522                                                 <type name="gpointer" c:type="gpointer"/>
6523                                         </parameter>
6524                                 </parameters>
6525                         </callback>
6526                 </field>
6527                 <field name="has">
6528                         <callback name="has" c:type="has">
6529                                 <return-value transfer-ownership="full">
6530                                         <type name="gboolean" c:type="gboolean"/>
6531                                 </return-value>
6532                                 <parameters>
6533                                         <parameter name="self" transfer-ownership="none">
6534                                                 <type name="Gee.Map" c:type="GeeMap*"/>
6535                                         </parameter>
6536                                         <parameter name="key" transfer-ownership="none" allow-none="1">
6537                                                 <type name="gpointer" c:type="gpointer"/>
6538                                         </parameter>
6539                                         <parameter name="value" transfer-ownership="none" allow-none="1">
6540                                                 <type name="gpointer" c:type="gpointer"/>
6541                                         </parameter>
6542                                 </parameters>
6543                         </callback>
6544                 </field>
6545                 <field name="get">
6546                         <callback name="get" c:type="get">
6547                                 <return-value transfer-ownership="full" allow-none="1">
6548                                         <type name="gpointer" c:type="gpointer"/>
6549                                 </return-value>
6550                                 <parameters>
6551                                         <parameter name="self" transfer-ownership="none">
6552                                                 <type name="Gee.Map" c:type="GeeMap*"/>
6553                                         </parameter>
6554                                         <parameter name="key" transfer-ownership="none" allow-none="1">
6555                                                 <type name="gpointer" c:type="gpointer"/>
6556                                         </parameter>
6557                                 </parameters>
6558                         </callback>
6559                 </field>
6560                 <field name="set">
6561                         <callback name="set" c:type="set">
6562                                 <return-value transfer-ownership="full">
6563                                         <type name="none"/>
6564                                 </return-value>
6565                                 <parameters>
6566                                         <parameter name="self" transfer-ownership="none">
6567                                                 <type name="Gee.Map" c:type="GeeMap*"/>
6568                                         </parameter>
6569                                         <parameter name="key" transfer-ownership="none" allow-none="1">
6570                                                 <type name="gpointer" c:type="gpointer"/>
6571                                         </parameter>
6572                                         <parameter name="value" transfer-ownership="none" allow-none="1">
6573                                                 <type name="gpointer" c:type="gpointer"/>
6574                                         </parameter>
6575                                 </parameters>
6576                         </callback>
6577                 </field>
6578                 <field name="unset">
6579                         <callback name="unset" c:type="unset">
6580                                 <return-value transfer-ownership="full">
6581                                         <type name="gboolean" c:type="gboolean"/>
6582                                 </return-value>
6583                                 <parameters>
6584                                         <parameter name="self" transfer-ownership="none">
6585                                                 <type name="Gee.Map" c:type="GeeMap*"/>
6586                                         </parameter>
6587                                         <parameter name="key" transfer-ownership="none" allow-none="1">
6588                                                 <type name="gpointer" c:type="gpointer"/>
6589                                         </parameter>
6590                                         <parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
6591                                                 <type name="gpointer" c:type="gpointer"/>
6592                                         </parameter>
6593                                 </parameters>
6594                         </callback>
6595                 </field>
6596                 <field name="clear">
6597                         <callback name="clear" c:type="clear">
6598                                 <return-value transfer-ownership="full">
6599                                         <type name="none"/>
6600                                 </return-value>
6601                                 <parameters>
6602                                         <parameter name="self" transfer-ownership="none">
6603                                                 <type name="Gee.Map" c:type="GeeMap*"/>
6604                                         </parameter>
6605                                 </parameters>
6606                         </callback>
6607                 </field>
6608                 <field name="map_iterator">
6609                         <callback name="map_iterator" c:type="map_iterator">
6610                                 <return-value transfer-ownership="full">
6611                                         <type name="Gee.MapIterator" c:type="GeeMapIterator*">
6612                                                 <type name="gpointer" c:type="gpointer"/>
6613                                                 <type name="gpointer" c:type="gpointer"/>
6614                                         </type>
6615                                 </return-value>
6616                                 <parameters>
6617                                         <parameter name="self" transfer-ownership="none">
6618                                                 <type name="Gee.Map" c:type="GeeMap*"/>
6619                                         </parameter>
6620                                 </parameters>
6621                         </callback>
6622                 </field>
6623                 <field name="set_all">
6624                         <callback name="set_all" c:type="set_all">
6625                                 <return-value transfer-ownership="full">
6626                                         <type name="none"/>
6627                                 </return-value>
6628                                 <parameters>
6629                                         <parameter name="self" transfer-ownership="none">
6630                                                 <type name="Gee.Map" c:type="GeeMap*"/>
6631                                         </parameter>
6632                                         <parameter name="map" transfer-ownership="none">
6633                                                 <type name="Gee.Map" c:type="GeeMap*">
6634                                                         <type name="gpointer" c:type="gpointer"/>
6635                                                         <type name="gpointer" c:type="gpointer"/>
6636                                                 </type>
6637                                         </parameter>
6638                                 </parameters>
6639                         </callback>
6640                 </field>
6641                 <field name="unset_all">
6642                         <callback name="unset_all" c:type="unset_all">
6643                                 <return-value transfer-ownership="full">
6644                                         <type name="gboolean" c:type="gboolean"/>
6645                                 </return-value>
6646                                 <parameters>
6647                                         <parameter name="self" transfer-ownership="none">
6648                                                 <type name="Gee.Map" c:type="GeeMap*"/>
6649                                         </parameter>
6650                                         <parameter name="map" transfer-ownership="none">
6651                                                 <type name="Gee.Map" c:type="GeeMap*">
6652                                                         <type name="gpointer" c:type="gpointer"/>
6653                                                         <type name="gpointer" c:type="gpointer"/>
6654                                                 </type>
6655                                         </parameter>
6656                                 </parameters>
6657                         </callback>
6658                 </field>
6659                 <field name="has_all">
6660                         <callback name="has_all" c:type="has_all">
6661                                 <return-value transfer-ownership="full">
6662                                         <type name="gboolean" c:type="gboolean"/>
6663                                 </return-value>
6664                                 <parameters>
6665                                         <parameter name="self" transfer-ownership="none">
6666                                                 <type name="Gee.Map" c:type="GeeMap*"/>
6667                                         </parameter>
6668                                         <parameter name="map" transfer-ownership="none">
6669                                                 <type name="Gee.Map" c:type="GeeMap*">
6670                                                         <type name="gpointer" c:type="gpointer"/>
6671                                                         <type name="gpointer" c:type="gpointer"/>
6672                                                 </type>
6673                                         </parameter>
6674                                 </parameters>
6675                         </callback>
6676                 </field>
6677         </record>
6678         <class name="MapEntry" c:type="GeeMapEntry" glib:type-name="GeeMapEntry" glib:get-type="gee_map_entry_get_type" glib:type-struct="EntryClass" parent="GObject.Object" abstract="1">
6679                 <field name="parent_instance">
6680                         <type name="GObject.Object" c:type="GObject"/>
6681                 </field>
6682                 <field name="priv">
6683                         <type name="EntryPrivate" c:type="GeeMapEntryPrivate*"/>
6684                 </field>
6685                 <property name="key">
6686                         <type name="gpointer" c:type="gpointer"/>
6687                 </property>
6688                 <property name="value" writable="1">
6689                         <type name="gpointer" c:type="gpointer"/>
6690                 </property>
6691                 <property name="read-only">
6692                         <type name="gboolean" c:type="gboolean"/>
6693                 </property>
6694         </class>
6695         <record name="EntryClass" c:type="GeeMapEntryClass" glib:is-gtype-struct-for="Entry">
6696                 <field name="parent_class">
6697                         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
6698                 </field>
6699         </record>
6700         <record name="EntryPrivate" c:type="GeeMapEntryPrivate" disguised="1"/>
6701         <interface name="MapIterator" c:type="GeeMapIterator" glib:type-name="GeeMapIterator" glib:get-type="gee_map_iterator_get_type" glib:type-struct="MapIteratorIface">
6702                 <prerequisite name="GObject.Object"/>
6703                 <method name="next" c:identifier="gee_map_iterator_next">
6704                         <return-value transfer-ownership="full">
6705                                 <type name="gboolean" c:type="gboolean"/>
6706                         </return-value>
6707                 </method>
6708                 <virtual-method name="next" invoker="next">
6709                         <return-value transfer-ownership="full">
6710                                 <type name="gboolean" c:type="gboolean"/>
6711                         </return-value>
6712                 </virtual-method>
6713                 <method name="has_next" c:identifier="gee_map_iterator_has_next">
6714                         <return-value transfer-ownership="full">
6715                                 <type name="gboolean" c:type="gboolean"/>
6716                         </return-value>
6717                 </method>
6718                 <virtual-method name="has_next" invoker="has_next">
6719                         <return-value transfer-ownership="full">
6720                                 <type name="gboolean" c:type="gboolean"/>
6721                         </return-value>
6722                 </virtual-method>
6723                 <method name="get_key" c:identifier="gee_map_iterator_get_key">
6724                         <return-value transfer-ownership="full" allow-none="1">
6725                                 <type name="gpointer" c:type="gpointer"/>
6726                         </return-value>
6727                 </method>
6728                 <virtual-method name="get_key" invoker="get_key">
6729                         <return-value transfer-ownership="full" allow-none="1">
6730                                 <type name="gpointer" c:type="gpointer"/>
6731                         </return-value>
6732                 </virtual-method>
6733                 <method name="get_value" c:identifier="gee_map_iterator_get_value">
6734                         <return-value transfer-ownership="full" allow-none="1">
6735                                 <type name="gpointer" c:type="gpointer"/>
6736                         </return-value>
6737                 </method>
6738                 <virtual-method name="get_value" invoker="get_value">
6739                         <return-value transfer-ownership="full" allow-none="1">
6740                                 <type name="gpointer" c:type="gpointer"/>
6741                         </return-value>
6742                 </virtual-method>
6743                 <method name="set_value" c:identifier="gee_map_iterator_set_value">
6744                         <return-value transfer-ownership="full">
6745                                 <type name="none"/>
6746                         </return-value>
6747                         <parameters>
6748                                 <parameter name="value" transfer-ownership="none" allow-none="1">
6749                                         <type name="gpointer" c:type="gpointer"/>
6750                                 </parameter>
6751                         </parameters>
6752                 </method>
6753                 <virtual-method name="set_value" invoker="set_value">
6754                         <return-value transfer-ownership="full">
6755                                 <type name="none"/>
6756                         </return-value>
6757                         <parameters>
6758                                 <parameter name="value" transfer-ownership="none" allow-none="1">
6759                                         <type name="gpointer" c:type="gpointer"/>
6760                                 </parameter>
6761                         </parameters>
6762                 </virtual-method>
6763                 <method name="unset" c:identifier="gee_map_iterator_unset">
6764                         <return-value transfer-ownership="full">
6765                                 <type name="none"/>
6766                         </return-value>
6767                 </method>
6768                 <virtual-method name="unset" invoker="unset">
6769                         <return-value transfer-ownership="full">
6770                                 <type name="none"/>
6771                         </return-value>
6772                 </virtual-method>
6773                 <method name="fold" c:identifier="gee_map_iterator_fold">
6774                         <return-value transfer-ownership="full" allow-none="1">
6775                                 <type name="gpointer" c:type="gpointer"/>
6776                         </return-value>
6777                         <parameters>
6778                                 <parameter name="f" transfer-ownership="none" closure="1">
6779                                         <type name="Gee.FoldMapFunc" c:type="GeeFoldMapFunc"/>
6780                                 </parameter>
6781                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
6782                                         <type name="gpointer" c:type="void*"/>
6783                                 </parameter>
6784                                 <parameter name="seed" transfer-ownership="full" allow-none="1">
6785                                         <type name="gpointer" c:type="gpointer"/>
6786                                 </parameter>
6787                         </parameters>
6788                 </method>
6789                 <virtual-method name="fold" invoker="fold">
6790                         <return-value transfer-ownership="full" allow-none="1">
6791                                 <type name="gpointer" c:type="gpointer"/>
6792                         </return-value>
6793                         <parameters>
6794                                 <parameter name="f" transfer-ownership="none" closure="1">
6795                                         <type name="Gee.FoldMapFunc" c:type="GeeFoldMapFunc"/>
6796                                 </parameter>
6797                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
6798                                         <type name="gpointer" c:type="void*"/>
6799                                 </parameter>
6800                                 <parameter name="seed" transfer-ownership="full" allow-none="1">
6801                                         <type name="gpointer" c:type="gpointer"/>
6802                                 </parameter>
6803                         </parameters>
6804                 </virtual-method>
6805                 <method name="foreach" c:identifier="gee_map_iterator_foreach">
6806                         <return-value transfer-ownership="full">
6807                                 <type name="gboolean" c:type="gboolean"/>
6808                         </return-value>
6809                         <parameters>
6810                                 <parameter name="f" transfer-ownership="none" closure="1">
6811                                         <type name="Gee.ForallMapFunc" c:type="GeeForallMapFunc"/>
6812                                 </parameter>
6813                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
6814                                         <type name="gpointer" c:type="void*"/>
6815                                 </parameter>
6816                         </parameters>
6817                 </method>
6818                 <virtual-method name="foreach" invoker="foreach">
6819                         <return-value transfer-ownership="full">
6820                                 <type name="gboolean" c:type="gboolean"/>
6821                         </return-value>
6822                         <parameters>
6823                                 <parameter name="f" transfer-ownership="none" closure="1">
6824                                         <type name="Gee.ForallMapFunc" c:type="GeeForallMapFunc"/>
6825                                 </parameter>
6826                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
6827                                         <type name="gpointer" c:type="void*"/>
6828                                 </parameter>
6829                         </parameters>
6830                 </virtual-method>
6831                 <property name="valid">
6832                         <type name="gboolean" c:type="gboolean"/>
6833                 </property>
6834                 <property name="mutable">
6835                         <type name="gboolean" c:type="gboolean"/>
6836                 </property>
6837                 <property name="read-only">
6838                         <type name="gboolean" c:type="gboolean"/>
6839                 </property>
6840         </interface>
6841         <record name="MapIteratorIface" c:type="GeeMapIteratorIface" glib:is-gtype-struct-for="MapIterator">
6842                 <field name="parent_iface">
6843                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
6844                 </field>
6845                 <field name="next">
6846                         <callback name="next" c:type="next">
6847                                 <return-value transfer-ownership="full">
6848                                         <type name="gboolean" c:type="gboolean"/>
6849                                 </return-value>
6850                                 <parameters>
6851                                         <parameter name="self" transfer-ownership="none">
6852                                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
6853                                         </parameter>
6854                                 </parameters>
6855                         </callback>
6856                 </field>
6857                 <field name="has_next">
6858                         <callback name="has_next" c:type="has_next">
6859                                 <return-value transfer-ownership="full">
6860                                         <type name="gboolean" c:type="gboolean"/>
6861                                 </return-value>
6862                                 <parameters>
6863                                         <parameter name="self" transfer-ownership="none">
6864                                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
6865                                         </parameter>
6866                                 </parameters>
6867                         </callback>
6868                 </field>
6869                 <field name="get_key">
6870                         <callback name="get_key" c:type="get_key">
6871                                 <return-value transfer-ownership="full" allow-none="1">
6872                                         <type name="gpointer" c:type="gpointer"/>
6873                                 </return-value>
6874                                 <parameters>
6875                                         <parameter name="self" transfer-ownership="none">
6876                                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
6877                                         </parameter>
6878                                 </parameters>
6879                         </callback>
6880                 </field>
6881                 <field name="get_value">
6882                         <callback name="get_value" c:type="get_value">
6883                                 <return-value transfer-ownership="full" allow-none="1">
6884                                         <type name="gpointer" c:type="gpointer"/>
6885                                 </return-value>
6886                                 <parameters>
6887                                         <parameter name="self" transfer-ownership="none">
6888                                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
6889                                         </parameter>
6890                                 </parameters>
6891                         </callback>
6892                 </field>
6893                 <field name="set_value">
6894                         <callback name="set_value" c:type="set_value">
6895                                 <return-value transfer-ownership="full">
6896                                         <type name="none"/>
6897                                 </return-value>
6898                                 <parameters>
6899                                         <parameter name="self" transfer-ownership="none">
6900                                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
6901                                         </parameter>
6902                                         <parameter name="value" transfer-ownership="none" allow-none="1">
6903                                                 <type name="gpointer" c:type="gpointer"/>
6904                                         </parameter>
6905                                 </parameters>
6906                         </callback>
6907                 </field>
6908                 <field name="unset">
6909                         <callback name="unset" c:type="unset">
6910                                 <return-value transfer-ownership="full">
6911                                         <type name="none"/>
6912                                 </return-value>
6913                                 <parameters>
6914                                         <parameter name="self" transfer-ownership="none">
6915                                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
6916                                         </parameter>
6917                                 </parameters>
6918                         </callback>
6919                 </field>
6920                 <field name="fold">
6921                         <callback name="fold" c:type="fold">
6922                                 <return-value transfer-ownership="full" allow-none="1">
6923                                         <type name="gpointer" c:type="gpointer"/>
6924                                 </return-value>
6925                                 <parameters>
6926                                         <parameter name="self" transfer-ownership="none">
6927                                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
6928                                         </parameter>
6929                                         <parameter name="f" transfer-ownership="none" closure="2">
6930                                                 <type name="Gee.FoldMapFunc" c:type="GeeFoldMapFunc"/>
6931                                         </parameter>
6932                                         <parameter name="f_target" transfer-ownership="none" allow-none="1">
6933                                                 <type name="gpointer" c:type="void*"/>
6934                                         </parameter>
6935                                         <parameter name="seed" transfer-ownership="full" allow-none="1">
6936                                                 <type name="gpointer" c:type="gpointer"/>
6937                                         </parameter>
6938                                 </parameters>
6939                         </callback>
6940                 </field>
6941                 <field name="foreach">
6942                         <callback name="foreach" c:type="foreach">
6943                                 <return-value transfer-ownership="full">
6944                                         <type name="gboolean" c:type="gboolean"/>
6945                                 </return-value>
6946                                 <parameters>
6947                                         <parameter name="self" transfer-ownership="none">
6948                                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
6949                                         </parameter>
6950                                         <parameter name="f" transfer-ownership="none" closure="2">
6951                                                 <type name="Gee.ForallMapFunc" c:type="GeeForallMapFunc"/>
6952                                         </parameter>
6953                                         <parameter name="f_target" transfer-ownership="none" allow-none="1">
6954                                                 <type name="gpointer" c:type="void*"/>
6955                                         </parameter>
6956                                 </parameters>
6957                         </callback>
6958                 </field>
6959         </record>
6960         <interface name="MultiMap" c:type="GeeMultiMap" glib:type-name="GeeMultiMap" glib:get-type="gee_multi_map_get_type" glib:type-struct="MultiMapIface">
6961                 <prerequisite name="GObject.Object"/>
6962                 <method name="get_keys" c:identifier="gee_multi_map_get_keys">
6963                         <return-value transfer-ownership="full">
6964                                 <type name="Gee.Set" c:type="GeeSet*">
6965                                         <type name="gpointer" c:type="gpointer"/>
6966                                 </type>
6967                         </return-value>
6968                 </method>
6969                 <virtual-method name="get_keys" invoker="get_keys">
6970                         <return-value transfer-ownership="full">
6971                                 <type name="Gee.Set" c:type="GeeSet*">
6972                                         <type name="gpointer" c:type="gpointer"/>
6973                                 </type>
6974                         </return-value>
6975                 </virtual-method>
6976                 <method name="get_all_keys" c:identifier="gee_multi_map_get_all_keys">
6977                         <return-value transfer-ownership="full">
6978                                 <type name="Gee.MultiSet" c:type="GeeMultiSet*">
6979                                         <type name="gpointer" c:type="gpointer"/>
6980                                 </type>
6981                         </return-value>
6982                 </method>
6983                 <virtual-method name="get_all_keys" invoker="get_all_keys">
6984                         <return-value transfer-ownership="full">
6985                                 <type name="Gee.MultiSet" c:type="GeeMultiSet*">
6986                                         <type name="gpointer" c:type="gpointer"/>
6987                                 </type>
6988                         </return-value>
6989                 </virtual-method>
6990                 <method name="get_values" c:identifier="gee_multi_map_get_values">
6991                         <return-value transfer-ownership="full">
6992                                 <type name="Gee.Collection" c:type="GeeCollection*">
6993                                         <type name="gpointer" c:type="gpointer"/>
6994                                 </type>
6995                         </return-value>
6996                 </method>
6997                 <virtual-method name="get_values" invoker="get_values">
6998                         <return-value transfer-ownership="full">
6999                                 <type name="Gee.Collection" c:type="GeeCollection*">
7000                                         <type name="gpointer" c:type="gpointer"/>
7001                                 </type>
7002                         </return-value>
7003                 </virtual-method>
7004                 <method name="contains" c:identifier="gee_multi_map_contains">
7005                         <return-value transfer-ownership="full">
7006                                 <type name="gboolean" c:type="gboolean"/>
7007                         </return-value>
7008                         <parameters>
7009                                 <parameter name="key" transfer-ownership="none" allow-none="1">
7010                                         <type name="gpointer" c:type="gpointer"/>
7011                                 </parameter>
7012                         </parameters>
7013                 </method>
7014                 <virtual-method name="contains" invoker="contains">
7015                         <return-value transfer-ownership="full">
7016                                 <type name="gboolean" c:type="gboolean"/>
7017                         </return-value>
7018                         <parameters>
7019                                 <parameter name="key" transfer-ownership="none" allow-none="1">
7020                                         <type name="gpointer" c:type="gpointer"/>
7021                                 </parameter>
7022                         </parameters>
7023                 </virtual-method>
7024                 <method name="get" c:identifier="gee_multi_map_get">
7025                         <return-value transfer-ownership="full">
7026                                 <type name="Gee.Collection" c:type="GeeCollection*">
7027                                         <type name="gpointer" c:type="gpointer"/>
7028                                 </type>
7029                         </return-value>
7030                         <parameters>
7031                                 <parameter name="key" transfer-ownership="none" allow-none="1">
7032                                         <type name="gpointer" c:type="gpointer"/>
7033                                 </parameter>
7034                         </parameters>
7035                 </method>
7036                 <virtual-method name="get" invoker="get">
7037                         <return-value transfer-ownership="full">
7038                                 <type name="Gee.Collection" c:type="GeeCollection*">
7039                                         <type name="gpointer" c:type="gpointer"/>
7040                                 </type>
7041                         </return-value>
7042                         <parameters>
7043                                 <parameter name="key" transfer-ownership="none" allow-none="1">
7044                                         <type name="gpointer" c:type="gpointer"/>
7045                                 </parameter>
7046                         </parameters>
7047                 </virtual-method>
7048                 <method name="set" c:identifier="gee_multi_map_set">
7049                         <return-value transfer-ownership="full">
7050                                 <type name="none"/>
7051                         </return-value>
7052                         <parameters>
7053                                 <parameter name="key" transfer-ownership="none" allow-none="1">
7054                                         <type name="gpointer" c:type="gpointer"/>
7055                                 </parameter>
7056                                 <parameter name="value" transfer-ownership="none" allow-none="1">
7057                                         <type name="gpointer" c:type="gpointer"/>
7058                                 </parameter>
7059                         </parameters>
7060                 </method>
7061                 <virtual-method name="set" invoker="set">
7062                         <return-value transfer-ownership="full">
7063                                 <type name="none"/>
7064                         </return-value>
7065                         <parameters>
7066                                 <parameter name="key" transfer-ownership="none" allow-none="1">
7067                                         <type name="gpointer" c:type="gpointer"/>
7068                                 </parameter>
7069                                 <parameter name="value" transfer-ownership="none" allow-none="1">
7070                                         <type name="gpointer" c:type="gpointer"/>
7071                                 </parameter>
7072                         </parameters>
7073                 </virtual-method>
7074                 <method name="remove" c:identifier="gee_multi_map_remove">
7075                         <return-value transfer-ownership="full">
7076                                 <type name="gboolean" c:type="gboolean"/>
7077                         </return-value>
7078                         <parameters>
7079                                 <parameter name="key" transfer-ownership="none" allow-none="1">
7080                                         <type name="gpointer" c:type="gpointer"/>
7081                                 </parameter>
7082                                 <parameter name="value" transfer-ownership="none" allow-none="1">
7083                                         <type name="gpointer" c:type="gpointer"/>
7084                                 </parameter>
7085                         </parameters>
7086                 </method>
7087                 <virtual-method name="remove" invoker="remove">
7088                         <return-value transfer-ownership="full">
7089                                 <type name="gboolean" c:type="gboolean"/>
7090                         </return-value>
7091                         <parameters>
7092                                 <parameter name="key" transfer-ownership="none" allow-none="1">
7093                                         <type name="gpointer" c:type="gpointer"/>
7094                                 </parameter>
7095                                 <parameter name="value" transfer-ownership="none" allow-none="1">
7096                                         <type name="gpointer" c:type="gpointer"/>
7097                                 </parameter>
7098                         </parameters>
7099                 </virtual-method>
7100                 <method name="remove_all" c:identifier="gee_multi_map_remove_all">
7101                         <return-value transfer-ownership="full">
7102                                 <type name="gboolean" c:type="gboolean"/>
7103                         </return-value>
7104                         <parameters>
7105                                 <parameter name="key" transfer-ownership="none" allow-none="1">
7106                                         <type name="gpointer" c:type="gpointer"/>
7107                                 </parameter>
7108                         </parameters>
7109                 </method>
7110                 <virtual-method name="remove_all" invoker="remove_all">
7111                         <return-value transfer-ownership="full">
7112                                 <type name="gboolean" c:type="gboolean"/>
7113                         </return-value>
7114                         <parameters>
7115                                 <parameter name="key" transfer-ownership="none" allow-none="1">
7116                                         <type name="gpointer" c:type="gpointer"/>
7117                                 </parameter>
7118                         </parameters>
7119                 </virtual-method>
7120                 <method name="clear" c:identifier="gee_multi_map_clear">
7121                         <return-value transfer-ownership="full">
7122                                 <type name="none"/>
7123                         </return-value>
7124                 </method>
7125                 <virtual-method name="clear" invoker="clear">
7126                         <return-value transfer-ownership="full">
7127                                 <type name="none"/>
7128                         </return-value>
7129                 </virtual-method>
7130                 <method name="map_iterator" c:identifier="gee_multi_map_map_iterator">
7131                         <return-value transfer-ownership="full">
7132                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*">
7133                                         <type name="gpointer" c:type="gpointer"/>
7134                                         <type name="gpointer" c:type="gpointer"/>
7135                                 </type>
7136                         </return-value>
7137                 </method>
7138                 <virtual-method name="map_iterator" invoker="map_iterator">
7139                         <return-value transfer-ownership="full">
7140                                 <type name="Gee.MapIterator" c:type="GeeMapIterator*">
7141                                         <type name="gpointer" c:type="gpointer"/>
7142                                         <type name="gpointer" c:type="gpointer"/>
7143                                 </type>
7144                         </return-value>
7145                 </virtual-method>
7146                 <property name="size">
7147                         <type name="gint" c:type="gint"/>
7148                 </property>
7149                 <property name="read-only">
7150                         <type name="gboolean" c:type="gboolean"/>
7151                 </property>
7152                 <property name="key-type">
7153                         <type name="GObject.Type" c:type="GType"/>
7154                 </property>
7155                 <property name="value-type">
7156                         <type name="GObject.Type" c:type="GType"/>
7157                 </property>
7158                 <property name="read-only-view">
7159                         <type name="Gee.MultiMap" c:type="GeeMultiMap*">
7160                                 <type name="gpointer" c:type="gpointer"/>
7161                                 <type name="gpointer" c:type="gpointer"/>
7162                         </type>
7163                 </property>
7164         </interface>
7165         <record name="MultiMapIface" c:type="GeeMultiMapIface" glib:is-gtype-struct-for="MultiMap">
7166                 <field name="parent_iface">
7167                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
7168                 </field>
7169                 <field name="get_keys">
7170                         <callback name="get_keys" c:type="get_keys">
7171                                 <return-value transfer-ownership="full">
7172                                         <type name="Gee.Set" c:type="GeeSet*">
7173                                                 <type name="gpointer" c:type="gpointer"/>
7174                                         </type>
7175                                 </return-value>
7176                                 <parameters>
7177                                         <parameter name="self" transfer-ownership="none">
7178                                                 <type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
7179                                         </parameter>
7180                                 </parameters>
7181                         </callback>
7182                 </field>
7183                 <field name="get_all_keys">
7184                         <callback name="get_all_keys" c:type="get_all_keys">
7185                                 <return-value transfer-ownership="full">
7186                                         <type name="Gee.MultiSet" c:type="GeeMultiSet*">
7187                                                 <type name="gpointer" c:type="gpointer"/>
7188                                         </type>
7189                                 </return-value>
7190                                 <parameters>
7191                                         <parameter name="self" transfer-ownership="none">
7192                                                 <type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
7193                                         </parameter>
7194                                 </parameters>
7195                         </callback>
7196                 </field>
7197                 <field name="get_values">
7198                         <callback name="get_values" c:type="get_values">
7199                                 <return-value transfer-ownership="full">
7200                                         <type name="Gee.Collection" c:type="GeeCollection*">
7201                                                 <type name="gpointer" c:type="gpointer"/>
7202                                         </type>
7203                                 </return-value>
7204                                 <parameters>
7205                                         <parameter name="self" transfer-ownership="none">
7206                                                 <type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
7207                                         </parameter>
7208                                 </parameters>
7209                         </callback>
7210                 </field>
7211                 <field name="contains">
7212                         <callback name="contains" c:type="contains">
7213                                 <return-value transfer-ownership="full">
7214                                         <type name="gboolean" c:type="gboolean"/>
7215                                 </return-value>
7216                                 <parameters>
7217                                         <parameter name="self" transfer-ownership="none">
7218                                                 <type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
7219                                         </parameter>
7220                                         <parameter name="key" transfer-ownership="none" allow-none="1">
7221                                                 <type name="gpointer" c:type="gpointer"/>
7222                                         </parameter>
7223                                 </parameters>
7224                         </callback>
7225                 </field>
7226                 <field name="get">
7227                         <callback name="get" c:type="get">
7228                                 <return-value transfer-ownership="full">
7229                                         <type name="Gee.Collection" c:type="GeeCollection*">
7230                                                 <type name="gpointer" c:type="gpointer"/>
7231                                         </type>
7232                                 </return-value>
7233                                 <parameters>
7234                                         <parameter name="self" transfer-ownership="none">
7235                                                 <type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
7236                                         </parameter>
7237                                         <parameter name="key" transfer-ownership="none" allow-none="1">
7238                                                 <type name="gpointer" c:type="gpointer"/>
7239                                         </parameter>
7240                                 </parameters>
7241                         </callback>
7242                 </field>
7243                 <field name="set">
7244                         <callback name="set" c:type="set">
7245                                 <return-value transfer-ownership="full">
7246                                         <type name="none"/>
7247                                 </return-value>
7248                                 <parameters>
7249                                         <parameter name="self" transfer-ownership="none">
7250                                                 <type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
7251                                         </parameter>
7252                                         <parameter name="key" transfer-ownership="none" allow-none="1">
7253                                                 <type name="gpointer" c:type="gpointer"/>
7254                                         </parameter>
7255                                         <parameter name="value" transfer-ownership="none" allow-none="1">
7256                                                 <type name="gpointer" c:type="gpointer"/>
7257                                         </parameter>
7258                                 </parameters>
7259                         </callback>
7260                 </field>
7261                 <field name="remove">
7262                         <callback name="remove" c:type="remove">
7263                                 <return-value transfer-ownership="full">
7264                                         <type name="gboolean" c:type="gboolean"/>
7265                                 </return-value>
7266                                 <parameters>
7267                                         <parameter name="self" transfer-ownership="none">
7268                                                 <type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
7269                                         </parameter>
7270                                         <parameter name="key" transfer-ownership="none" allow-none="1">
7271                                                 <type name="gpointer" c:type="gpointer"/>
7272                                         </parameter>
7273                                         <parameter name="value" transfer-ownership="none" allow-none="1">
7274                                                 <type name="gpointer" c:type="gpointer"/>
7275                                         </parameter>
7276                                 </parameters>
7277                         </callback>
7278                 </field>
7279                 <field name="remove_all">
7280                         <callback name="remove_all" c:type="remove_all">
7281                                 <return-value transfer-ownership="full">
7282                                         <type name="gboolean" c:type="gboolean"/>
7283                                 </return-value>
7284                                 <parameters>
7285                                         <parameter name="self" transfer-ownership="none">
7286                                                 <type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
7287                                         </parameter>
7288                                         <parameter name="key" transfer-ownership="none" allow-none="1">
7289                                                 <type name="gpointer" c:type="gpointer"/>
7290                                         </parameter>
7291                                 </parameters>
7292                         </callback>
7293                 </field>
7294                 <field name="clear">
7295                         <callback name="clear" c:type="clear">
7296                                 <return-value transfer-ownership="full">
7297                                         <type name="none"/>
7298                                 </return-value>
7299                                 <parameters>
7300                                         <parameter name="self" transfer-ownership="none">
7301                                                 <type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
7302                                         </parameter>
7303                                 </parameters>
7304                         </callback>
7305                 </field>
7306                 <field name="map_iterator">
7307                         <callback name="map_iterator" c:type="map_iterator">
7308                                 <return-value transfer-ownership="full">
7309                                         <type name="Gee.MapIterator" c:type="GeeMapIterator*">
7310                                                 <type name="gpointer" c:type="gpointer"/>
7311                                                 <type name="gpointer" c:type="gpointer"/>
7312                                         </type>
7313                                 </return-value>
7314                                 <parameters>
7315                                         <parameter name="self" transfer-ownership="none">
7316                                                 <type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
7317                                         </parameter>
7318                                 </parameters>
7319                         </callback>
7320                 </field>
7321         </record>
7322         <interface name="MultiSet" c:type="GeeMultiSet" glib:type-name="GeeMultiSet" glib:get-type="gee_multi_set_get_type" glib:type-struct="MultiSetIface">
7323                 <prerequisite name="Gee.Collection"/>
7324                 <method name="count" c:identifier="gee_multi_set_count">
7325                         <return-value transfer-ownership="full">
7326                                 <type name="gint" c:type="gint"/>
7327                         </return-value>
7328                         <parameters>
7329                                 <parameter name="item" transfer-ownership="none" allow-none="1">
7330                                         <type name="gpointer" c:type="gpointer"/>
7331                                 </parameter>
7332                         </parameters>
7333                 </method>
7334                 <virtual-method name="count" invoker="count">
7335                         <return-value transfer-ownership="full">
7336                                 <type name="gint" c:type="gint"/>
7337                         </return-value>
7338                         <parameters>
7339                                 <parameter name="item" transfer-ownership="none" allow-none="1">
7340                                         <type name="gpointer" c:type="gpointer"/>
7341                                 </parameter>
7342                         </parameters>
7343                 </virtual-method>
7344                 <function name="empty" c:identifier="gee_multi_set_empty">
7345                         <return-value transfer-ownership="full">
7346                                 <type name="Gee.Set" c:type="GeeSet*">
7347                                         <type name="gpointer" c:type="gpointer"/>
7348                                 </type>
7349                         </return-value>
7350                 </function>
7351                 <property name="read-only-view">
7352                         <type name="Gee.MultiSet" c:type="GeeMultiSet*">
7353                                 <type name="gpointer" c:type="gpointer"/>
7354                         </type>
7355                 </property>
7356         </interface>
7357         <record name="MultiSetIface" c:type="GeeMultiSetIface" glib:is-gtype-struct-for="MultiSet">
7358                 <field name="parent_iface">
7359                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
7360                 </field>
7361                 <field name="count">
7362                         <callback name="count" c:type="count">
7363                                 <return-value transfer-ownership="full">
7364                                         <type name="gint" c:type="gint"/>
7365                                 </return-value>
7366                                 <parameters>
7367                                         <parameter name="self" transfer-ownership="none">
7368                                                 <type name="Gee.MultiSet" c:type="GeeMultiSet*"/>
7369                                         </parameter>
7370                                         <parameter name="item" transfer-ownership="none" allow-none="1">
7371                                                 <type name="gpointer" c:type="gpointer"/>
7372                                         </parameter>
7373                                 </parameters>
7374                         </callback>
7375                 </field>
7376         </record>
7377         <interface name="Queue" c:type="GeeQueue" glib:type-name="GeeQueue" glib:get-type="gee_queue_get_type" glib:type-struct="QueueIface">
7378                 <prerequisite name="Gee.Collection"/>
7379                 <method name="offer" c:identifier="gee_queue_offer">
7380                         <return-value transfer-ownership="full">
7381                                 <type name="gboolean" c:type="gboolean"/>
7382                         </return-value>
7383                         <parameters>
7384                                 <parameter name="element" transfer-ownership="none" allow-none="1">
7385                                         <type name="gpointer" c:type="gpointer"/>
7386                                 </parameter>
7387                         </parameters>
7388                 </method>
7389                 <virtual-method name="offer" invoker="offer">
7390                         <return-value transfer-ownership="full">
7391                                 <type name="gboolean" c:type="gboolean"/>
7392                         </return-value>
7393                         <parameters>
7394                                 <parameter name="element" transfer-ownership="none" allow-none="1">
7395                                         <type name="gpointer" c:type="gpointer"/>
7396                                 </parameter>
7397                         </parameters>
7398                 </virtual-method>
7399                 <method name="peek" c:identifier="gee_queue_peek">
7400                         <return-value transfer-ownership="full" allow-none="1">
7401                                 <type name="gpointer" c:type="gpointer"/>
7402                         </return-value>
7403                 </method>
7404                 <virtual-method name="peek" invoker="peek">
7405                         <return-value transfer-ownership="full" allow-none="1">
7406                                 <type name="gpointer" c:type="gpointer"/>
7407                         </return-value>
7408                 </virtual-method>
7409                 <method name="poll" c:identifier="gee_queue_poll">
7410                         <return-value transfer-ownership="full" allow-none="1">
7411                                 <type name="gpointer" c:type="gpointer"/>
7412                         </return-value>
7413                 </method>
7414                 <virtual-method name="poll" invoker="poll">
7415                         <return-value transfer-ownership="full" allow-none="1">
7416                                 <type name="gpointer" c:type="gpointer"/>
7417                         </return-value>
7418                 </virtual-method>
7419                 <method name="drain" c:identifier="gee_queue_drain">
7420                         <return-value transfer-ownership="full">
7421                                 <type name="gint" c:type="gint"/>
7422                         </return-value>
7423                         <parameters>
7424                                 <parameter name="recipient" transfer-ownership="none">
7425                                         <type name="Gee.Collection" c:type="GeeCollection*">
7426                                                 <type name="gpointer" c:type="gpointer"/>
7427                                         </type>
7428                                 </parameter>
7429                                 <parameter name="amount" transfer-ownership="none">
7430                                         <type name="gint" c:type="gint"/>
7431                                 </parameter>
7432                         </parameters>
7433                 </method>
7434                 <virtual-method name="drain" invoker="drain">
7435                         <return-value transfer-ownership="full">
7436                                 <type name="gint" c:type="gint"/>
7437                         </return-value>
7438                         <parameters>
7439                                 <parameter name="recipient" transfer-ownership="none">
7440                                         <type name="Gee.Collection" c:type="GeeCollection*">
7441                                                 <type name="gpointer" c:type="gpointer"/>
7442                                         </type>
7443                                 </parameter>
7444                                 <parameter name="amount" transfer-ownership="none">
7445                                         <type name="gint" c:type="gint"/>
7446                                 </parameter>
7447                         </parameters>
7448                 </virtual-method>
7449                 <constant name="UNBOUNDED_CAPACITY" c:identifier="GEE_QUEUE_UNBOUNDED_CAPACITY" value="-1">
7450                         <type name="gint" c:type="gint"/>
7451                 </constant>
7452                 <property name="capacity">
7453                         <type name="gint" c:type="gint"/>
7454                 </property>
7455                 <property name="remaining-capacity">
7456                         <type name="gint" c:type="gint"/>
7457                 </property>
7458                 <property name="is-full">
7459                         <type name="gboolean" c:type="gboolean"/>
7460                 </property>
7461         </interface>
7462         <record name="QueueIface" c:type="GeeQueueIface" glib:is-gtype-struct-for="Queue">
7463                 <field name="parent_iface">
7464                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
7465                 </field>
7466                 <field name="offer">
7467                         <callback name="offer" c:type="offer">
7468                                 <return-value transfer-ownership="full">
7469                                         <type name="gboolean" c:type="gboolean"/>
7470                                 </return-value>
7471                                 <parameters>
7472                                         <parameter name="self" transfer-ownership="none">
7473                                                 <type name="Gee.Queue" c:type="GeeQueue*"/>
7474                                         </parameter>
7475                                         <parameter name="element" transfer-ownership="none" allow-none="1">
7476                                                 <type name="gpointer" c:type="gpointer"/>
7477                                         </parameter>
7478                                 </parameters>
7479                         </callback>
7480                 </field>
7481                 <field name="peek">
7482                         <callback name="peek" c:type="peek">
7483                                 <return-value transfer-ownership="full" allow-none="1">
7484                                         <type name="gpointer" c:type="gpointer"/>
7485                                 </return-value>
7486                                 <parameters>
7487                                         <parameter name="self" transfer-ownership="none">
7488                                                 <type name="Gee.Queue" c:type="GeeQueue*"/>
7489                                         </parameter>
7490                                 </parameters>
7491                         </callback>
7492                 </field>
7493                 <field name="poll">
7494                         <callback name="poll" c:type="poll">
7495                                 <return-value transfer-ownership="full" allow-none="1">
7496                                         <type name="gpointer" c:type="gpointer"/>
7497                                 </return-value>
7498                                 <parameters>
7499                                         <parameter name="self" transfer-ownership="none">
7500                                                 <type name="Gee.Queue" c:type="GeeQueue*"/>
7501                                         </parameter>
7502                                 </parameters>
7503                         </callback>
7504                 </field>
7505                 <field name="drain">
7506                         <callback name="drain" c:type="drain">
7507                                 <return-value transfer-ownership="full">
7508                                         <type name="gint" c:type="gint"/>
7509                                 </return-value>
7510                                 <parameters>
7511                                         <parameter name="self" transfer-ownership="none">
7512                                                 <type name="Gee.Queue" c:type="GeeQueue*"/>
7513                                         </parameter>
7514                                         <parameter name="recipient" transfer-ownership="none">
7515                                                 <type name="Gee.Collection" c:type="GeeCollection*">
7516                                                         <type name="gpointer" c:type="gpointer"/>
7517                                                 </type>
7518                                         </parameter>
7519                                         <parameter name="amount" transfer-ownership="none">
7520                                                 <type name="gint" c:type="gint"/>
7521                                         </parameter>
7522                                 </parameters>
7523                         </callback>
7524                 </field>
7525         </record>
7526         <interface name="Set" c:type="GeeSet" glib:type-name="GeeSet" glib:get-type="gee_set_get_type" glib:type-struct="SetIface">
7527                 <prerequisite name="Gee.Collection"/>
7528                 <function name="empty" c:identifier="gee_set_empty">
7529                         <return-value transfer-ownership="full">
7530                                 <type name="Gee.Set" c:type="GeeSet*">
7531                                         <type name="gpointer" c:type="gpointer"/>
7532                                 </type>
7533                         </return-value>
7534                 </function>
7535                 <property name="read-only-view">
7536                         <type name="Gee.Set" c:type="GeeSet*">
7537                                 <type name="gpointer" c:type="gpointer"/>
7538                         </type>
7539                 </property>
7540         </interface>
7541         <record name="SetIface" c:type="GeeSetIface" glib:is-gtype-struct-for="Set">
7542                 <field name="parent_iface">
7543                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
7544                 </field>
7545         </record>
7546         <interface name="SortedMap" c:type="GeeSortedMap" glib:type-name="GeeSortedMap" glib:get-type="gee_sorted_map_get_type" glib:type-struct="SortedMapIface">
7547                 <prerequisite name="Gee.Map"/>
7548                 <method name="head_map" c:identifier="gee_sorted_map_head_map">
7549                         <return-value transfer-ownership="full">
7550                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*">
7551                                         <type name="gpointer" c:type="gpointer"/>
7552                                         <type name="gpointer" c:type="gpointer"/>
7553                                 </type>
7554                         </return-value>
7555                         <parameters>
7556                                 <parameter name="before" transfer-ownership="none" allow-none="1">
7557                                         <type name="gpointer" c:type="gpointer"/>
7558                                 </parameter>
7559                         </parameters>
7560                 </method>
7561                 <virtual-method name="head_map" invoker="head_map">
7562                         <return-value transfer-ownership="full">
7563                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*">
7564                                         <type name="gpointer" c:type="gpointer"/>
7565                                         <type name="gpointer" c:type="gpointer"/>
7566                                 </type>
7567                         </return-value>
7568                         <parameters>
7569                                 <parameter name="before" transfer-ownership="none" allow-none="1">
7570                                         <type name="gpointer" c:type="gpointer"/>
7571                                 </parameter>
7572                         </parameters>
7573                 </virtual-method>
7574                 <method name="tail_map" c:identifier="gee_sorted_map_tail_map">
7575                         <return-value transfer-ownership="full">
7576                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*">
7577                                         <type name="gpointer" c:type="gpointer"/>
7578                                         <type name="gpointer" c:type="gpointer"/>
7579                                 </type>
7580                         </return-value>
7581                         <parameters>
7582                                 <parameter name="after" transfer-ownership="none" allow-none="1">
7583                                         <type name="gpointer" c:type="gpointer"/>
7584                                 </parameter>
7585                         </parameters>
7586                 </method>
7587                 <virtual-method name="tail_map" invoker="tail_map">
7588                         <return-value transfer-ownership="full">
7589                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*">
7590                                         <type name="gpointer" c:type="gpointer"/>
7591                                         <type name="gpointer" c:type="gpointer"/>
7592                                 </type>
7593                         </return-value>
7594                         <parameters>
7595                                 <parameter name="after" transfer-ownership="none" allow-none="1">
7596                                         <type name="gpointer" c:type="gpointer"/>
7597                                 </parameter>
7598                         </parameters>
7599                 </virtual-method>
7600                 <method name="sub_map" c:identifier="gee_sorted_map_sub_map">
7601                         <return-value transfer-ownership="full">
7602                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*">
7603                                         <type name="gpointer" c:type="gpointer"/>
7604                                         <type name="gpointer" c:type="gpointer"/>
7605                                 </type>
7606                         </return-value>
7607                         <parameters>
7608                                 <parameter name="before" transfer-ownership="none" allow-none="1">
7609                                         <type name="gpointer" c:type="gpointer"/>
7610                                 </parameter>
7611                                 <parameter name="after" transfer-ownership="none" allow-none="1">
7612                                         <type name="gpointer" c:type="gpointer"/>
7613                                 </parameter>
7614                         </parameters>
7615                 </method>
7616                 <virtual-method name="sub_map" invoker="sub_map">
7617                         <return-value transfer-ownership="full">
7618                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*">
7619                                         <type name="gpointer" c:type="gpointer"/>
7620                                         <type name="gpointer" c:type="gpointer"/>
7621                                 </type>
7622                         </return-value>
7623                         <parameters>
7624                                 <parameter name="before" transfer-ownership="none" allow-none="1">
7625                                         <type name="gpointer" c:type="gpointer"/>
7626                                 </parameter>
7627                                 <parameter name="after" transfer-ownership="none" allow-none="1">
7628                                         <type name="gpointer" c:type="gpointer"/>
7629                                 </parameter>
7630                         </parameters>
7631                 </virtual-method>
7632                 <function name="empty" c:identifier="gee_sorted_map_empty">
7633                         <return-value transfer-ownership="full">
7634                                 <type name="Gee.Map" c:type="GeeMap*">
7635                                         <type name="gpointer" c:type="gpointer"/>
7636                                         <type name="gpointer" c:type="gpointer"/>
7637                                 </type>
7638                         </return-value>
7639                 </function>
7640                 <property name="ascending-keys">
7641                         <type name="Gee.SortedSet" c:type="GeeSortedSet*">
7642                                 <type name="gpointer" c:type="gpointer"/>
7643                         </type>
7644                 </property>
7645                 <property name="ascending-entries">
7646                         <type name="Gee.SortedSet" c:type="GeeSortedSet*">
7647                                 <type name="Gee.MapEntry" c:type="GeeMapEntry*">
7648                                         <type name="gpointer" c:type="gpointer"/>
7649                                         <type name="gpointer" c:type="gpointer"/>
7650                                 </type>
7651                         </type>
7652                 </property>
7653                 <property name="read-only-view">
7654                         <type name="Gee.SortedMap" c:type="GeeSortedMap*">
7655                                 <type name="gpointer" c:type="gpointer"/>
7656                                 <type name="gpointer" c:type="gpointer"/>
7657                         </type>
7658                 </property>
7659         </interface>
7660         <record name="SortedMapIface" c:type="GeeSortedMapIface" glib:is-gtype-struct-for="SortedMap">
7661                 <field name="parent_iface">
7662                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
7663                 </field>
7664                 <field name="head_map">
7665                         <callback name="head_map" c:type="head_map">
7666                                 <return-value transfer-ownership="full">
7667                                         <type name="Gee.SortedMap" c:type="GeeSortedMap*">
7668                                                 <type name="gpointer" c:type="gpointer"/>
7669                                                 <type name="gpointer" c:type="gpointer"/>
7670                                         </type>
7671                                 </return-value>
7672                                 <parameters>
7673                                         <parameter name="self" transfer-ownership="none">
7674                                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*"/>
7675                                         </parameter>
7676                                         <parameter name="before" transfer-ownership="none" allow-none="1">
7677                                                 <type name="gpointer" c:type="gpointer"/>
7678                                         </parameter>
7679                                 </parameters>
7680                         </callback>
7681                 </field>
7682                 <field name="tail_map">
7683                         <callback name="tail_map" c:type="tail_map">
7684                                 <return-value transfer-ownership="full">
7685                                         <type name="Gee.SortedMap" c:type="GeeSortedMap*">
7686                                                 <type name="gpointer" c:type="gpointer"/>
7687                                                 <type name="gpointer" c:type="gpointer"/>
7688                                         </type>
7689                                 </return-value>
7690                                 <parameters>
7691                                         <parameter name="self" transfer-ownership="none">
7692                                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*"/>
7693                                         </parameter>
7694                                         <parameter name="after" transfer-ownership="none" allow-none="1">
7695                                                 <type name="gpointer" c:type="gpointer"/>
7696                                         </parameter>
7697                                 </parameters>
7698                         </callback>
7699                 </field>
7700                 <field name="sub_map">
7701                         <callback name="sub_map" c:type="sub_map">
7702                                 <return-value transfer-ownership="full">
7703                                         <type name="Gee.SortedMap" c:type="GeeSortedMap*">
7704                                                 <type name="gpointer" c:type="gpointer"/>
7705                                                 <type name="gpointer" c:type="gpointer"/>
7706                                         </type>
7707                                 </return-value>
7708                                 <parameters>
7709                                         <parameter name="self" transfer-ownership="none">
7710                                                 <type name="Gee.SortedMap" c:type="GeeSortedMap*"/>
7711                                         </parameter>
7712                                         <parameter name="before" transfer-ownership="none" allow-none="1">
7713                                                 <type name="gpointer" c:type="gpointer"/>
7714                                         </parameter>
7715                                         <parameter name="after" transfer-ownership="none" allow-none="1">
7716                                                 <type name="gpointer" c:type="gpointer"/>
7717                                         </parameter>
7718                                 </parameters>
7719                         </callback>
7720                 </field>
7721         </record>
7722         <interface name="SortedSet" c:type="GeeSortedSet" glib:type-name="GeeSortedSet" glib:get-type="gee_sorted_set_get_type" glib:type-struct="SortedSetIface">
7723                 <prerequisite name="Gee.Set"/>
7724                 <method name="first" c:identifier="gee_sorted_set_first">
7725                         <return-value transfer-ownership="full" allow-none="1">
7726                                 <type name="gpointer" c:type="gpointer"/>
7727                         </return-value>
7728                 </method>
7729                 <virtual-method name="first" invoker="first">
7730                         <return-value transfer-ownership="full" allow-none="1">
7731                                 <type name="gpointer" c:type="gpointer"/>
7732                         </return-value>
7733                 </virtual-method>
7734                 <method name="last" c:identifier="gee_sorted_set_last">
7735                         <return-value transfer-ownership="full" allow-none="1">
7736                                 <type name="gpointer" c:type="gpointer"/>
7737                         </return-value>
7738                 </method>
7739                 <virtual-method name="last" invoker="last">
7740                         <return-value transfer-ownership="full" allow-none="1">
7741                                 <type name="gpointer" c:type="gpointer"/>
7742                         </return-value>
7743                 </virtual-method>
7744                 <method name="iterator_at" c:identifier="gee_sorted_set_iterator_at">
7745                         <return-value transfer-ownership="full" allow-none="1">
7746                                 <type name="Gee.Iterator" c:type="GeeIterator*">
7747                                         <type name="gpointer" c:type="gpointer"/>
7748                                 </type>
7749                         </return-value>
7750                         <parameters>
7751                                 <parameter name="element" transfer-ownership="none" allow-none="1">
7752                                         <type name="gpointer" c:type="gpointer"/>
7753                                 </parameter>
7754                         </parameters>
7755                 </method>
7756                 <virtual-method name="iterator_at" invoker="iterator_at">
7757                         <return-value transfer-ownership="full" allow-none="1">
7758                                 <type name="Gee.Iterator" c:type="GeeIterator*">
7759                                         <type name="gpointer" c:type="gpointer"/>
7760                                 </type>
7761                         </return-value>
7762                         <parameters>
7763                                 <parameter name="element" transfer-ownership="none" allow-none="1">
7764                                         <type name="gpointer" c:type="gpointer"/>
7765                                 </parameter>
7766                         </parameters>
7767                 </virtual-method>
7768                 <method name="lower" c:identifier="gee_sorted_set_lower">
7769                         <return-value transfer-ownership="full" allow-none="1">
7770                                 <type name="gpointer" c:type="gpointer"/>
7771                         </return-value>
7772                         <parameters>
7773                                 <parameter name="element" transfer-ownership="none" allow-none="1">
7774                                         <type name="gpointer" c:type="gpointer"/>
7775                                 </parameter>
7776                         </parameters>
7777                 </method>
7778                 <virtual-method name="lower" invoker="lower">
7779                         <return-value transfer-ownership="full" allow-none="1">
7780                                 <type name="gpointer" c:type="gpointer"/>
7781                         </return-value>
7782                         <parameters>
7783                                 <parameter name="element" transfer-ownership="none" allow-none="1">
7784                                         <type name="gpointer" c:type="gpointer"/>
7785                                 </parameter>
7786                         </parameters>
7787                 </virtual-method>
7788                 <method name="higher" c:identifier="gee_sorted_set_higher">
7789                         <return-value transfer-ownership="full" allow-none="1">
7790                                 <type name="gpointer" c:type="gpointer"/>
7791                         </return-value>
7792                         <parameters>
7793                                 <parameter name="element" transfer-ownership="none" allow-none="1">
7794                                         <type name="gpointer" c:type="gpointer"/>
7795                                 </parameter>
7796                         </parameters>
7797                 </method>
7798                 <virtual-method name="higher" invoker="higher">
7799                         <return-value transfer-ownership="full" allow-none="1">
7800                                 <type name="gpointer" c:type="gpointer"/>
7801                         </return-value>
7802                         <parameters>
7803                                 <parameter name="element" transfer-ownership="none" allow-none="1">
7804                                         <type name="gpointer" c:type="gpointer"/>
7805                                 </parameter>
7806                         </parameters>
7807                 </virtual-method>
7808                 <method name="floor" c:identifier="gee_sorted_set_floor">
7809                         <return-value transfer-ownership="full" allow-none="1">
7810                                 <type name="gpointer" c:type="gpointer"/>
7811                         </return-value>
7812                         <parameters>
7813                                 <parameter name="element" transfer-ownership="none" allow-none="1">
7814                                         <type name="gpointer" c:type="gpointer"/>
7815                                 </parameter>
7816                         </parameters>
7817                 </method>
7818                 <virtual-method name="floor" invoker="floor">
7819                         <return-value transfer-ownership="full" allow-none="1">
7820                                 <type name="gpointer" c:type="gpointer"/>
7821                         </return-value>
7822                         <parameters>
7823                                 <parameter name="element" transfer-ownership="none" allow-none="1">
7824                                         <type name="gpointer" c:type="gpointer"/>
7825                                 </parameter>
7826                         </parameters>
7827                 </virtual-method>
7828                 <method name="ceil" c:identifier="gee_sorted_set_ceil">
7829                         <return-value transfer-ownership="full" allow-none="1">
7830                                 <type name="gpointer" c:type="gpointer"/>
7831                         </return-value>
7832                         <parameters>
7833                                 <parameter name="element" transfer-ownership="none" allow-none="1">
7834                                         <type name="gpointer" c:type="gpointer"/>
7835                                 </parameter>
7836                         </parameters>
7837                 </method>
7838                 <virtual-method name="ceil" invoker="ceil">
7839                         <return-value transfer-ownership="full" allow-none="1">
7840                                 <type name="gpointer" c:type="gpointer"/>
7841                         </return-value>
7842                         <parameters>
7843                                 <parameter name="element" transfer-ownership="none" allow-none="1">
7844                                         <type name="gpointer" c:type="gpointer"/>
7845                                 </parameter>
7846                         </parameters>
7847                 </virtual-method>
7848                 <method name="head_set" c:identifier="gee_sorted_set_head_set">
7849                         <return-value transfer-ownership="full">
7850                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*">
7851                                         <type name="gpointer" c:type="gpointer"/>
7852                                 </type>
7853                         </return-value>
7854                         <parameters>
7855                                 <parameter name="before" transfer-ownership="none" allow-none="1">
7856                                         <type name="gpointer" c:type="gpointer"/>
7857                                 </parameter>
7858                         </parameters>
7859                 </method>
7860                 <virtual-method name="head_set" invoker="head_set">
7861                         <return-value transfer-ownership="full">
7862                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*">
7863                                         <type name="gpointer" c:type="gpointer"/>
7864                                 </type>
7865                         </return-value>
7866                         <parameters>
7867                                 <parameter name="before" transfer-ownership="none" allow-none="1">
7868                                         <type name="gpointer" c:type="gpointer"/>
7869                                 </parameter>
7870                         </parameters>
7871                 </virtual-method>
7872                 <method name="tail_set" c:identifier="gee_sorted_set_tail_set">
7873                         <return-value transfer-ownership="full">
7874                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*">
7875                                         <type name="gpointer" c:type="gpointer"/>
7876                                 </type>
7877                         </return-value>
7878                         <parameters>
7879                                 <parameter name="after" transfer-ownership="none" allow-none="1">
7880                                         <type name="gpointer" c:type="gpointer"/>
7881                                 </parameter>
7882                         </parameters>
7883                 </method>
7884                 <virtual-method name="tail_set" invoker="tail_set">
7885                         <return-value transfer-ownership="full">
7886                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*">
7887                                         <type name="gpointer" c:type="gpointer"/>
7888                                 </type>
7889                         </return-value>
7890                         <parameters>
7891                                 <parameter name="after" transfer-ownership="none" allow-none="1">
7892                                         <type name="gpointer" c:type="gpointer"/>
7893                                 </parameter>
7894                         </parameters>
7895                 </virtual-method>
7896                 <method name="sub_set" c:identifier="gee_sorted_set_sub_set">
7897                         <return-value transfer-ownership="full">
7898                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*">
7899                                         <type name="gpointer" c:type="gpointer"/>
7900                                 </type>
7901                         </return-value>
7902                         <parameters>
7903                                 <parameter name="from" transfer-ownership="none" allow-none="1">
7904                                         <type name="gpointer" c:type="gpointer"/>
7905                                 </parameter>
7906                                 <parameter name="to" transfer-ownership="none" allow-none="1">
7907                                         <type name="gpointer" c:type="gpointer"/>
7908                                 </parameter>
7909                         </parameters>
7910                 </method>
7911                 <virtual-method name="sub_set" invoker="sub_set">
7912                         <return-value transfer-ownership="full">
7913                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*">
7914                                         <type name="gpointer" c:type="gpointer"/>
7915                                 </type>
7916                         </return-value>
7917                         <parameters>
7918                                 <parameter name="from" transfer-ownership="none" allow-none="1">
7919                                         <type name="gpointer" c:type="gpointer"/>
7920                                 </parameter>
7921                                 <parameter name="to" transfer-ownership="none" allow-none="1">
7922                                         <type name="gpointer" c:type="gpointer"/>
7923                                 </parameter>
7924                         </parameters>
7925                 </virtual-method>
7926                 <function name="empty" c:identifier="gee_sorted_set_empty">
7927                         <return-value transfer-ownership="full">
7928                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*">
7929                                         <type name="gpointer" c:type="gpointer"/>
7930                                 </type>
7931                         </return-value>
7932                 </function>
7933                 <property name="read-only-view">
7934                         <type name="Gee.SortedSet" c:type="GeeSortedSet*">
7935                                 <type name="gpointer" c:type="gpointer"/>
7936                         </type>
7937                 </property>
7938         </interface>
7939         <record name="SortedSetIface" c:type="GeeSortedSetIface" glib:is-gtype-struct-for="SortedSet">
7940                 <field name="parent_iface">
7941                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
7942                 </field>
7943                 <field name="first">
7944                         <callback name="first" c:type="first">
7945                                 <return-value transfer-ownership="full" allow-none="1">
7946                                         <type name="gpointer" c:type="gpointer"/>
7947                                 </return-value>
7948                                 <parameters>
7949                                         <parameter name="self" transfer-ownership="none">
7950                                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
7951                                         </parameter>
7952                                 </parameters>
7953                         </callback>
7954                 </field>
7955                 <field name="last">
7956                         <callback name="last" c:type="last">
7957                                 <return-value transfer-ownership="full" allow-none="1">
7958                                         <type name="gpointer" c:type="gpointer"/>
7959                                 </return-value>
7960                                 <parameters>
7961                                         <parameter name="self" transfer-ownership="none">
7962                                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
7963                                         </parameter>
7964                                 </parameters>
7965                         </callback>
7966                 </field>
7967                 <field name="iterator_at">
7968                         <callback name="iterator_at" c:type="iterator_at">
7969                                 <return-value transfer-ownership="full" allow-none="1">
7970                                         <type name="Gee.Iterator" c:type="GeeIterator*">
7971                                                 <type name="gpointer" c:type="gpointer"/>
7972                                         </type>
7973                                 </return-value>
7974                                 <parameters>
7975                                         <parameter name="self" transfer-ownership="none">
7976                                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
7977                                         </parameter>
7978                                         <parameter name="element" transfer-ownership="none" allow-none="1">
7979                                                 <type name="gpointer" c:type="gpointer"/>
7980                                         </parameter>
7981                                 </parameters>
7982                         </callback>
7983                 </field>
7984                 <field name="lower">
7985                         <callback name="lower" c:type="lower">
7986                                 <return-value transfer-ownership="full" allow-none="1">
7987                                         <type name="gpointer" c:type="gpointer"/>
7988                                 </return-value>
7989                                 <parameters>
7990                                         <parameter name="self" transfer-ownership="none">
7991                                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
7992                                         </parameter>
7993                                         <parameter name="element" transfer-ownership="none" allow-none="1">
7994                                                 <type name="gpointer" c:type="gpointer"/>
7995                                         </parameter>
7996                                 </parameters>
7997                         </callback>
7998                 </field>
7999                 <field name="higher">
8000                         <callback name="higher" c:type="higher">
8001                                 <return-value transfer-ownership="full" allow-none="1">
8002                                         <type name="gpointer" c:type="gpointer"/>
8003                                 </return-value>
8004                                 <parameters>
8005                                         <parameter name="self" transfer-ownership="none">
8006                                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
8007                                         </parameter>
8008                                         <parameter name="element" transfer-ownership="none" allow-none="1">
8009                                                 <type name="gpointer" c:type="gpointer"/>
8010                                         </parameter>
8011                                 </parameters>
8012                         </callback>
8013                 </field>
8014                 <field name="floor">
8015                         <callback name="floor" c:type="floor">
8016                                 <return-value transfer-ownership="full" allow-none="1">
8017                                         <type name="gpointer" c:type="gpointer"/>
8018                                 </return-value>
8019                                 <parameters>
8020                                         <parameter name="self" transfer-ownership="none">
8021                                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
8022                                         </parameter>
8023                                         <parameter name="element" transfer-ownership="none" allow-none="1">
8024                                                 <type name="gpointer" c:type="gpointer"/>
8025                                         </parameter>
8026                                 </parameters>
8027                         </callback>
8028                 </field>
8029                 <field name="ceil">
8030                         <callback name="ceil" c:type="ceil">
8031                                 <return-value transfer-ownership="full" allow-none="1">
8032                                         <type name="gpointer" c:type="gpointer"/>
8033                                 </return-value>
8034                                 <parameters>
8035                                         <parameter name="self" transfer-ownership="none">
8036                                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
8037                                         </parameter>
8038                                         <parameter name="element" transfer-ownership="none" allow-none="1">
8039                                                 <type name="gpointer" c:type="gpointer"/>
8040                                         </parameter>
8041                                 </parameters>
8042                         </callback>
8043                 </field>
8044                 <field name="head_set">
8045                         <callback name="head_set" c:type="head_set">
8046                                 <return-value transfer-ownership="full">
8047                                         <type name="Gee.SortedSet" c:type="GeeSortedSet*">
8048                                                 <type name="gpointer" c:type="gpointer"/>
8049                                         </type>
8050                                 </return-value>
8051                                 <parameters>
8052                                         <parameter name="self" transfer-ownership="none">
8053                                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
8054                                         </parameter>
8055                                         <parameter name="before" transfer-ownership="none" allow-none="1">
8056                                                 <type name="gpointer" c:type="gpointer"/>
8057                                         </parameter>
8058                                 </parameters>
8059                         </callback>
8060                 </field>
8061                 <field name="tail_set">
8062                         <callback name="tail_set" c:type="tail_set">
8063                                 <return-value transfer-ownership="full">
8064                                         <type name="Gee.SortedSet" c:type="GeeSortedSet*">
8065                                                 <type name="gpointer" c:type="gpointer"/>
8066                                         </type>
8067                                 </return-value>
8068                                 <parameters>
8069                                         <parameter name="self" transfer-ownership="none">
8070                                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
8071                                         </parameter>
8072                                         <parameter name="after" transfer-ownership="none" allow-none="1">
8073                                                 <type name="gpointer" c:type="gpointer"/>
8074                                         </parameter>
8075                                 </parameters>
8076                         </callback>
8077                 </field>
8078                 <field name="sub_set">
8079                         <callback name="sub_set" c:type="sub_set">
8080                                 <return-value transfer-ownership="full">
8081                                         <type name="Gee.SortedSet" c:type="GeeSortedSet*">
8082                                                 <type name="gpointer" c:type="gpointer"/>
8083                                         </type>
8084                                 </return-value>
8085                                 <parameters>
8086                                         <parameter name="self" transfer-ownership="none">
8087                                                 <type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
8088                                         </parameter>
8089                                         <parameter name="from" transfer-ownership="none" allow-none="1">
8090                                                 <type name="gpointer" c:type="gpointer"/>
8091                                         </parameter>
8092                                         <parameter name="to" transfer-ownership="none" allow-none="1">
8093                                                 <type name="gpointer" c:type="gpointer"/>
8094                                         </parameter>
8095                                 </parameters>
8096                         </callback>
8097                 </field>
8098         </record>
8099         <interface name="Traversable" c:type="GeeTraversable" glib:type-name="GeeTraversable" glib:get-type="gee_traversable_get_type" glib:type-struct="TraversableIface">
8100                 <prerequisite name="GObject.Object"/>
8101                 <method name="foreach" c:identifier="gee_traversable_foreach">
8102                         <return-value transfer-ownership="full">
8103                                 <type name="gboolean" c:type="gboolean"/>
8104                         </return-value>
8105                         <parameters>
8106                                 <parameter name="f" transfer-ownership="none" closure="1">
8107                                         <type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
8108                                 </parameter>
8109                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
8110                                         <type name="gpointer" c:type="void*"/>
8111                                 </parameter>
8112                         </parameters>
8113                 </method>
8114                 <virtual-method name="foreach" invoker="foreach">
8115                         <return-value transfer-ownership="full">
8116                                 <type name="gboolean" c:type="gboolean"/>
8117                         </return-value>
8118                         <parameters>
8119                                 <parameter name="f" transfer-ownership="none" closure="1">
8120                                         <type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
8121                                 </parameter>
8122                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
8123                                         <type name="gpointer" c:type="void*"/>
8124                                 </parameter>
8125                         </parameters>
8126                 </virtual-method>
8127                 <method name="stream" c:identifier="gee_traversable_stream">
8128                         <return-value transfer-ownership="full">
8129                                 <type name="Gee.Iterator" c:type="GeeIterator*">
8130                                         <type name="gpointer" c:type="gpointer"/>
8131                                 </type>
8132                         </return-value>
8133                         <parameters>
8134                                 <parameter name="f" transfer-ownership="none" closure="1" destroy="2">
8135                                         <type name="Gee.StreamFunc" c:type="GeeStreamFunc"/>
8136                                 </parameter>
8137                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
8138                                         <type name="gpointer" c:type="void*"/>
8139                                 </parameter>
8140                                 <parameter name="f_target_destroy_notify" transfer-ownership="none">
8141                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
8142                                 </parameter>
8143                         </parameters>
8144                 </method>
8145                 <virtual-method name="stream" invoker="stream">
8146                         <return-value transfer-ownership="full">
8147                                 <type name="Gee.Iterator" c:type="GeeIterator*">
8148                                         <type name="gpointer" c:type="gpointer"/>
8149                                 </type>
8150                         </return-value>
8151                         <parameters>
8152                                 <parameter name="f" transfer-ownership="none" closure="1" destroy="2">
8153                                         <type name="Gee.StreamFunc" c:type="GeeStreamFunc"/>
8154                                 </parameter>
8155                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
8156                                         <type name="gpointer" c:type="void*"/>
8157                                 </parameter>
8158                                 <parameter name="f_target_destroy_notify" transfer-ownership="none">
8159                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
8160                                 </parameter>
8161                         </parameters>
8162                 </virtual-method>
8163                 <method name="fold" c:identifier="gee_traversable_fold">
8164                         <return-value transfer-ownership="full" allow-none="1">
8165                                 <type name="gpointer" c:type="gpointer"/>
8166                         </return-value>
8167                         <parameters>
8168                                 <parameter name="f" transfer-ownership="none" closure="1">
8169                                         <type name="Gee.FoldFunc" c:type="GeeFoldFunc"/>
8170                                 </parameter>
8171                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
8172                                         <type name="gpointer" c:type="void*"/>
8173                                 </parameter>
8174                                 <parameter name="seed" transfer-ownership="full" allow-none="1">
8175                                         <type name="gpointer" c:type="gpointer"/>
8176                                 </parameter>
8177                         </parameters>
8178                 </method>
8179                 <virtual-method name="fold" invoker="fold">
8180                         <return-value transfer-ownership="full" allow-none="1">
8181                                 <type name="gpointer" c:type="gpointer"/>
8182                         </return-value>
8183                         <parameters>
8184                                 <parameter name="f" transfer-ownership="none" closure="1">
8185                                         <type name="Gee.FoldFunc" c:type="GeeFoldFunc"/>
8186                                 </parameter>
8187                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
8188                                         <type name="gpointer" c:type="void*"/>
8189                                 </parameter>
8190                                 <parameter name="seed" transfer-ownership="full" allow-none="1">
8191                                         <type name="gpointer" c:type="gpointer"/>
8192                                 </parameter>
8193                         </parameters>
8194                 </virtual-method>
8195                 <method name="map" c:identifier="gee_traversable_map">
8196                         <return-value transfer-ownership="full">
8197                                 <type name="Gee.Iterator" c:type="GeeIterator*">
8198                                         <type name="gpointer" c:type="gpointer"/>
8199                                 </type>
8200                         </return-value>
8201                         <parameters>
8202                                 <parameter name="f" transfer-ownership="none" closure="1">
8203                                         <type name="Gee.MapFunc" c:type="GeeMapFunc"/>
8204                                 </parameter>
8205                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
8206                                         <type name="gpointer" c:type="void*"/>
8207                                 </parameter>
8208                         </parameters>
8209                 </method>
8210                 <virtual-method name="map" invoker="map">
8211                         <return-value transfer-ownership="full">
8212                                 <type name="Gee.Iterator" c:type="GeeIterator*">
8213                                         <type name="gpointer" c:type="gpointer"/>
8214                                 </type>
8215                         </return-value>
8216                         <parameters>
8217                                 <parameter name="f" transfer-ownership="none" closure="1">
8218                                         <type name="Gee.MapFunc" c:type="GeeMapFunc"/>
8219                                 </parameter>
8220                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
8221                                         <type name="gpointer" c:type="void*"/>
8222                                 </parameter>
8223                         </parameters>
8224                 </virtual-method>
8225                 <method name="scan" c:identifier="gee_traversable_scan">
8226                         <return-value transfer-ownership="full">
8227                                 <type name="Gee.Iterator" c:type="GeeIterator*">
8228                                         <type name="gpointer" c:type="gpointer"/>
8229                                 </type>
8230                         </return-value>
8231                         <parameters>
8232                                 <parameter name="f" transfer-ownership="none" closure="1">
8233                                         <type name="Gee.FoldFunc" c:type="GeeFoldFunc"/>
8234                                 </parameter>
8235                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
8236                                         <type name="gpointer" c:type="void*"/>
8237                                 </parameter>
8238                                 <parameter name="seed" transfer-ownership="full" allow-none="1">
8239                                         <type name="gpointer" c:type="gpointer"/>
8240                                 </parameter>
8241                         </parameters>
8242                 </method>
8243                 <virtual-method name="scan" invoker="scan">
8244                         <return-value transfer-ownership="full">
8245                                 <type name="Gee.Iterator" c:type="GeeIterator*">
8246                                         <type name="gpointer" c:type="gpointer"/>
8247                                 </type>
8248                         </return-value>
8249                         <parameters>
8250                                 <parameter name="f" transfer-ownership="none" closure="1">
8251                                         <type name="Gee.FoldFunc" c:type="GeeFoldFunc"/>
8252                                 </parameter>
8253                                 <parameter name="f_target" transfer-ownership="none" allow-none="1">
8254                                         <type name="gpointer" c:type="void*"/>
8255                                 </parameter>
8256                                 <parameter name="seed" transfer-ownership="full" allow-none="1">
8257                                         <type name="gpointer" c:type="gpointer"/>
8258                                 </parameter>
8259                         </parameters>
8260                 </virtual-method>
8261                 <method name="filter" c:identifier="gee_traversable_filter">
8262                         <return-value transfer-ownership="full">
8263                                 <type name="Gee.Iterator" c:type="GeeIterator*">
8264                                         <type name="gpointer" c:type="gpointer"/>
8265                                 </type>
8266                         </return-value>
8267                         <parameters>
8268                                 <parameter name="pred" transfer-ownership="none" closure="1" destroy="2">
8269                                         <type name="Gee.Predicate" c:type="GeePredicate"/>
8270                                 </parameter>
8271                                 <parameter name="pred_target" transfer-ownership="none" allow-none="1">
8272                                         <type name="gpointer" c:type="void*"/>
8273                                 </parameter>
8274                                 <parameter name="pred_target_destroy_notify" transfer-ownership="none">
8275                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
8276                                 </parameter>
8277                         </parameters>
8278                 </method>
8279                 <virtual-method name="filter" invoker="filter">
8280                         <return-value transfer-ownership="full">
8281                                 <type name="Gee.Iterator" c:type="GeeIterator*">
8282                                         <type name="gpointer" c:type="gpointer"/>
8283                                 </type>
8284                         </return-value>
8285                         <parameters>
8286                                 <parameter name="pred" transfer-ownership="none" closure="1" destroy="2">
8287                                         <type name="Gee.Predicate" c:type="GeePredicate"/>
8288                                 </parameter>
8289                                 <parameter name="pred_target" transfer-ownership="none" allow-none="1">
8290                                         <type name="gpointer" c:type="void*"/>
8291                                 </parameter>
8292                                 <parameter name="pred_target_destroy_notify" transfer-ownership="none">
8293                                         <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
8294                                 </parameter>
8295                         </parameters>
8296                 </virtual-method>
8297                 <method name="chop" c:identifier="gee_traversable_chop">
8298                         <return-value transfer-ownership="full">
8299                                 <type name="Gee.Iterator" c:type="GeeIterator*">
8300                                         <type name="gpointer" c:type="gpointer"/>
8301                                 </type>
8302                         </return-value>
8303                         <parameters>
8304                                 <parameter name="offset" transfer-ownership="none">
8305                                         <type name="gint" c:type="gint"/>
8306                                 </parameter>
8307                                 <parameter name="length" transfer-ownership="none">
8308                                         <type name="gint" c:type="gint"/>
8309                                 </parameter>
8310                         </parameters>
8311                 </method>
8312                 <virtual-method name="chop" invoker="chop">
8313                         <return-value transfer-ownership="full">
8314                                 <type name="Gee.Iterator" c:type="GeeIterator*">
8315                                         <type name="gpointer" c:type="gpointer"/>
8316                                 </type>
8317                         </return-value>
8318                         <parameters>
8319                                 <parameter name="offset" transfer-ownership="none">
8320                                         <type name="gint" c:type="gint"/>
8321                                 </parameter>
8322                                 <parameter name="length" transfer-ownership="none">
8323                                         <type name="gint" c:type="gint"/>
8324                                 </parameter>
8325                         </parameters>
8326                 </virtual-method>
8327                 <property name="element-type">
8328                         <type name="GObject.Type" c:type="GType"/>
8329                 </property>
8330         </interface>
8331         <record name="TraversableIface" c:type="GeeTraversableIface" glib:is-gtype-struct-for="Traversable">
8332                 <field name="parent_iface">
8333                         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
8334                 </field>
8335                 <field name="foreach">
8336                         <callback name="foreach" c:type="foreach">
8337                                 <return-value transfer-ownership="full">
8338                                         <type name="gboolean" c:type="gboolean"/>
8339                                 </return-value>
8340                                 <parameters>
8341                                         <parameter name="self" transfer-ownership="none">
8342                                                 <type name="Gee.Traversable" c:type="GeeTraversable*"/>
8343                                         </parameter>
8344                                         <parameter name="f" transfer-ownership="none" closure="2">
8345                                                 <type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
8346                                         </parameter>
8347                                         <parameter name="f_target" transfer-ownership="none" allow-none="1">
8348                                                 <type name="gpointer" c:type="void*"/>
8349                                         </parameter>
8350                                 </parameters>
8351                         </callback>
8352                 </field>
8353                 <field name="stream">
8354                         <callback name="stream" c:type="stream">
8355                                 <return-value transfer-ownership="full">
8356                                         <type name="Gee.Iterator" c:type="GeeIterator*">
8357                                                 <type name="gpointer" c:type="gpointer"/>
8358                                         </type>
8359                                 </return-value>
8360                                 <parameters>
8361                                         <parameter name="self" transfer-ownership="none">
8362                                                 <type name="Gee.Traversable" c:type="GeeTraversable*"/>
8363                                         </parameter>
8364                                         <parameter name="f" transfer-ownership="none" closure="2" destroy="3">
8365                                                 <type name="Gee.StreamFunc" c:type="GeeStreamFunc"/>
8366                                         </parameter>
8367                                         <parameter name="f_target" transfer-ownership="none" allow-none="1">
8368                                                 <type name="gpointer" c:type="void*"/>
8369                                         </parameter>
8370                                         <parameter name="f_target_destroy_notify" transfer-ownership="none">
8371                                                 <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
8372                                         </parameter>
8373                                 </parameters>
8374                         </callback>
8375                 </field>
8376                 <field name="fold">
8377                         <callback name="fold" c:type="fold">
8378                                 <return-value transfer-ownership="full" allow-none="1">
8379                                         <type name="gpointer" c:type="gpointer"/>
8380                                 </return-value>
8381                                 <parameters>
8382                                         <parameter name="self" transfer-ownership="none">
8383                                                 <type name="Gee.Traversable" c:type="GeeTraversable*"/>
8384                                         </parameter>
8385                                         <parameter name="f" transfer-ownership="none" closure="2">
8386                                                 <type name="Gee.FoldFunc" c:type="GeeFoldFunc"/>
8387                                         </parameter>
8388                                         <parameter name="f_target" transfer-ownership="none" allow-none="1">
8389                                                 <type name="gpointer" c:type="void*"/>
8390                                         </parameter>
8391                                         <parameter name="seed" transfer-ownership="full" allow-none="1">
8392                                                 <type name="gpointer" c:type="gpointer"/>
8393                                         </parameter>
8394                                 </parameters>
8395                         </callback>
8396                 </field>
8397                 <field name="map">
8398                         <callback name="map" c:type="map">
8399                                 <return-value transfer-ownership="full">
8400                                         <type name="Gee.Iterator" c:type="GeeIterator*">
8401                                                 <type name="gpointer" c:type="gpointer"/>
8402                                         </type>
8403                                 </return-value>
8404                                 <parameters>
8405                                         <parameter name="self" transfer-ownership="none">
8406                                                 <type name="Gee.Traversable" c:type="GeeTraversable*"/>
8407                                         </parameter>
8408                                         <parameter name="f" transfer-ownership="none" closure="2">
8409                                                 <type name="Gee.MapFunc" c:type="GeeMapFunc"/>
8410                                         </parameter>
8411                                         <parameter name="f_target" transfer-ownership="none" allow-none="1">
8412                                                 <type name="gpointer" c:type="void*"/>
8413                                         </parameter>
8414                                 </parameters>
8415                         </callback>
8416                 </field>
8417                 <field name="scan">
8418                         <callback name="scan" c:type="scan">
8419                                 <return-value transfer-ownership="full">
8420                                         <type name="Gee.Iterator" c:type="GeeIterator*">
8421                                                 <type name="gpointer" c:type="gpointer"/>
8422                                         </type>
8423                                 </return-value>
8424                                 <parameters>
8425                                         <parameter name="self" transfer-ownership="none">
8426                                                 <type name="Gee.Traversable" c:type="GeeTraversable*"/>
8427                                         </parameter>
8428                                         <parameter name="f" transfer-ownership="none" closure="2">
8429                                                 <type name="Gee.FoldFunc" c:type="GeeFoldFunc"/>
8430                                         </parameter>
8431                                         <parameter name="f_target" transfer-ownership="none" allow-none="1">
8432                                                 <type name="gpointer" c:type="void*"/>
8433                                         </parameter>
8434                                         <parameter name="seed" transfer-ownership="full" allow-none="1">
8435                                                 <type name="gpointer" c:type="gpointer"/>
8436                                         </parameter>
8437                                 </parameters>
8438                         </callback>
8439                 </field>
8440                 <field name="filter">
8441                         <callback name="filter" c:type="filter">
8442                                 <return-value transfer-ownership="full">
8443                                         <type name="Gee.Iterator" c:type="GeeIterator*">
8444                                                 <type name="gpointer" c:type="gpointer"/>
8445                                         </type>
8446                                 </return-value>
8447                                 <parameters>
8448                                         <parameter name="self" transfer-ownership="none">
8449                                                 <type name="Gee.Traversable" c:type="GeeTraversable*"/>
8450                                         </parameter>
8451                                         <parameter name="pred" transfer-ownership="none" closure="2" destroy="3">
8452                                                 <type name="Gee.Predicate" c:type="GeePredicate"/>
8453                                         </parameter>
8454                                         <parameter name="pred_target" transfer-ownership="none" allow-none="1">
8455                                                 <type name="gpointer" c:type="void*"/>
8456                                         </parameter>
8457                                         <parameter name="pred_target_destroy_notify" transfer-ownership="none">
8458                                                 <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
8459                                         </parameter>
8460                                 </parameters>
8461                         </callback>
8462                 </field>
8463                 <field name="chop">
8464                         <callback name="chop" c:type="chop">
8465                                 <return-value transfer-ownership="full">
8466                                         <type name="Gee.Iterator" c:type="GeeIterator*">
8467                                                 <type name="gpointer" c:type="gpointer"/>
8468                                         </type>
8469                                 </return-value>
8470                                 <parameters>
8471                                         <parameter name="self" transfer-ownership="none">
8472                                                 <type name="Gee.Traversable" c:type="GeeTraversable*"/>
8473                                         </parameter>
8474                                         <parameter name="offset" transfer-ownership="none">
8475                                                 <type name="gint" c:type="gint"/>
8476                                         </parameter>
8477                                         <parameter name="length" transfer-ownership="none">
8478                                                 <type name="gint" c:type="gint"/>
8479                                         </parameter>
8480                                 </parameters>
8481                         </callback>
8482                 </field>
8483         </record>
8484         <enumeration name="TraversableStream" c:type="GeeTraversableStream" glib:type-name="GeeTraversableStream" glib:get-type="gee_traversable_stream_get_type">
8485                 <member name="yield" c:identifier="GEE_TRAVERSABLE_STREAM_YIELD" value="0"/>
8486                 <member name="continue" c:identifier="GEE_TRAVERSABLE_STREAM_CONTINUE" value="1"/>
8487                 <member name="end" c:identifier="GEE_TRAVERSABLE_STREAM_END" value="2"/>
8488         </enumeration>
8489         <callback name="HashDataFunc" c:type="GeeHashDataFunc">
8490                 <return-value transfer-ownership="full">
8491                         <type name="guint" c:type="guint"/>
8492                 </return-value>
8493                 <parameters>
8494                         <parameter name="v" transfer-ownership="none" allow-none="1">
8495                                 <type name="gpointer" c:type="gpointer"/>
8496                         </parameter>
8497                         <parameter name="user_data" transfer-ownership="none" closure="1">
8498                                 <type name="gpointer" c:type="void*"/>
8499                         </parameter>
8500                 </parameters>
8501         </callback>
8502         <callback name="EqualDataFunc" c:type="GeeEqualDataFunc">
8503                 <return-value transfer-ownership="full">
8504                         <type name="gboolean" c:type="gboolean"/>
8505                 </return-value>
8506                 <parameters>
8507                         <parameter name="a" transfer-ownership="none" allow-none="1">
8508                                 <type name="gpointer" c:type="gpointer"/>
8509                         </parameter>
8510                         <parameter name="b" transfer-ownership="none" allow-none="1">
8511                                 <type name="gpointer" c:type="gpointer"/>
8512                         </parameter>
8513                         <parameter name="user_data" transfer-ownership="none" closure="2">
8514                                 <type name="gpointer" c:type="void*"/>
8515                         </parameter>
8516                 </parameters>
8517         </callback>
8518         <callback name="LazyFunc" c:type="GeeLazyFunc">
8519                 <return-value transfer-ownership="full" allow-none="1">
8520                         <type name="gpointer" c:type="gpointer"/>
8521                 </return-value>
8522         </callback>
8523         <callback name="FoldMapFunc" c:type="GeeFoldMapFunc">
8524                 <return-value transfer-ownership="full" allow-none="1">
8525                         <type name="gpointer" c:type="gpointer"/>
8526                 </return-value>
8527                 <parameters>
8528                         <parameter name="k" transfer-ownership="none" allow-none="1">
8529                                 <type name="gpointer" c:type="gpointer"/>
8530                         </parameter>
8531                         <parameter name="v" transfer-ownership="none" allow-none="1">
8532                                 <type name="gpointer" c:type="gpointer"/>
8533                         </parameter>
8534                         <parameter name="a" transfer-ownership="full" allow-none="1">
8535                                 <type name="gpointer" c:type="gpointer"/>
8536                         </parameter>
8537                         <parameter name="user_data" transfer-ownership="none" closure="3">
8538                                 <type name="gpointer" c:type="void*"/>
8539                         </parameter>
8540                 </parameters>
8541         </callback>
8542         <callback name="ForallMapFunc" c:type="GeeForallMapFunc">
8543                 <return-value transfer-ownership="full">
8544                         <type name="gboolean" c:type="gboolean"/>
8545                 </return-value>
8546                 <parameters>
8547                         <parameter name="k" transfer-ownership="none" allow-none="1">
8548                                 <type name="gpointer" c:type="gpointer"/>
8549                         </parameter>
8550                         <parameter name="v" transfer-ownership="none" allow-none="1">
8551                                 <type name="gpointer" c:type="gpointer"/>
8552                         </parameter>
8553                         <parameter name="user_data" transfer-ownership="none" closure="2">
8554                                 <type name="gpointer" c:type="void*"/>
8555                         </parameter>
8556                 </parameters>
8557         </callback>
8558         <callback name="FoldFunc" c:type="GeeFoldFunc">
8559                 <return-value transfer-ownership="full" allow-none="1">
8560                         <type name="gpointer" c:type="gpointer"/>
8561                 </return-value>
8562                 <parameters>
8563                         <parameter name="g" transfer-ownership="full" allow-none="1">
8564                                 <type name="gpointer" c:type="gpointer"/>
8565                         </parameter>
8566                         <parameter name="a" transfer-ownership="full" allow-none="1">
8567                                 <type name="gpointer" c:type="gpointer"/>
8568                         </parameter>
8569                         <parameter name="user_data" transfer-ownership="none" closure="2">
8570                                 <type name="gpointer" c:type="void*"/>
8571                         </parameter>
8572                 </parameters>
8573         </callback>
8574         <callback name="ForallFunc" c:type="GeeForallFunc">
8575                 <return-value transfer-ownership="full">
8576                         <type name="gboolean" c:type="gboolean"/>
8577                 </return-value>
8578                 <parameters>
8579                         <parameter name="g" transfer-ownership="full" allow-none="1">
8580                                 <type name="gpointer" c:type="gpointer"/>
8581                         </parameter>
8582                         <parameter name="user_data" transfer-ownership="none" closure="1">
8583                                 <type name="gpointer" c:type="void*"/>
8584                         </parameter>
8585                 </parameters>
8586         </callback>
8587         <callback name="UnfoldFunc" c:type="GeeUnfoldFunc">
8588                 <return-value transfer-ownership="full" allow-none="1">
8589                         <type name="Gee.Lazy" c:type="GeeLazy*">
8590                                 <type name="gpointer" c:type="gpointer"/>
8591                         </type>
8592                 </return-value>
8593         </callback>
8594         <callback name="StreamFunc" c:type="GeeStreamFunc">
8595                 <return-value transfer-ownership="full">
8596                         <type name="Gee.TraversableStream" c:type="GeeTraversableStream"/>
8597                 </return-value>
8598                 <parameters>
8599                         <parameter name="state" transfer-ownership="none">
8600                                 <type name="Gee.TraversableStream" c:type="GeeTraversableStream"/>
8601                         </parameter>
8602                         <parameter name="g" transfer-ownership="full" allow-none="1">
8603                                 <type name="Gee.Lazy" c:type="GeeLazy*">
8604                                         <type name="gpointer" c:type="gpointer"/>
8605                                 </type>
8606                         </parameter>
8607                         <parameter name="lazy" direction="out" transfer-ownership="full" allow-none="1">
8608                                 <type name="Gee.Lazy" c:type="GeeLazy*">
8609                                         <type name="gpointer" c:type="gpointer"/>
8610                                 </type>
8611                         </parameter>
8612                         <parameter name="user_data" transfer-ownership="none" closure="3">
8613                                 <type name="gpointer" c:type="void*"/>
8614                         </parameter>
8615                 </parameters>
8616         </callback>
8617         <callback name="MapFunc" c:type="GeeMapFunc">
8618                 <return-value transfer-ownership="full" allow-none="1">
8619                         <type name="gpointer" c:type="gpointer"/>
8620                 </return-value>
8621                 <parameters>
8622                         <parameter name="g" transfer-ownership="full" allow-none="1">
8623                                 <type name="gpointer" c:type="gpointer"/>
8624                         </parameter>
8625                         <parameter name="user_data" transfer-ownership="none" closure="1">
8626                                 <type name="gpointer" c:type="void*"/>
8627                         </parameter>
8628                 </parameters>
8629         </callback>
8630         <callback name="Predicate" c:type="GeePredicate">
8631                 <return-value transfer-ownership="full">
8632                         <type name="gboolean" c:type="gboolean"/>
8633                 </return-value>
8634                 <parameters>
8635                         <parameter name="g" transfer-ownership="none" allow-none="1">
8636                                 <type name="gpointer" c:type="gpointer"/>
8637                         </parameter>
8638                         <parameter name="user_data" transfer-ownership="none" closure="1">
8639                                 <type name="gpointer" c:type="void*"/>
8640                         </parameter>
8641                 </parameters>
8642         </callback>
8643 </namespace>
8644 </repository>