<?xml version="1.0"?>
<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">
<include name="GObject" version="2.0"/>
<include name="GLib" version="2.0"/>
<include name="Gio" version="2.0"/>
<package name="gee-0.8"/>
<c:include name="gee.h"/>
<namespace name="Gee" version="0.8" c:prefix="Gee">
<attribute name="ccode.gir-version" value="0.8"/>
<attribute name="ccode.gir-namespace" value="Gee"/>
<function name="functions_get_equal_func_for" c:identifier="gee_functions_get_equal_func_for">
<return-value transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="t" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<function name="functions_get_hash_func_for" c:identifier="gee_functions_get_hash_func_for">
<return-value transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</return-value>
<parameters>
<parameter name="t" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<function name="functions_get_compare_func_for" c:identifier="gee_functions_get_compare_func_for">
<return-value transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</return-value>
<parameters>
<parameter name="t" transfer-ownership="none">
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<enumeration name="FutureError" c:type="GeeFutureError" glib:error-domain="gee_future_error-quark">
<member name="abandon_promise" c:identifier="GEE_FUTURE_ERROR_ABANDON_PROMISE" value="0"/>
<member name="exception" c:identifier="GEE_FUTURE_ERROR_EXCEPTION" value="1"/>
</enumeration>
<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">
<implements name="Gee.BidirList"/>
<field name="parent_instance">
<type name="Gee.AbstractList" c:type="GeeAbstractList"/>
</field>
<field name="priv">
<type name="AbstractBidirListPrivate" c:type="GeeAbstractBidirListPrivate*"/>
</field>
<method name="bidir_list_iterator" c:identifier="gee_abstract_bidir_list_bidir_list_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="bidir_list_iterator" invoker="bidir_list_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<property name="read-only-view">
<type name="Gee.BidirList" c:type="GeeBidirList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_abstract_bidir_list_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirList" c:type="GeeBidirList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirList" c:type="GeeBidirList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</class>
<record name="AbstractBidirListClass" c:type="GeeAbstractBidirListClass" glib:is-gtype-struct-for="AbstractBidirList">
<field name="parent_class">
<type name="Gee.AbstractListClass" c:type="GeeAbstractListClass"/>
</field>
<field name="bidir_list_iterator">
<callback name="bidir_list_iterator" c:type="bidir_list_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved0">
<callback name="reserved0" c:type="reserved0">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved1">
<callback name="reserved1" c:type="reserved1">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved2">
<callback name="reserved2" c:type="reserved2">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved3">
<callback name="reserved3" c:type="reserved3">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved4">
<callback name="reserved4" c:type="reserved4">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved5">
<callback name="reserved5" c:type="reserved5">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved6">
<callback name="reserved6" c:type="reserved6">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved7">
<callback name="reserved7" c:type="reserved7">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved8">
<callback name="reserved8" c:type="reserved8">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved9">
<callback name="reserved9" c:type="reserved9">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="AbstractBidirListPrivate" c:type="GeeAbstractBidirListPrivate" disguised="1"/>
<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">
<implements name="Gee.BidirSortedSet"/>
<field name="parent_instance">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet"/>
</field>
<field name="priv">
<type name="AbstractBidirSortedSetPrivate" c:type="GeeAbstractBidirSortedSetPrivate*"/>
</field>
<method name="bidir_iterator" c:identifier="gee_abstract_bidir_sorted_set_bidir_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirIterator" c:type="GeeBidirIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="bidir_iterator" invoker="bidir_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirIterator" c:type="GeeBidirIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<property name="read-only-view">
<type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_abstract_bidir_sorted_set_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</class>
<record name="AbstractBidirSortedSetClass" c:type="GeeAbstractBidirSortedSetClass" glib:is-gtype-struct-for="AbstractBidirSortedSet">
<field name="parent_class">
<type name="Gee.AbstractSortedSetClass" c:type="GeeAbstractSortedSetClass"/>
</field>
<field name="bidir_iterator">
<callback name="bidir_iterator" c:type="bidir_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirIterator" c:type="GeeBidirIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved0">
<callback name="reserved0" c:type="reserved0">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved1">
<callback name="reserved1" c:type="reserved1">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved2">
<callback name="reserved2" c:type="reserved2">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved3">
<callback name="reserved3" c:type="reserved3">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved4">
<callback name="reserved4" c:type="reserved4">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved5">
<callback name="reserved5" c:type="reserved5">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved6">
<callback name="reserved6" c:type="reserved6">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved7">
<callback name="reserved7" c:type="reserved7">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved8">
<callback name="reserved8" c:type="reserved8">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved9">
<callback name="reserved9" c:type="reserved9">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="AbstractBidirSortedSetPrivate" c:type="GeeAbstractBidirSortedSetPrivate" disguised="1"/>
<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">
<implements name="Gee.BidirSortedMap"/>
<field name="parent_instance">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap"/>
</field>
<field name="priv">
<type name="AbstractBidirSortedMapPrivate" c:type="GeeAbstractBidirSortedMapPrivate*"/>
</field>
<method name="bidir_map_iterator" c:identifier="gee_abstract_bidir_sorted_map_bidir_map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="bidir_map_iterator" invoker="bidir_map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<property name="read-only-view">
<type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_abstract_bidir_sorted_map_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</class>
<record name="AbstractBidirSortedMapClass" c:type="GeeAbstractBidirSortedMapClass" glib:is-gtype-struct-for="AbstractBidirSortedMap">
<field name="parent_class">
<type name="Gee.AbstractSortedMapClass" c:type="GeeAbstractSortedMapClass"/>
</field>
<field name="bidir_map_iterator">
<callback name="bidir_map_iterator" c:type="bidir_map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved0">
<callback name="reserved0" c:type="reserved0">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved1">
<callback name="reserved1" c:type="reserved1">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved2">
<callback name="reserved2" c:type="reserved2">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved3">
<callback name="reserved3" c:type="reserved3">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved4">
<callback name="reserved4" c:type="reserved4">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved5">
<callback name="reserved5" c:type="reserved5">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved6">
<callback name="reserved6" c:type="reserved6">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved7">
<callback name="reserved7" c:type="reserved7">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved8">
<callback name="reserved8" c:type="reserved8">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved9">
<callback name="reserved9" c:type="reserved9">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="AbstractBidirSortedMapPrivate" c:type="GeeAbstractBidirSortedMapPrivate" disguised="1"/>
<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">
<implements name="Gee.Traversable"/>
<implements name="Gee.Iterable"/>
<implements name="Gee.Collection"/>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="priv">
<type name="AbstractCollectionPrivate" c:type="GeeAbstractCollectionPrivate*"/>
</field>
<method name="contains" c:identifier="gee_abstract_collection_contains">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="contains" invoker="contains">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="add" c:identifier="gee_abstract_collection_add">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="add" invoker="add">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="remove" c:identifier="gee_abstract_collection_remove">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="remove" invoker="remove">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="clear" c:identifier="gee_abstract_collection_clear">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</method>
<virtual-method name="clear" invoker="clear">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</virtual-method>
<method name="iterator" c:identifier="gee_abstract_collection_iterator">
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="iterator" invoker="iterator">
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<method name="foreach" c:identifier="gee_abstract_collection_foreach">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<virtual-method name="foreach" invoker="foreach">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</virtual-method>
<property name="size">
<type name="gint" c:type="gint"/>
</property>
<method name="get_size" c:identifier="gee_abstract_collection_get_size">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</method>
<virtual-method name="get_size" invoker="get_size">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</virtual-method>
<property name="read-only">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_read_only" c:identifier="gee_abstract_collection_get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_read_only" invoker="get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<property name="read-only-view">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_abstract_collection_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</class>
<record name="AbstractCollectionClass" c:type="GeeAbstractCollectionClass" glib:is-gtype-struct-for="AbstractCollection">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="contains">
<callback name="contains" c:type="contains">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="add">
<callback name="add" c:type="add">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="remove">
<callback name="remove" c:type="remove">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="clear">
<callback name="clear" c:type="clear">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="iterator">
<callback name="iterator" c:type="iterator">
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="foreach">
<callback name="foreach" c:type="foreach">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
<parameter name="f" transfer-ownership="none" closure="2" scope="call">
<type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved0">
<callback name="reserved0" c:type="reserved0">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved1">
<callback name="reserved1" c:type="reserved1">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved2">
<callback name="reserved2" c:type="reserved2">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved3">
<callback name="reserved3" c:type="reserved3">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved4">
<callback name="reserved4" c:type="reserved4">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved5">
<callback name="reserved5" c:type="reserved5">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved6">
<callback name="reserved6" c:type="reserved6">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved7">
<callback name="reserved7" c:type="reserved7">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved8">
<callback name="reserved8" c:type="reserved8">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved9">
<callback name="reserved9" c:type="reserved9">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="AbstractCollectionPrivate" c:type="GeeAbstractCollectionPrivate" disguised="1"/>
<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">
<implements name="Gee.List"/>
<field name="parent_instance">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection"/>
</field>
<field name="priv">
<type name="AbstractListPrivate" c:type="GeeAbstractListPrivate*"/>
</field>
<method name="list_iterator" c:identifier="gee_abstract_list_list_iterator">
<return-value transfer-ownership="full">
<type name="Gee.ListIterator" c:type="GeeListIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="list_iterator" invoker="list_iterator">
<return-value transfer-ownership="full">
<type name="Gee.ListIterator" c:type="GeeListIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<method name="get" c:identifier="gee_abstract_list_get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<virtual-method name="get" invoker="get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="set" c:identifier="gee_abstract_list_set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="set" invoker="set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="index_of" c:identifier="gee_abstract_list_index_of">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="index_of" invoker="index_of">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="insert" c:identifier="gee_abstract_list_insert">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="insert" invoker="insert">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="remove_at" c:identifier="gee_abstract_list_remove_at">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<virtual-method name="remove_at" invoker="remove_at">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="slice" c:identifier="gee_abstract_list_slice">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="stop" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<virtual-method name="slice" invoker="slice">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="stop" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<property name="read-only-view">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_abstract_list_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</class>
<record name="AbstractListClass" c:type="GeeAbstractListClass" glib:is-gtype-struct-for="AbstractList">
<field name="parent_class">
<type name="Gee.AbstractCollectionClass" c:type="GeeAbstractCollectionClass"/>
</field>
<field name="list_iterator">
<callback name="list_iterator" c:type="list_iterator">
<return-value transfer-ownership="full">
<type name="Gee.ListIterator" c:type="GeeListIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get">
<callback name="get" c:type="get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set">
<callback name="set" c:type="set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="index_of">
<callback name="index_of" c:type="index_of">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="insert">
<callback name="insert" c:type="insert">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="remove_at">
<callback name="remove_at" c:type="remove_at">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="slice">
<callback name="slice" c:type="slice">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="stop" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved0">
<callback name="reserved0" c:type="reserved0">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved1">
<callback name="reserved1" c:type="reserved1">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved2">
<callback name="reserved2" c:type="reserved2">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved3">
<callback name="reserved3" c:type="reserved3">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved4">
<callback name="reserved4" c:type="reserved4">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved5">
<callback name="reserved5" c:type="reserved5">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved6">
<callback name="reserved6" c:type="reserved6">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved7">
<callback name="reserved7" c:type="reserved7">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved8">
<callback name="reserved8" c:type="reserved8">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved9">
<callback name="reserved9" c:type="reserved9">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractList" c:type="GeeAbstractList*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="AbstractListPrivate" c:type="GeeAbstractListPrivate" disguised="1"/>
<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">
<implements name="Gee.Traversable"/>
<implements name="Gee.Iterable"/>
<implements name="Gee.Map"/>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="priv">
<type name="AbstractMapPrivate" c:type="GeeAbstractMapPrivate*"/>
</field>
<method name="has_key" c:identifier="gee_abstract_map_has_key">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="has_key" invoker="has_key">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="has" c:identifier="gee_abstract_map_has">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="has" invoker="has">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="get" c:identifier="gee_abstract_map_get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="get" invoker="get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="set" c:identifier="gee_abstract_map_set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="set" invoker="set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="unset" c:identifier="gee_abstract_map_unset">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="unset" invoker="unset">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="map_iterator" c:identifier="gee_abstract_map_map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.MapIterator" c:type="GeeMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="map_iterator" invoker="map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.MapIterator" c:type="GeeMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<method name="clear" c:identifier="gee_abstract_map_clear">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</method>
<virtual-method name="clear" invoker="clear">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</virtual-method>
<method name="foreach" c:identifier="gee_abstract_map_foreach">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<virtual-method name="foreach" invoker="foreach">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</virtual-method>
<method name="stream" c:identifier="gee_abstract_map_stream">
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.StreamFunc" c:type="GeeStreamFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="f_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="stream" invoker="stream">
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.StreamFunc" c:type="GeeStreamFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="f_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<property name="size">
<type name="gint" c:type="gint"/>
</property>
<method name="get_size" c:identifier="gee_abstract_map_get_size">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</method>
<virtual-method name="get_size" invoker="get_size">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</virtual-method>
<property name="read-only">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_read_only" c:identifier="gee_abstract_map_get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_read_only" invoker="get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<property name="keys">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_keys" c:identifier="gee_abstract_map_get_keys">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_keys" invoker="get_keys">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<property name="values">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_values" c:identifier="gee_abstract_map_get_values">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_values" invoker="get_values">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<property name="entries">
<type name="Gee.Set" c:type="GeeSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</property>
<method name="get_entries" c:identifier="gee_abstract_map_get_entries">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</return-value>
</method>
<virtual-method name="get_entries" invoker="get_entries">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</return-value>
</virtual-method>
<property name="read-only-view">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_abstract_map_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</class>
<record name="AbstractMapClass" c:type="GeeAbstractMapClass" glib:is-gtype-struct-for="AbstractMap">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="has_key">
<callback name="has_key" c:type="has_key">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="has">
<callback name="has" c:type="has">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get">
<callback name="get" c:type="get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set">
<callback name="set" c:type="set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unset">
<callback name="unset" c:type="unset">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="map_iterator">
<callback name="map_iterator" c:type="map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.MapIterator" c:type="GeeMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="clear">
<callback name="clear" c:type="clear">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="foreach">
<callback name="foreach" c:type="foreach">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
<parameter name="f" transfer-ownership="none" closure="2" scope="call">
<type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="stream">
<callback name="stream" c:type="stream">
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
<parameter name="f" transfer-ownership="none" closure="2" scope="notified" destroy="3">
<type name="Gee.StreamFunc" c:type="GeeStreamFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="f_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved0">
<callback name="reserved0" c:type="reserved0">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved1">
<callback name="reserved1" c:type="reserved1">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved2">
<callback name="reserved2" c:type="reserved2">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved3">
<callback name="reserved3" c:type="reserved3">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved4">
<callback name="reserved4" c:type="reserved4">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved5">
<callback name="reserved5" c:type="reserved5">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved6">
<callback name="reserved6" c:type="reserved6">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved7">
<callback name="reserved7" c:type="reserved7">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved8">
<callback name="reserved8" c:type="reserved8">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved9">
<callback name="reserved9" c:type="reserved9">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="AbstractMapPrivate" c:type="GeeAbstractMapPrivate" disguised="1"/>
<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">
<implements name="Gee.MultiMap"/>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="priv">
<type name="AbstractMultiMapPrivate" c:type="GeeAbstractMultiMapPrivate*"/>
</field>
<field name="_storage_map">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</field>
<method name="create_value_storage" c:identifier="gee_abstract_multi_map_create_value_storage">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="create_value_storage" invoker="create_value_storage">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<method name="create_multi_key_set" c:identifier="gee_abstract_multi_map_create_multi_key_set">
<return-value transfer-ownership="full">
<type name="Gee.MultiSet" c:type="GeeMultiSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="create_multi_key_set" invoker="create_multi_key_set">
<return-value transfer-ownership="full">
<type name="Gee.MultiSet" c:type="GeeMultiSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<method name="get_value_equal_func" c:identifier="gee_abstract_multi_map_get_value_equal_func">
<return-value transfer-ownership="none" closure="0" scope="notified" destroy="1">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="get_value_equal_func" invoker="get_value_equal_func">
<return-value transfer-ownership="none" closure="0" scope="notified" destroy="1">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<property name="read-only-view">
<type name="Gee.MultiMap" c:type="GeeMultiMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_abstract_multi_map_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.MultiMap" c:type="GeeMultiMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.MultiMap" c:type="GeeMultiMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</class>
<record name="AbstractMultiMapClass" c:type="GeeAbstractMultiMapClass" glib:is-gtype-struct-for="AbstractMultiMap">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="create_value_storage">
<callback name="create_value_storage" c:type="create_value_storage">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="create_multi_key_set">
<callback name="create_multi_key_set" c:type="create_multi_key_set">
<return-value transfer-ownership="full">
<type name="Gee.MultiSet" c:type="GeeMultiSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_value_equal_func">
<callback name="get_value_equal_func" c:type="get_value_equal_func">
<return-value transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
</parameter>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved0">
<callback name="reserved0" c:type="reserved0">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved1">
<callback name="reserved1" c:type="reserved1">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved2">
<callback name="reserved2" c:type="reserved2">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved3">
<callback name="reserved3" c:type="reserved3">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved4">
<callback name="reserved4" c:type="reserved4">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved5">
<callback name="reserved5" c:type="reserved5">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved6">
<callback name="reserved6" c:type="reserved6">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved7">
<callback name="reserved7" c:type="reserved7">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved8">
<callback name="reserved8" c:type="reserved8">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="AbstractMultiMapPrivate" c:type="GeeAbstractMultiMapPrivate" disguised="1"/>
<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">
<implements name="Gee.MultiSet"/>
<field name="parent_instance">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection"/>
</field>
<field name="priv">
<type name="AbstractMultiSetPrivate" c:type="GeeAbstractMultiSetPrivate*"/>
</field>
<field name="_storage_map">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gint" c:type="gint"/>
</type>
</field>
<property name="read-only-view">
<type name="Gee.MultiSet" c:type="GeeMultiSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_abstract_multi_set_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.MultiSet" c:type="GeeMultiSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.MultiSet" c:type="GeeMultiSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</class>
<record name="AbstractMultiSetClass" c:type="GeeAbstractMultiSetClass" glib:is-gtype-struct-for="AbstractMultiSet">
<field name="parent_class">
<type name="Gee.AbstractCollectionClass" c:type="GeeAbstractCollectionClass"/>
</field>
<field name="reserved0">
<callback name="reserved0" c:type="reserved0">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved1">
<callback name="reserved1" c:type="reserved1">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved2">
<callback name="reserved2" c:type="reserved2">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved3">
<callback name="reserved3" c:type="reserved3">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved4">
<callback name="reserved4" c:type="reserved4">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved5">
<callback name="reserved5" c:type="reserved5">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved6">
<callback name="reserved6" c:type="reserved6">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved7">
<callback name="reserved7" c:type="reserved7">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved8">
<callback name="reserved8" c:type="reserved8">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="AbstractMultiSetPrivate" c:type="GeeAbstractMultiSetPrivate" disguised="1"/>
<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">
<implements name="Gee.Queue"/>
<field name="parent_instance">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection"/>
</field>
<field name="priv">
<type name="AbstractQueuePrivate" c:type="GeeAbstractQueuePrivate*"/>
</field>
<method name="peek" c:identifier="gee_abstract_queue_peek">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="peek" invoker="peek">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="poll" c:identifier="gee_abstract_queue_poll">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="poll" invoker="poll">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<property name="capacity">
<type name="gint" c:type="gint"/>
</property>
<method name="get_capacity" c:identifier="gee_abstract_queue_get_capacity">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</method>
<virtual-method name="get_capacity" invoker="get_capacity">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</virtual-method>
<property name="remaining-capacity">
<type name="gint" c:type="gint"/>
</property>
<method name="get_remaining_capacity" c:identifier="gee_abstract_queue_get_remaining_capacity">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</method>
<virtual-method name="get_remaining_capacity" invoker="get_remaining_capacity">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</virtual-method>
<property name="is-full">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_is_full" c:identifier="gee_abstract_queue_get_is_full">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_is_full" invoker="get_is_full">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
</class>
<record name="AbstractQueueClass" c:type="GeeAbstractQueueClass" glib:is-gtype-struct-for="AbstractQueue">
<field name="parent_class">
<type name="Gee.AbstractCollectionClass" c:type="GeeAbstractCollectionClass"/>
</field>
<field name="peek">
<callback name="peek" c:type="peek">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="poll">
<callback name="poll" c:type="poll">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved0">
<callback name="reserved0" c:type="reserved0">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved1">
<callback name="reserved1" c:type="reserved1">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved2">
<callback name="reserved2" c:type="reserved2">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved3">
<callback name="reserved3" c:type="reserved3">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved4">
<callback name="reserved4" c:type="reserved4">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved5">
<callback name="reserved5" c:type="reserved5">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved6">
<callback name="reserved6" c:type="reserved6">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved7">
<callback name="reserved7" c:type="reserved7">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved8">
<callback name="reserved8" c:type="reserved8">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved9">
<callback name="reserved9" c:type="reserved9">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="AbstractQueuePrivate" c:type="GeeAbstractQueuePrivate" disguised="1"/>
<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">
<implements name="Gee.Set"/>
<field name="parent_instance">
<type name="Gee.AbstractCollection" c:type="GeeAbstractCollection"/>
</field>
<field name="priv">
<type name="AbstractSetPrivate" c:type="GeeAbstractSetPrivate*"/>
</field>
<property name="read-only-view">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_abstract_set_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</class>
<record name="AbstractSetClass" c:type="GeeAbstractSetClass" glib:is-gtype-struct-for="AbstractSet">
<field name="parent_class">
<type name="Gee.AbstractCollectionClass" c:type="GeeAbstractCollectionClass"/>
</field>
<field name="reserved0">
<callback name="reserved0" c:type="reserved0">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved1">
<callback name="reserved1" c:type="reserved1">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved2">
<callback name="reserved2" c:type="reserved2">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved3">
<callback name="reserved3" c:type="reserved3">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved4">
<callback name="reserved4" c:type="reserved4">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved5">
<callback name="reserved5" c:type="reserved5">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved6">
<callback name="reserved6" c:type="reserved6">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved7">
<callback name="reserved7" c:type="reserved7">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved8">
<callback name="reserved8" c:type="reserved8">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved9">
<callback name="reserved9" c:type="reserved9">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSet" c:type="GeeAbstractSet*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="AbstractSetPrivate" c:type="GeeAbstractSetPrivate" disguised="1"/>
<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">
<implements name="Gee.SortedMap"/>
<field name="parent_instance">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap"/>
</field>
<field name="priv">
<type name="AbstractSortedMapPrivate" c:type="GeeAbstractSortedMapPrivate*"/>
</field>
<method name="head_map" c:identifier="gee_abstract_sorted_map_head_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="head_map" invoker="head_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="tail_map" c:identifier="gee_abstract_sorted_map_tail_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="tail_map" invoker="tail_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="sub_map" c:identifier="gee_abstract_sorted_map_sub_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="sub_map" invoker="sub_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<property name="ascending-keys">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_ascending_keys" c:identifier="gee_abstract_sorted_map_get_ascending_keys">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_ascending_keys" invoker="get_ascending_keys">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<property name="ascending-entries">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</property>
<method name="get_ascending_entries" c:identifier="gee_abstract_sorted_map_get_ascending_entries">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</return-value>
</method>
<virtual-method name="get_ascending_entries" invoker="get_ascending_entries">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</return-value>
</virtual-method>
</class>
<record name="AbstractSortedMapClass" c:type="GeeAbstractSortedMapClass" glib:is-gtype-struct-for="AbstractSortedMap">
<field name="parent_class">
<type name="Gee.AbstractMapClass" c:type="GeeAbstractMapClass"/>
</field>
<field name="head_map">
<callback name="head_map" c:type="head_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
</parameter>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tail_map">
<callback name="tail_map" c:type="tail_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
</parameter>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="sub_map">
<callback name="sub_map" c:type="sub_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
</parameter>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved0">
<callback name="reserved0" c:type="reserved0">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved1">
<callback name="reserved1" c:type="reserved1">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved2">
<callback name="reserved2" c:type="reserved2">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved3">
<callback name="reserved3" c:type="reserved3">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved4">
<callback name="reserved4" c:type="reserved4">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved5">
<callback name="reserved5" c:type="reserved5">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved6">
<callback name="reserved6" c:type="reserved6">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved7">
<callback name="reserved7" c:type="reserved7">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved8">
<callback name="reserved8" c:type="reserved8">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved9">
<callback name="reserved9" c:type="reserved9">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedMap" c:type="GeeAbstractSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="AbstractSortedMapPrivate" c:type="GeeAbstractSortedMapPrivate" disguised="1"/>
<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">
<implements name="Gee.SortedSet"/>
<field name="parent_instance">
<type name="Gee.AbstractSet" c:type="GeeAbstractSet"/>
</field>
<field name="priv">
<type name="AbstractSortedSetPrivate" c:type="GeeAbstractSortedSetPrivate*"/>
</field>
<method name="first" c:identifier="gee_abstract_sorted_set_first">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="first" invoker="first">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="last" c:identifier="gee_abstract_sorted_set_last">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="last" invoker="last">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="iterator_at" c:identifier="gee_abstract_sorted_set_iterator_at">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="iterator_at" invoker="iterator_at">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="lower" c:identifier="gee_abstract_sorted_set_lower">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="lower" invoker="lower">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="higher" c:identifier="gee_abstract_sorted_set_higher">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="higher" invoker="higher">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="floor" c:identifier="gee_abstract_sorted_set_floor">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="floor" invoker="floor">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="ceil" c:identifier="gee_abstract_sorted_set_ceil">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="ceil" invoker="ceil">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="head_set" c:identifier="gee_abstract_sorted_set_head_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="head_set" invoker="head_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="tail_set" c:identifier="gee_abstract_sorted_set_tail_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="tail_set" invoker="tail_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="sub_set" c:identifier="gee_abstract_sorted_set_sub_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="from" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="to" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="sub_set" invoker="sub_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="from" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="to" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<property name="read-only-view">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_abstract_sorted_set_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</class>
<record name="AbstractSortedSetClass" c:type="GeeAbstractSortedSetClass" glib:is-gtype-struct-for="AbstractSortedSet">
<field name="parent_class">
<type name="Gee.AbstractSetClass" c:type="GeeAbstractSetClass"/>
</field>
<field name="first">
<callback name="first" c:type="first">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="last">
<callback name="last" c:type="last">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="iterator_at">
<callback name="iterator_at" c:type="iterator_at">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="lower">
<callback name="lower" c:type="lower">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="higher">
<callback name="higher" c:type="higher">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="floor">
<callback name="floor" c:type="floor">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="ceil">
<callback name="ceil" c:type="ceil">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="head_set">
<callback name="head_set" c:type="head_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tail_set">
<callback name="tail_set" c:type="tail_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="sub_set">
<callback name="sub_set" c:type="sub_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
<parameter name="from" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="to" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved0">
<callback name="reserved0" c:type="reserved0">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved1">
<callback name="reserved1" c:type="reserved1">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved2">
<callback name="reserved2" c:type="reserved2">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved3">
<callback name="reserved3" c:type="reserved3">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved4">
<callback name="reserved4" c:type="reserved4">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved5">
<callback name="reserved5" c:type="reserved5">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved6">
<callback name="reserved6" c:type="reserved6">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved7">
<callback name="reserved7" c:type="reserved7">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved8">
<callback name="reserved8" c:type="reserved8">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="reserved9">
<callback name="reserved9" c:type="reserved9">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<record name="AbstractSortedSetPrivate" c:type="GeeAbstractSortedSetPrivate" disguised="1"/>
<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">
<field name="parent_instance">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList"/>
</field>
<field name="priv">
<type name="ArrayListPrivate" c:type="GeeArrayListPrivate*"/>
</field>
<constructor name="new" c:identifier="gee_array_list_new">
<return-value transfer-ownership="full">
<type name="Gee.ArrayList" c:type="GeeArrayList*"/>
</return-value>
<parameters>
<parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="equal_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<constructor name="wrap" c:identifier="gee_array_list_new_wrap">
<return-value transfer-ownership="full">
<type name="Gee.ArrayList" c:type="GeeArrayList*"/>
</return-value>
<parameters>
<parameter name="items" transfer-ownership="full">
<array length="1">
<type name="gpointer" c:type="gpointer"/>
</array>
</parameter>
<parameter name="items_length1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="3" scope="notified" destroy="4">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="equal_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<method name="add_all" c:identifier="gee_array_list_add_all">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<property name="equal-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</property>
<method name="get_equal_func" c:identifier="gee_array_list_get_equal_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
</class>
<record name="ArrayListClass" c:type="GeeArrayListClass" glib:is-gtype-struct-for="ArrayList">
<field name="parent_class">
<type name="Gee.AbstractBidirListClass" c:type="GeeAbstractBidirListClass"/>
</field>
</record>
<record name="ArrayListPrivate" c:type="GeeArrayListPrivate" disguised="1"/>
<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">
<implements name="Gee.Deque"/>
<field name="parent_instance">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue"/>
</field>
<field name="priv">
<type name="ArrayQueuePrivate" c:type="GeeArrayQueuePrivate*"/>
</field>
<constructor name="new" c:identifier="gee_array_queue_new">
<return-value transfer-ownership="full">
<type name="Gee.ArrayQueue" c:type="GeeArrayQueue*"/>
</return-value>
<parameters>
<parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="equal_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<property name="equal-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</property>
<method name="get_equal_func" c:identifier="gee_array_queue_get_equal_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<property name="is-empty">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_is_empty" c:identifier="gee_array_queue_get_is_empty">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
</class>
<record name="ArrayQueueClass" c:type="GeeArrayQueueClass" glib:is-gtype-struct-for="ArrayQueue">
<field name="parent_class">
<type name="Gee.AbstractQueueClass" c:type="GeeAbstractQueueClass"/>
</field>
</record>
<record name="ArrayQueuePrivate" c:type="GeeArrayQueuePrivate" disguised="1"/>
<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">
<field name="parent_instance">
<type name="Gee.AbstractList" c:type="GeeAbstractList"/>
</field>
<field name="priv">
<type name="ConcurrentListPrivate" c:type="GeeConcurrentListPrivate*"/>
</field>
<constructor name="new" c:identifier="gee_concurrent_list_new">
<return-value transfer-ownership="full">
<type name="Gee.ConcurrentList" c:type="GeeConcurrentList*"/>
</return-value>
<parameters>
<parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="equal_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<property name="equal-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</property>
<method name="get_equal_func" c:identifier="gee_concurrent_list_get_equal_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<property name="is-empty">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_is_empty" c:identifier="gee_concurrent_list_get_is_empty">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
</class>
<record name="ConcurrentListClass" c:type="GeeConcurrentListClass" glib:is-gtype-struct-for="ConcurrentList">
<field name="parent_class">
<type name="Gee.AbstractListClass" c:type="GeeAbstractListClass"/>
</field>
</record>
<record name="ConcurrentListPrivate" c:type="GeeConcurrentListPrivate" disguised="1"/>
<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">
<field name="parent_instance">
<type name="Gee.AbstractSortedSet" c:type="GeeAbstractSortedSet"/>
</field>
<field name="priv">
<type name="ConcurrentSetPrivate" c:type="GeeConcurrentSetPrivate*"/>
</field>
<constructor name="new" c:identifier="gee_concurrent_set_new">
<return-value transfer-ownership="full">
<type name="Gee.ConcurrentSet" c:type="GeeConcurrentSet*"/>
</return-value>
<parameters>
<parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
</class>
<record name="ConcurrentSetClass" c:type="GeeConcurrentSetClass" glib:is-gtype-struct-for="ConcurrentSet">
<field name="parent_class">
<type name="Gee.AbstractSortedSetClass" c:type="GeeAbstractSortedSetClass"/>
</field>
</record>
<record name="ConcurrentSetPrivate" c:type="GeeConcurrentSetPrivate" disguised="1"/>
<enumeration name="ConcurrentSetRangeType" c:type="GeeConcurrentSetRangeType" glib:type-name="GeeConcurrentSetRangeType" glib:get-type="gee_concurrent_set_range_type_get_type">
<member name="head" c:identifier="GEE_CONCURRENT_SET_RANGE_TYPE_HEAD" value="0"/>
<member name="tail" c:identifier="GEE_CONCURRENT_SET_RANGE_TYPE_TAIL" value="1"/>
<member name="bounded" c:identifier="GEE_CONCURRENT_SET_RANGE_TYPE_BOUNDED" value="2"/>
<member name="empty" c:identifier="GEE_CONCURRENT_SET_RANGE_TYPE_EMPTY" value="3"/>
</enumeration>
<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">
<field name="parent_instance">
<type name="Gee.AbstractMap" c:type="GeeAbstractMap"/>
</field>
<field name="priv">
<type name="HashMapPrivate" c:type="GeeHashMapPrivate*"/>
</field>
<constructor name="new" c:identifier="gee_hash_map_new">
<return-value transfer-ownership="full">
<type name="Gee.HashMap" c:type="GeeHashMap*"/>
</return-value>
<parameters>
<parameter name="key_hash_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</parameter>
<parameter name="key_hash_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="key_hash_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="key_equal_func" transfer-ownership="none" allow-none="1" closure="4" scope="notified" destroy="5">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="key_equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="key_equal_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="value_equal_func" transfer-ownership="none" allow-none="1" closure="7" scope="notified" destroy="8">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="value_equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="value_equal_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<property name="key-hash-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</property>
<method name="get_key_hash_func" c:identifier="gee_hash_map_get_key_hash_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<property name="key-equal-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</property>
<method name="get_key_equal_func" c:identifier="gee_hash_map_get_key_equal_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<property name="value-equal-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</property>
<method name="get_value_equal_func" c:identifier="gee_hash_map_get_value_equal_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
</class>
<record name="HashMapClass" c:type="GeeHashMapClass" glib:is-gtype-struct-for="HashMap">
<field name="parent_class">
<type name="Gee.AbstractMapClass" c:type="GeeAbstractMapClass"/>
</field>
</record>
<record name="HashMapPrivate" c:type="GeeHashMapPrivate" disguised="1"/>
<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">
<field name="parent_instance">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap"/>
</field>
<field name="priv">
<type name="HashMultiMapPrivate" c:type="GeeHashMultiMapPrivate*"/>
</field>
<constructor name="new" c:identifier="gee_hash_multi_map_new">
<return-value transfer-ownership="full">
<type name="Gee.HashMultiMap" c:type="GeeHashMultiMap*"/>
</return-value>
<parameters>
<parameter name="key_hash_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</parameter>
<parameter name="key_hash_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="key_hash_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="key_equal_func" transfer-ownership="none" allow-none="1" closure="4" scope="notified" destroy="5">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="key_equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="key_equal_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="value_hash_func" transfer-ownership="none" allow-none="1" closure="7" scope="notified" destroy="8">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</parameter>
<parameter name="value_hash_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="value_hash_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="value_equal_func" transfer-ownership="none" allow-none="1" closure="10" scope="notified" destroy="11">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="value_equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="value_equal_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<property name="key-hash-func">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</property>
<method name="get_key_hash_func" c:identifier="gee_hash_multi_map_get_key_hash_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<property name="key-equal-func">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</property>
<method name="get_key_equal_func" c:identifier="gee_hash_multi_map_get_key_equal_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<property name="value-hash-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</property>
<method name="get_value_hash_func" c:identifier="gee_hash_multi_map_get_value_hash_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<property name="value-equal-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</property>
<method name="get_value_equal_func" c:identifier="gee_hash_multi_map_get_value_equal_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
</class>
<record name="HashMultiMapClass" c:type="GeeHashMultiMapClass" glib:is-gtype-struct-for="HashMultiMap">
<field name="parent_class">
<type name="Gee.AbstractMultiMapClass" c:type="GeeAbstractMultiMapClass"/>
</field>
</record>
<record name="HashMultiMapPrivate" c:type="GeeHashMultiMapPrivate" disguised="1"/>
<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">
<field name="parent_instance">
<type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet"/>
</field>
<field name="priv">
<type name="HashMultiSetPrivate" c:type="GeeHashMultiSetPrivate*"/>
</field>
<constructor name="new" c:identifier="gee_hash_multi_set_new_fixed">
<attribute name="ccode.cname" value="gee_hash_multi_set_new_fixed"/>
<return-value transfer-ownership="full">
<type name="Gee.HashMultiSet" c:type="GeeHashMultiSet*"/>
</return-value>
<parameters>
<parameter name="hash_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</parameter>
<parameter name="hash_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="hash_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="4" scope="notified" destroy="5">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="equal_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<constructor name="broken" c:identifier="gee_hash_multi_set_new">
<attribute name="version.replacement" value="gee_hash_multi_set_new_fixed"/>
<attribute name="version.deprecated" value="true"/>
<attribute name="version.deprecated-since" value="0.13.3"/>
<attribute name="ccode.cname" value="gee_hash_multi_set_new"/>
<return-value transfer-ownership="full">
<type name="Gee.HashMultiSet" c:type="GeeHashMultiSet*"/>
</return-value>
<parameters>
<parameter name="hash_func" transfer-ownership="none" allow-none="1" closure="1" scope="call">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</parameter>
<parameter name="hash_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="3" scope="call">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</constructor>
<property name="hash-func">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</property>
<method name="get_hash_func" c:identifier="gee_hash_multi_set_get_hash_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<property name="equal-func">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</property>
<method name="get_equal_func" c:identifier="gee_hash_multi_set_get_equal_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
</class>
<record name="HashMultiSetClass" c:type="GeeHashMultiSetClass" glib:is-gtype-struct-for="HashMultiSet">
<field name="parent_class">
<type name="Gee.AbstractMultiSetClass" c:type="GeeAbstractMultiSetClass"/>
</field>
</record>
<record name="HashMultiSetPrivate" c:type="GeeHashMultiSetPrivate" disguised="1"/>
<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">
<field name="parent_instance">
<type name="Gee.AbstractSet" c:type="GeeAbstractSet"/>
</field>
<field name="priv">
<type name="HashSetPrivate" c:type="GeeHashSetPrivate*"/>
</field>
<constructor name="new" c:identifier="gee_hash_set_new">
<return-value transfer-ownership="full">
<type name="Gee.HashSet" c:type="GeeHashSet*"/>
</return-value>
<parameters>
<parameter name="hash_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</parameter>
<parameter name="hash_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="hash_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="4" scope="notified" destroy="5">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="equal_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<property name="hash-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</property>
<method name="get_hash_func" c:identifier="gee_hash_set_get_hash_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.HashDataFunc" c:type="GeeHashDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<property name="equal-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</property>
<method name="get_equal_func" c:identifier="gee_hash_set_get_equal_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
</class>
<record name="HashSetClass" c:type="GeeHashSetClass" glib:is-gtype-struct-for="HashSet">
<field name="parent_class">
<type name="Gee.AbstractSetClass" c:type="GeeAbstractSetClass"/>
</field>
</record>
<record name="HashSetPrivate" c:type="GeeHashSetPrivate" disguised="1"/>
<record name="HazardPointer">
<constructor name="new" c:identifier="gee_hazard_pointer_new">
<return-value transfer-ownership="full">
<type name="Gee.HazardPointer" c:type="GeeHazardPointer*"/>
</return-value>
<parameters>
<parameter name="ptr" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gconstpointer*"/>
</parameter>
</parameters>
</constructor>
<function name="get_hazard_pointer" c:identifier="gee_hazard_pointer_get_hazard_pointer">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.HazardPointer" c:type="GeeHazardPointer*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="aptr" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gconstpointer**"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="gulong" c:type="gsize"/>
</parameter>
<parameter name="mask_out" direction="out" transfer-ownership="full">
<type name="gulong" c:type="gsize*"/>
</parameter>
</parameters>
</function>
<function name="get_pointer" c:identifier="gee_hazard_pointer_get_pointer">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="aptr" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gconstpointer**"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="gulong" c:type="gsize"/>
</parameter>
<parameter name="mask_out" direction="out" transfer-ownership="full">
<type name="gulong" c:type="gsize*"/>
</parameter>
</parameters>
</function>
<function name="exchange_hazard_pointer" c:identifier="gee_hazard_pointer_exchange_hazard_pointer">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.HazardPointer" c:type="GeeHazardPointer*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="aptr" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gconstpointer**"/>
</parameter>
<parameter name="new_ptr" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="gulong" c:type="gsize"/>
</parameter>
<parameter name="new_mask" transfer-ownership="none">
<type name="gulong" c:type="gsize"/>
</parameter>
<parameter name="old_mask" direction="out" transfer-ownership="full">
<type name="gulong" c:type="gsize*"/>
</parameter>
</parameters>
</function>
<function name="set_pointer" c:identifier="gee_hazard_pointer_set_pointer">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="aptr" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gconstpointer**"/>
</parameter>
<parameter name="new_ptr" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="gulong" c:type="gsize"/>
</parameter>
<parameter name="new_mask" transfer-ownership="none">
<type name="gulong" c:type="gsize"/>
</parameter>
</parameters>
</function>
<function name="exchange_pointer" c:identifier="gee_hazard_pointer_exchange_pointer">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="aptr" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gconstpointer**"/>
</parameter>
<parameter name="new_ptr" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="gulong" c:type="gsize"/>
</parameter>
<parameter name="new_mask" transfer-ownership="none">
<type name="gulong" c:type="gsize"/>
</parameter>
<parameter name="old_mask" direction="out" transfer-ownership="full">
<type name="gulong" c:type="gsize*"/>
</parameter>
</parameters>
</function>
<function name="compare_and_exchange_pointer" c:identifier="gee_hazard_pointer_compare_and_exchange_pointer">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="aptr" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gconstpointer**"/>
</parameter>
<parameter name="old_ptr" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="_new_ptr" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="mask" transfer-ownership="none">
<type name="gulong" c:type="gsize"/>
</parameter>
<parameter name="old_mask" transfer-ownership="none">
<type name="gulong" c:type="gsize"/>
</parameter>
<parameter name="new_mask" transfer-ownership="none">
<type name="gulong" c:type="gsize"/>
</parameter>
</parameters>
</function>
<method name="get" c:identifier="gee_hazard_pointer_get">
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="other_thread" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="release" c:identifier="gee_hazard_pointer_release">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<function name="set_default_policy" c:identifier="gee_hazard_pointer_set_default_policy">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="policy" transfer-ownership="none">
<type name="Gee.HazardPointerPolicy" c:type="GeeHazardPointerPolicy"/>
</parameter>
</parameters>
</function>
<function name="set_thread_exit_policy" c:identifier="gee_hazard_pointer_set_thread_exit_policy">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="policy" transfer-ownership="none">
<type name="Gee.HazardPointerPolicy" c:type="GeeHazardPointerPolicy"/>
</parameter>
</parameters>
</function>
<function name="set_release_policy" c:identifier="gee_hazard_pointer_set_release_policy">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="policy" transfer-ownership="none">
<type name="Gee.HazardPointerReleasePolicy" c:type="GeeHazardPointerReleasePolicy"/>
</parameter>
</parameters>
</function>
</record>
<enumeration name="HazardPointerPolicy" c:type="GeeHazardPointerPolicy" glib:type-name="GeeHazardPointerPolicy" glib:get-type="gee_hazard_pointer_policy_get_type">
<member name="default" c:identifier="GEE_HAZARD_POINTER_POLICY_DEFAULT" value="0"/>
<member name="thread_exit" c:identifier="GEE_HAZARD_POINTER_POLICY_THREAD_EXIT" value="1"/>
<member name="try_free" c:identifier="GEE_HAZARD_POINTER_POLICY_TRY_FREE" value="2"/>
<member name="free" c:identifier="GEE_HAZARD_POINTER_POLICY_FREE" value="3"/>
<member name="try_release" c:identifier="GEE_HAZARD_POINTER_POLICY_TRY_RELEASE" value="4"/>
<member name="release" c:identifier="GEE_HAZARD_POINTER_POLICY_RELEASE" value="5"/>
</enumeration>
<function name="hazard_pointer_policy_is_concrete" c:identifier="gee_hazard_pointer_policy_is_concrete">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="hazard_pointer_policy_is_blocking" c:identifier="gee_hazard_pointer_policy_is_blocking">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="hazard_pointer_policy_is_safe" c:identifier="gee_hazard_pointer_policy_is_safe">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="hazard_pointer_policy_to_concrete" c:identifier="gee_hazard_pointer_policy_to_concrete">
<return-value transfer-ownership="full">
<type name="Gee.HazardPointerPolicy" c:type="GeeHazardPointerPolicy"/>
</return-value>
</function>
<enumeration name="HazardPointerReleasePolicy" c:type="GeeHazardPointerReleasePolicy" glib:type-name="GeeHazardPointerReleasePolicy" glib:get-type="gee_hazard_pointer_release_policy_get_type">
<member name="helper_thread" c:identifier="GEE_HAZARD_POINTER_RELEASE_POLICY_HELPER_THREAD" value="0"/>
<member name="main_loop" c:identifier="GEE_HAZARD_POINTER_RELEASE_POLICY_MAIN_LOOP" value="1"/>
</enumeration>
<record name="HazardPointerContext">
<constructor name="new" c:identifier="gee_hazard_pointer_context_new">
<return-value transfer-ownership="full">
<type name="Gee.HazardPointerContext" c:type="GeeHazardPointerContext*"/>
</return-value>
<parameters>
<parameter name="policy" transfer-ownership="none" allow-none="1">
<type name="Gee.HazardPointerPolicy" c:type="GeeHazardPointerPolicy*"/>
</parameter>
</parameters>
</constructor>
<method name="try_free" c:identifier="gee_hazard_pointer_context_try_free">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</method>
<method name="free_all" c:identifier="gee_hazard_pointer_context_free_all">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</method>
<method name="try_release" c:identifier="gee_hazard_pointer_context_try_release">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</method>
<method name="release" c:identifier="gee_hazard_pointer_context_release">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</method>
</record>
<record name="Lazy">
<constructor name="new" c:identifier="gee_lazy_new">
<return-value transfer-ownership="full">
<type name="Gee.Lazy" c:type="GeeLazy*"/>
</return-value>
<parameters>
<parameter name="func" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.LazyFunc" c:type="GeeLazyFunc"/>
</parameter>
<parameter name="func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<constructor name="from_value" c:identifier="gee_lazy_new_from_value">
<return-value transfer-ownership="full">
<type name="Gee.Lazy" c:type="GeeLazy*"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</constructor>
<method name="eval" c:identifier="gee_lazy_eval">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</method>
<method name="get" c:identifier="gee_lazy_get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<property name="value">
<type name="gpointer" c:type="gpointer"/>
</property>
<method name="get_value" c:identifier="gee_lazy_get_value">
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<property name="future">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_future" c:identifier="gee_lazy_get_future">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
</record>
<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">
<implements name="Gee.Queue"/>
<implements name="Gee.Deque"/>
<field name="parent_instance">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList"/>
</field>
<field name="priv">
<type name="LinkedListPrivate" c:type="GeeLinkedListPrivate*"/>
</field>
<constructor name="new" c:identifier="gee_linked_list_new">
<return-value transfer-ownership="full">
<type name="Gee.LinkedList" c:type="GeeLinkedList*"/>
</return-value>
<parameters>
<parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="equal_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<method name="first" c:identifier="gee_linked_list_first">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<method name="last" c:identifier="gee_linked_list_last">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<property name="equal-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</property>
<method name="get_equal_func" c:identifier="gee_linked_list_get_equal_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
</class>
<record name="LinkedListClass" c:type="GeeLinkedListClass" glib:is-gtype-struct-for="LinkedList">
<field name="parent_class">
<type name="Gee.AbstractBidirListClass" c:type="GeeAbstractBidirListClass"/>
</field>
</record>
<record name="LinkedListPrivate" c:type="GeeLinkedListPrivate" disguised="1"/>
<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">
<field name="parent_instance">
<type name="Gee.AbstractQueue" c:type="GeeAbstractQueue"/>
</field>
<field name="priv">
<type name="PriorityQueuePrivate" c:type="GeePriorityQueuePrivate*"/>
</field>
<constructor name="new" c:identifier="gee_priority_queue_new">
<return-value transfer-ownership="full">
<type name="Gee.PriorityQueue" c:type="GeePriorityQueue*"/>
</return-value>
<parameters>
<parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<method name="offer" c:identifier="gee_priority_queue_offer">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="drain" c:identifier="gee_priority_queue_drain">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="recipient" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
<parameter name="amount" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<property name="compare-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</property>
<method name="get_compare_func" c:identifier="gee_priority_queue_get_compare_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
</class>
<record name="PriorityQueueClass" c:type="GeePriorityQueueClass" glib:is-gtype-struct-for="PriorityQueue">
<field name="parent_class">
<type name="Gee.AbstractQueueClass" c:type="GeeAbstractQueueClass"/>
</field>
</record>
<record name="PriorityQueuePrivate" c:type="GeePriorityQueuePrivate" disguised="1"/>
<record name="Promise">
<constructor name="new" c:identifier="gee_promise_new">
<return-value transfer-ownership="full">
<type name="Gee.Promise" c:type="GeePromise*"/>
</return-value>
</constructor>
<method name="set_value" c:identifier="gee_promise_set_value">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_exception" c:identifier="gee_promise_set_exception">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="exception" transfer-ownership="full">
<type name="GLib.Error"/>
</parameter>
</parameters>
</method>
<property name="future">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_future" c:identifier="gee_promise_get_future">
<return-value transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
</record>
<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">
<field name="parent_instance">
<type name="Gee.AbstractBidirSortedMap" c:type="GeeAbstractBidirSortedMap"/>
</field>
<field name="priv">
<type name="TreeMapPrivate" c:type="GeeTreeMapPrivate*"/>
</field>
<constructor name="new" c:identifier="gee_tree_map_new">
<return-value transfer-ownership="full">
<type name="Gee.TreeMap" c:type="GeeTreeMap*"/>
</return-value>
<parameters>
<parameter name="key_compare_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="key_compare_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="key_compare_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="value_equal_func" transfer-ownership="none" allow-none="1" closure="4" scope="notified" destroy="5">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="value_equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="value_equal_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<property name="key-compare-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</property>
<method name="get_key_compare_func" c:identifier="gee_tree_map_get_key_compare_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<property name="value-equal-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</property>
<method name="get_value_equal_func" c:identifier="gee_tree_map_get_value_equal_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
</class>
<record name="TreeMapClass" c:type="GeeTreeMapClass" glib:is-gtype-struct-for="TreeMap">
<field name="parent_class">
<type name="Gee.AbstractBidirSortedMapClass" c:type="GeeAbstractBidirSortedMapClass"/>
</field>
</record>
<record name="TreeMapPrivate" c:type="GeeTreeMapPrivate" disguised="1"/>
<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">
<field name="parent_instance">
<type name="Gee.AbstractMultiMap" c:type="GeeAbstractMultiMap"/>
</field>
<field name="priv">
<type name="TreeMultiMapPrivate" c:type="GeeTreeMultiMapPrivate*"/>
</field>
<constructor name="new" c:identifier="gee_tree_multi_map_new">
<return-value transfer-ownership="full">
<type name="Gee.TreeMultiMap" c:type="GeeTreeMultiMap*"/>
</return-value>
<parameters>
<parameter name="key_compare_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="key_compare_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="key_compare_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="value_compare_func" transfer-ownership="none" allow-none="1" closure="4" scope="notified" destroy="5">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="value_compare_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="value_compare_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<property name="key-compare-func">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</property>
<method name="get_key_compare_func" c:identifier="gee_tree_multi_map_get_key_compare_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<property name="value-compare-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</property>
<method name="get_value_compare_func" c:identifier="gee_tree_multi_map_get_value_compare_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
</class>
<record name="TreeMultiMapClass" c:type="GeeTreeMultiMapClass" glib:is-gtype-struct-for="TreeMultiMap">
<field name="parent_class">
<type name="Gee.AbstractMultiMapClass" c:type="GeeAbstractMultiMapClass"/>
</field>
</record>
<record name="TreeMultiMapPrivate" c:type="GeeTreeMultiMapPrivate" disguised="1"/>
<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">
<field name="parent_instance">
<type name="Gee.AbstractMultiSet" c:type="GeeAbstractMultiSet"/>
</field>
<field name="priv">
<type name="TreeMultiSetPrivate" c:type="GeeTreeMultiSetPrivate*"/>
</field>
<constructor name="new" c:identifier="gee_tree_multi_set_new">
<return-value transfer-ownership="full">
<type name="Gee.TreeMultiSet" c:type="GeeTreeMultiSet*"/>
</return-value>
<parameters>
<parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<property name="compare-func">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</property>
<method name="get_compare_func" c:identifier="gee_tree_multi_set_get_compare_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
</class>
<record name="TreeMultiSetClass" c:type="GeeTreeMultiSetClass" glib:is-gtype-struct-for="TreeMultiSet">
<field name="parent_class">
<type name="Gee.AbstractMultiSetClass" c:type="GeeAbstractMultiSetClass"/>
</field>
</record>
<record name="TreeMultiSetPrivate" c:type="GeeTreeMultiSetPrivate" disguised="1"/>
<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">
<field name="parent_instance">
<type name="Gee.AbstractBidirSortedSet" c:type="GeeAbstractBidirSortedSet"/>
</field>
<field name="priv">
<type name="TreeSetPrivate" c:type="GeeTreeSetPrivate*"/>
</field>
<constructor name="new" c:identifier="gee_tree_set_new">
<return-value transfer-ownership="full">
<type name="Gee.TreeSet" c:type="GeeTreeSet*"/>
</return-value>
<parameters>
<parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<property name="compare-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</property>
<method name="get_compare_func" c:identifier="gee_tree_set_get_compare_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
</class>
<record name="TreeSetClass" c:type="GeeTreeSetClass" glib:is-gtype-struct-for="TreeSet">
<field name="parent_class">
<type name="Gee.AbstractBidirSortedSetClass" c:type="GeeAbstractBidirSortedSetClass"/>
</field>
</record>
<record name="TreeSetPrivate" c:type="GeeTreeSetPrivate" disguised="1"/>
<class name="UnrolledLinkedList" c:type="GeeUnrolledLinkedList" glib:type-name="GeeUnrolledLinkedList" glib:get-type="gee_unrolled_linked_list_get_type" glib:type-struct="UnrolledLinkedListClass" parent="Gee.AbstractBidirList">
<implements name="Gee.Queue"/>
<implements name="Gee.Deque"/>
<field name="parent_instance">
<type name="Gee.AbstractBidirList" c:type="GeeAbstractBidirList"/>
</field>
<field name="priv">
<type name="UnrolledLinkedListPrivate" c:type="GeeUnrolledLinkedListPrivate*"/>
</field>
<constructor name="new" c:identifier="gee_unrolled_linked_list_new">
<return-value transfer-ownership="full">
<type name="Gee.UnrolledLinkedList" c:type="GeeUnrolledLinkedList*"/>
</return-value>
<parameters>
<parameter name="equal_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</parameter>
<parameter name="equal_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="equal_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</constructor>
<property name="equal-func" writable="1">
<attribute name="ccode.notify" value="false"/>
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</property>
<method name="get_equal_func" c:identifier="gee_unrolled_linked_list_get_equal_func">
<return-value transfer-ownership="none" closure="0" scope="call">
<type name="Gee.EqualDataFunc" c:type="GeeEqualDataFunc"/>
</return-value>
<parameters>
<parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
</class>
<record name="UnrolledLinkedListClass" c:type="GeeUnrolledLinkedListClass" glib:is-gtype-struct-for="UnrolledLinkedList">
<field name="parent_class">
<type name="Gee.AbstractBidirListClass" c:type="GeeAbstractBidirListClass"/>
</field>
</record>
<record name="UnrolledLinkedListPrivate" c:type="GeeUnrolledLinkedListPrivate" disguised="1"/>
<interface name="BidirIterator" c:type="GeeBidirIterator" glib:type-name="GeeBidirIterator" glib:get-type="gee_bidir_iterator_get_type" glib:type-struct="BidirIteratorIface">
<prerequisite name="Gee.Iterator"/>
<method name="previous" c:identifier="gee_bidir_iterator_previous">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="previous" invoker="previous">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<method name="has_previous" c:identifier="gee_bidir_iterator_has_previous">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="has_previous" invoker="has_previous">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<method name="first" c:identifier="gee_bidir_iterator_first">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="first" invoker="first">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<method name="last" c:identifier="gee_bidir_iterator_last">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="last" invoker="last">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
</interface>
<record name="BidirIteratorIface" c:type="GeeBidirIteratorIface" glib:is-gtype-struct-for="BidirIterator">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="previous">
<callback name="previous" c:type="previous">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirIterator" c:type="GeeBidirIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="has_previous">
<callback name="has_previous" c:type="has_previous">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirIterator" c:type="GeeBidirIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="first">
<callback name="first" c:type="first">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirIterator" c:type="GeeBidirIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="last">
<callback name="last" c:type="last">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirIterator" c:type="GeeBidirIterator*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="BidirList" c:type="GeeBidirList" glib:type-name="GeeBidirList" glib:get-type="gee_bidir_list_get_type" glib:type-struct="BidirListIface">
<prerequisite name="Gee.List"/>
<method name="bidir_list_iterator" c:identifier="gee_bidir_list_bidir_list_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="bidir_list_iterator" invoker="bidir_list_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<property name="read-only-view">
<type name="Gee.BidirList" c:type="GeeBidirList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_bidir_list_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirList" c:type="GeeBidirList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirList" c:type="GeeBidirList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</interface>
<record name="BidirListIface" c:type="GeeBidirListIface" glib:is-gtype-struct-for="BidirList">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="bidir_list_iterator">
<callback name="bidir_list_iterator" c:type="bidir_list_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirList" c:type="GeeBidirList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only_view">
<callback name="get_read_only_view" c:type="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirList" c:type="GeeBidirList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirList" c:type="GeeBidirList*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="BidirListIterator" c:type="GeeBidirListIterator" glib:type-name="GeeBidirListIterator" glib:get-type="gee_bidir_list_iterator_get_type" glib:type-struct="BidirListIteratorIface">
<prerequisite name="Gee.BidirIterator"/>
<prerequisite name="Gee.ListIterator"/>
<method name="insert" c:identifier="gee_bidir_list_iterator_insert">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="insert" invoker="insert">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
</interface>
<record name="BidirListIteratorIface" c:type="GeeBidirListIteratorIface" glib:is-gtype-struct-for="BidirListIterator">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="insert">
<callback name="insert" c:type="insert">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirListIterator" c:type="GeeBidirListIterator*"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="BidirMapIterator" c:type="GeeBidirMapIterator" glib:type-name="GeeBidirMapIterator" glib:get-type="gee_bidir_map_iterator_get_type" glib:type-struct="BidirMapIteratorIface">
<prerequisite name="Gee.MapIterator"/>
<method name="previous" c:identifier="gee_bidir_map_iterator_previous">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="previous" invoker="previous">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<method name="has_previous" c:identifier="gee_bidir_map_iterator_has_previous">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="has_previous" invoker="has_previous">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<method name="first" c:identifier="gee_bidir_map_iterator_first">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="first" invoker="first">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<method name="last" c:identifier="gee_bidir_map_iterator_last">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="last" invoker="last">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
</interface>
<record name="BidirMapIteratorIface" c:type="GeeBidirMapIteratorIface" glib:is-gtype-struct-for="BidirMapIterator">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="previous">
<callback name="previous" c:type="previous">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="has_previous">
<callback name="has_previous" c:type="has_previous">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="first">
<callback name="first" c:type="first">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="last">
<callback name="last" c:type="last">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="BidirSortedSet" c:type="GeeBidirSortedSet" glib:type-name="GeeBidirSortedSet" glib:get-type="gee_bidir_sorted_set_get_type" glib:type-struct="BidirSortedSetIface">
<prerequisite name="Gee.SortedSet"/>
<method name="bidir_iterator" c:identifier="gee_bidir_sorted_set_bidir_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirIterator" c:type="GeeBidirIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="bidir_iterator" invoker="bidir_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirIterator" c:type="GeeBidirIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<function name="empty" c:identifier="gee_bidir_sorted_set_empty">
<return-value transfer-ownership="full">
<type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</function>
<property name="read-only-view">
<type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_bidir_sorted_set_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</interface>
<record name="BidirSortedSetIface" c:type="GeeBidirSortedSetIface" glib:is-gtype-struct-for="BidirSortedSet">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="bidir_iterator">
<callback name="bidir_iterator" c:type="bidir_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirIterator" c:type="GeeBidirIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only_view">
<callback name="get_read_only_view" c:type="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirSortedSet" c:type="GeeBidirSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="BidirSortedMap" c:type="GeeBidirSortedMap" glib:type-name="GeeBidirSortedMap" glib:get-type="gee_bidir_sorted_map_get_type" glib:type-struct="BidirSortedMapIface">
<prerequisite name="Gee.SortedMap"/>
<method name="bidir_map_iterator" c:identifier="gee_bidir_sorted_map_bidir_map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="bidir_map_iterator" invoker="bidir_map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<function name="empty" c:identifier="gee_bidir_sorted_map_empty">
<return-value transfer-ownership="full">
<type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</function>
<property name="read-only-view">
<type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_bidir_sorted_map_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</interface>
<record name="BidirSortedMapIface" c:type="GeeBidirSortedMapIface" glib:is-gtype-struct-for="BidirSortedMap">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="bidir_map_iterator">
<callback name="bidir_map_iterator" c:type="bidir_map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.BidirMapIterator" c:type="GeeBidirMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only_view">
<callback name="get_read_only_view" c:type="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.BidirSortedMap" c:type="GeeBidirSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="Collection" c:type="GeeCollection" glib:type-name="GeeCollection" glib:get-type="gee_collection_get_type" glib:type-struct="CollectionIface">
<prerequisite name="Gee.Iterable"/>
<method name="contains" c:identifier="gee_collection_contains">
<attribute name="ccode.ordering" value="0"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="contains" invoker="contains">
<attribute name="ccode.ordering" value="0"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="add" c:identifier="gee_collection_add">
<attribute name="ccode.ordering" value="1"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="add" invoker="add">
<attribute name="ccode.ordering" value="1"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="remove" c:identifier="gee_collection_remove">
<attribute name="ccode.ordering" value="2"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="remove" invoker="remove">
<attribute name="ccode.ordering" value="2"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="clear" c:identifier="gee_collection_clear">
<attribute name="ccode.ordering" value="3"/>
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</method>
<virtual-method name="clear" invoker="clear">
<attribute name="ccode.ordering" value="3"/>
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</virtual-method>
<method name="add_all" c:identifier="gee_collection_add_all">
<attribute name="ccode.ordering" value="4"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<virtual-method name="add_all" invoker="add_all">
<attribute name="ccode.ordering" value="4"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</virtual-method>
<method name="contains_all" c:identifier="gee_collection_contains_all">
<attribute name="ccode.ordering" value="5"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<virtual-method name="contains_all" invoker="contains_all">
<attribute name="ccode.ordering" value="5"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</virtual-method>
<method name="remove_all" c:identifier="gee_collection_remove_all">
<attribute name="ccode.ordering" value="6"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<virtual-method name="remove_all" invoker="remove_all">
<attribute name="ccode.ordering" value="6"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</virtual-method>
<method name="retain_all" c:identifier="gee_collection_retain_all">
<attribute name="ccode.ordering" value="7"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<virtual-method name="retain_all" invoker="retain_all">
<attribute name="ccode.ordering" value="7"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</virtual-method>
<method name="to_array" c:identifier="gee_collection_to_array">
<attribute name="ccode.ordering" value="8"/>
<return-value transfer-ownership="full">
<array length="0">
<type name="gpointer" c:type="gpointer"/>
</array>
</return-value>
<parameters>
<parameter name="result_length1" direction="out" transfer-ownership="none">
<type name="gint" c:type="gint*"/>
</parameter>
</parameters>
</method>
<virtual-method name="to_array" invoker="to_array">
<attribute name="ccode.ordering" value="8"/>
<return-value transfer-ownership="full">
<array length="0">
<type name="gpointer" c:type="gpointer"/>
</array>
</return-value>
<parameters>
<parameter name="result_length1" direction="out" transfer-ownership="none">
<type name="gint" c:type="gint*"/>
</parameter>
</parameters>
</virtual-method>
<method name="add_all_array" c:identifier="gee_collection_add_all_array">
<attribute name="ccode.ordering" value="13"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="array" transfer-ownership="none">
<array length="1">
<type name="gpointer" c:type="gpointer"/>
</array>
</parameter>
<parameter name="array_length1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<virtual-method name="add_all_array" invoker="add_all_array">
<attribute name="ccode.ordering" value="13"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="array" transfer-ownership="none">
<array length="1">
<type name="gpointer" c:type="gpointer"/>
</array>
</parameter>
<parameter name="array_length1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="contains_all_array" c:identifier="gee_collection_contains_all_array">
<attribute name="ccode.ordering" value="14"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="array" transfer-ownership="none">
<array length="1">
<type name="gpointer" c:type="gpointer"/>
</array>
</parameter>
<parameter name="array_length1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<virtual-method name="contains_all_array" invoker="contains_all_array">
<attribute name="ccode.ordering" value="14"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="array" transfer-ownership="none">
<array length="1">
<type name="gpointer" c:type="gpointer"/>
</array>
</parameter>
<parameter name="array_length1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="remove_all_array" c:identifier="gee_collection_remove_all_array">
<attribute name="ccode.ordering" value="15"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="array" transfer-ownership="none">
<array length="1">
<type name="gpointer" c:type="gpointer"/>
</array>
</parameter>
<parameter name="array_length1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<virtual-method name="remove_all_array" invoker="remove_all_array">
<attribute name="ccode.ordering" value="15"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="array" transfer-ownership="none">
<array length="1">
<type name="gpointer" c:type="gpointer"/>
</array>
</parameter>
<parameter name="array_length1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="add_all_iterator" c:identifier="gee_collection_add_all_iterator">
<attribute name="ccode.ordering" value="16"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<virtual-method name="add_all_iterator" invoker="add_all_iterator">
<attribute name="ccode.ordering" value="16"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</virtual-method>
<method name="contains_all_iterator" c:identifier="gee_collection_contains_all_iterator">
<attribute name="ccode.ordering" value="17"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<virtual-method name="contains_all_iterator" invoker="contains_all_iterator">
<attribute name="ccode.ordering" value="17"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</virtual-method>
<method name="remove_all_iterator" c:identifier="gee_collection_remove_all_iterator">
<attribute name="ccode.ordering" value="18"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<virtual-method name="remove_all_iterator" invoker="remove_all_iterator">
<attribute name="ccode.ordering" value="18"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="iter" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</virtual-method>
<function name="empty" c:identifier="gee_collection_empty">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</function>
<property name="size">
<attribute name="ccode.ordering" value="9"/>
<type name="gint" c:type="gint"/>
</property>
<method name="get_size" c:identifier="gee_collection_get_size">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</method>
<virtual-method name="get_size" invoker="get_size">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</virtual-method>
<property name="is-empty">
<attribute name="ccode.ordering" value="10"/>
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_is_empty" c:identifier="gee_collection_get_is_empty">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_is_empty" invoker="get_is_empty">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<property name="read-only">
<attribute name="ccode.ordering" value="11"/>
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_read_only" c:identifier="gee_collection_get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_read_only" invoker="get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<property name="read-only-view">
<attribute name="ccode.ordering" value="12"/>
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_collection_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</interface>
<record name="CollectionIface" c:type="GeeCollectionIface" glib:is-gtype-struct-for="Collection">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="contains">
<callback name="contains" c:type="contains">
<attribute name="ccode.ordering" value="0"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="add">
<callback name="add" c:type="add">
<attribute name="ccode.ordering" value="1"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="remove">
<callback name="remove" c:type="remove">
<attribute name="ccode.ordering" value="2"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="clear">
<callback name="clear" c:type="clear">
<attribute name="ccode.ordering" value="3"/>
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="add_all">
<callback name="add_all" c:type="add_all">
<attribute name="ccode.ordering" value="4"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</callback>
</field>
<field name="contains_all">
<callback name="contains_all" c:type="contains_all">
<attribute name="ccode.ordering" value="5"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</callback>
</field>
<field name="remove_all">
<callback name="remove_all" c:type="remove_all">
<attribute name="ccode.ordering" value="6"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</callback>
</field>
<field name="retain_all">
<callback name="retain_all" c:type="retain_all">
<attribute name="ccode.ordering" value="7"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</callback>
</field>
<field name="to_array">
<callback name="to_array" c:type="to_array">
<attribute name="ccode.ordering" value="8"/>
<return-value transfer-ownership="full">
<array length="1">
<type name="gpointer" c:type="gpointer"/>
</array>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="result_length1" direction="out" transfer-ownership="none">
<type name="gint" c:type="gint*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="add_all_array">
<callback name="add_all_array" c:type="add_all_array">
<attribute name="ccode.ordering" value="13"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="array" transfer-ownership="none">
<array length="2">
<type name="gpointer" c:type="gpointer"/>
</array>
</parameter>
<parameter name="array_length1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="contains_all_array">
<callback name="contains_all_array" c:type="contains_all_array">
<attribute name="ccode.ordering" value="14"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="array" transfer-ownership="none">
<array length="2">
<type name="gpointer" c:type="gpointer"/>
</array>
</parameter>
<parameter name="array_length1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="remove_all_array">
<callback name="remove_all_array" c:type="remove_all_array">
<attribute name="ccode.ordering" value="15"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="array" transfer-ownership="none">
<array length="2">
<type name="gpointer" c:type="gpointer"/>
</array>
</parameter>
<parameter name="array_length1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="add_all_iterator">
<callback name="add_all_iterator" c:type="add_all_iterator">
<attribute name="ccode.ordering" value="16"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</callback>
</field>
<field name="contains_all_iterator">
<callback name="contains_all_iterator" c:type="contains_all_iterator">
<attribute name="ccode.ordering" value="17"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</callback>
</field>
<field name="remove_all_iterator">
<callback name="remove_all_iterator" c:type="remove_all_iterator">
<attribute name="ccode.ordering" value="18"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
<parameter name="iter" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</callback>
</field>
<field name="get_size">
<callback name="get_size" c:type="get_size">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_is_empty">
<callback name="get_is_empty" c:type="get_is_empty">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only">
<callback name="get_read_only" c:type="get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only_view">
<callback name="get_read_only_view" c:type="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="Comparable" c:type="GeeComparable" glib:type-name="GeeComparable" glib:get-type="gee_comparable_get_type" glib:type-struct="ComparableIface">
<prerequisite name="GObject.Object"/>
<method name="compare_to" c:identifier="gee_comparable_compare_to">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="compare_to" invoker="compare_to">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
</interface>
<record name="ComparableIface" c:type="GeeComparableIface" glib:is-gtype-struct-for="Comparable">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="compare_to">
<callback name="compare_to" c:type="compare_to">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Comparable" c:type="GeeComparable*"/>
</parameter>
<parameter name="object" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="Deque" c:type="GeeDeque" glib:type-name="GeeDeque" glib:get-type="gee_deque_get_type" glib:type-struct="DequeIface">
<prerequisite name="Gee.Queue"/>
<method name="offer_head" c:identifier="gee_deque_offer_head">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="offer_head" invoker="offer_head">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="peek_head" c:identifier="gee_deque_peek_head">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="peek_head" invoker="peek_head">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="poll_head" c:identifier="gee_deque_poll_head">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="poll_head" invoker="poll_head">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="drain_head" c:identifier="gee_deque_drain_head">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="recipient" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
<parameter name="amount" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<virtual-method name="drain_head" invoker="drain_head">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="recipient" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
<parameter name="amount" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="offer_tail" c:identifier="gee_deque_offer_tail">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="offer_tail" invoker="offer_tail">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="peek_tail" c:identifier="gee_deque_peek_tail">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="peek_tail" invoker="peek_tail">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="poll_tail" c:identifier="gee_deque_poll_tail">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="poll_tail" invoker="poll_tail">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="drain_tail" c:identifier="gee_deque_drain_tail">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="recipient" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
<parameter name="amount" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<virtual-method name="drain_tail" invoker="drain_tail">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="recipient" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
<parameter name="amount" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
</interface>
<record name="DequeIface" c:type="GeeDequeIface" glib:is-gtype-struct-for="Deque">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="offer_head">
<callback name="offer_head" c:type="offer_head">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Deque" c:type="GeeDeque*"/>
</parameter>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="peek_head">
<callback name="peek_head" c:type="peek_head">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Deque" c:type="GeeDeque*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="poll_head">
<callback name="poll_head" c:type="poll_head">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Deque" c:type="GeeDeque*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="drain_head">
<callback name="drain_head" c:type="drain_head">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Deque" c:type="GeeDeque*"/>
</parameter>
<parameter name="recipient" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
<parameter name="amount" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="offer_tail">
<callback name="offer_tail" c:type="offer_tail">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Deque" c:type="GeeDeque*"/>
</parameter>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="peek_tail">
<callback name="peek_tail" c:type="peek_tail">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Deque" c:type="GeeDeque*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="poll_tail">
<callback name="poll_tail" c:type="poll_tail">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Deque" c:type="GeeDeque*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="drain_tail">
<callback name="drain_tail" c:type="drain_tail">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Deque" c:type="GeeDeque*"/>
</parameter>
<parameter name="recipient" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
<parameter name="amount" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="Future" c:type="GeeFuture" glib:type-name="GeeFuture" glib:get-type="gee_future_get_type" glib:type-struct="FutureIface">
<prerequisite name="GObject.Object"/>
<method name="wait" c:identifier="gee_future_wait" throws="1">
<attribute name="ccode.ordering" value="0"/>
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="wait" invoker="wait" throws="1">
<attribute name="ccode.ordering" value="0"/>
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="wait_until" c:identifier="gee_future_wait_until" throws="1">
<attribute name="ccode.ordering" value="1"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="end_time" transfer-ownership="none">
<type name="gint64" c:type="gint64"/>
</parameter>
<parameter name="value" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="wait_until" invoker="wait_until" throws="1">
<attribute name="ccode.ordering" value="1"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="end_time" transfer-ownership="none">
<type name="gint64" c:type="gint64"/>
</parameter>
<parameter name="value" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="wait_async" c:identifier="gee_future_wait_async">
<attribute name="ccode.ordering" value="2"/>
<return-value transfer-ownership="none">
<type name="none"/>
</return-value>
<parameters>
<parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="1" scope="async">
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="_callback__target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<method name="wait_finish" c:identifier="gee_future_wait_finish" throws="1">
<attribute name="ccode.ordering" value="2"/>
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="_res_" transfer-ownership="none">
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</method>
<virtual-method name="wait_async" invoker="wait_async">
<attribute name="ccode.ordering" value="2"/>
<return-value transfer-ownership="none">
<type name="none"/>
</return-value>
<parameters>
<parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="1" scope="async">
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="_callback__target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="wait_finish" invoker="wait_finish" throws="1">
<attribute name="ccode.ordering" value="2"/>
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="_res_" transfer-ownership="none">
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</virtual-method>
<method name="map" c:identifier="gee_future_map">
<attribute name="ccode.ordering" value="3"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="func" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.FutureMapFunc" c:type="GeeFutureMapFunc"/>
</parameter>
<parameter name="func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="map" invoker="map">
<attribute name="ccode.ordering" value="3"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="func" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.FutureMapFunc" c:type="GeeFutureMapFunc"/>
</parameter>
<parameter name="func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<method name="light_map" c:identifier="gee_future_light_map_fixed">
<attribute name="ccode.cname" value="gee_future_light_map_fixed"/>
<attribute name="ccode.vfunc-name" value="light_map_fixed"/>
<attribute name="ccode.ordering" value="10"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="func" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.FutureLightMapFunc" c:type="GeeFutureLightMapFunc"/>
</parameter>
<parameter name="func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="light_map" invoker="light_map">
<attribute name="ccode.cname" value="gee_future_light_map_fixed"/>
<attribute name="ccode.vfunc-name" value="light_map_fixed"/>
<attribute name="ccode.ordering" value="10"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="func" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.FutureLightMapFunc" c:type="GeeFutureLightMapFunc"/>
</parameter>
<parameter name="func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<method name="light_map_broken" c:identifier="gee_future_light_map">
<attribute name="ccode.cname" value="gee_future_light_map"/>
<attribute name="ccode.vfunc-name" value="light_map"/>
<attribute name="ccode.ordering" value="4"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="func" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.FutureLightMapFunc" c:type="GeeFutureLightMapFunc"/>
</parameter>
<parameter name="func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<virtual-method name="light_map_broken" invoker="light_map_broken">
<attribute name="ccode.cname" value="gee_future_light_map"/>
<attribute name="ccode.vfunc-name" value="light_map"/>
<attribute name="ccode.ordering" value="4"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="func" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.FutureLightMapFunc" c:type="GeeFutureLightMapFunc"/>
</parameter>
<parameter name="func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</virtual-method>
<method name="zip" c:identifier="gee_future_zip">
<attribute name="ccode.ordering" value="5"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="zip_func" transfer-ownership="none" closure="1" scope="async">
<type name="Gee.FutureZipFunc" c:type="GeeFutureZipFunc"/>
</parameter>
<parameter name="zip_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="second" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<virtual-method name="zip" invoker="zip">
<attribute name="ccode.ordering" value="5"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="zip_func" transfer-ownership="none" closure="1" scope="async">
<type name="Gee.FutureZipFunc" c:type="GeeFutureZipFunc"/>
</parameter>
<parameter name="zip_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="second" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</virtual-method>
<method name="flat_map" c:identifier="gee_future_flat_map">
<attribute name="ccode.ordering" value="6"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="func" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.FutureFlatMapFunc" c:type="GeeFutureFlatMapFunc"/>
</parameter>
<parameter name="func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="flat_map" invoker="flat_map">
<attribute name="ccode.ordering" value="6"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="func" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.FutureFlatMapFunc" c:type="GeeFutureFlatMapFunc"/>
</parameter>
<parameter name="func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<property name="value">
<attribute name="ccode.ordering" value="7"/>
<type name="gpointer" c:type="gpointer"/>
</property>
<method name="get_value" c:identifier="gee_future_get_value">
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="get_value" invoker="get_value">
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<property name="ready">
<attribute name="ccode.ordering" value="8"/>
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_ready" c:identifier="gee_future_get_ready">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_ready" invoker="get_ready">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<property name="exception">
<attribute name="ccode.ordering" value="9"/>
<type name="GLib.Error?"/>
</property>
<method name="get_exception" c:identifier="gee_future_get_exception">
<return-value transfer-ownership="none" allow-none="1">
<type name="GLib.Error?"/>
</return-value>
</method>
<virtual-method name="get_exception" invoker="get_exception">
<return-value transfer-ownership="none" allow-none="1">
<type name="GLib.Error?"/>
</return-value>
</virtual-method>
<callback name="MapFunc" c:type="GeeFutureMapFunc">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
<callback name="LightMapFunc" c:type="GeeFutureLightMapFunc">
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
<callback name="ZipFunc" c:type="GeeFutureZipFunc">
<attribute name="ccode.scope" value="async"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="a" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="b" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="2">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
<callback name="FlatMapFunc" c:type="GeeFutureFlatMapFunc">
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
</interface>
<record name="FutureIface" c:type="GeeFutureIface" glib:is-gtype-struct-for="Future">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="wait">
<callback name="wait" c:type="wait" throws="1">
<attribute name="ccode.ordering" value="0"/>
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="wait_until">
<callback name="wait_until" c:type="wait_until" throws="1">
<attribute name="ccode.ordering" value="1"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*"/>
</parameter>
<parameter name="end_time" transfer-ownership="none">
<type name="gint64" c:type="gint64"/>
</parameter>
<parameter name="value" direction="out" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="wait_async">
<callback name="wait_async" c:type="wait_async">
<attribute name="ccode.ordering" value="2"/>
<return-value transfer-ownership="none">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*"/>
</parameter>
<parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="_callback__target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="wait_finish">
<callback name="wait_finish" c:type="wait_finish" throws="1">
<attribute name="ccode.ordering" value="2"/>
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*"/>
</parameter>
<parameter name="_res_" transfer-ownership="none">
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="map">
<callback name="map" c:type="map">
<attribute name="ccode.ordering" value="3"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*"/>
</parameter>
<parameter name="func" transfer-ownership="none" closure="2" scope="notified" destroy="3">
<type name="Gee.FutureMapFunc" c:type="GeeFutureMapFunc"/>
</parameter>
<parameter name="func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="light_map">
<callback name="light_map" c:type="light_map">
<attribute name="ccode.cname" value="gee_future_light_map_fixed"/>
<attribute name="ccode.vfunc-name" value="light_map_fixed"/>
<attribute name="ccode.ordering" value="10"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*"/>
</parameter>
<parameter name="func" transfer-ownership="none" closure="2" scope="notified" destroy="3">
<type name="Gee.FutureLightMapFunc" c:type="GeeFutureLightMapFunc"/>
</parameter>
<parameter name="func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="light_map_broken">
<callback name="light_map_broken" c:type="light_map_broken">
<attribute name="ccode.cname" value="gee_future_light_map"/>
<attribute name="ccode.vfunc-name" value="light_map"/>
<attribute name="ccode.ordering" value="4"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*"/>
</parameter>
<parameter name="func" transfer-ownership="none" closure="2" scope="call">
<type name="Gee.FutureLightMapFunc" c:type="GeeFutureLightMapFunc"/>
</parameter>
<parameter name="func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="zip">
<callback name="zip" c:type="zip">
<attribute name="ccode.ordering" value="5"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*"/>
</parameter>
<parameter name="zip_func" transfer-ownership="none" closure="2" scope="async">
<type name="Gee.FutureZipFunc" c:type="GeeFutureZipFunc"/>
</parameter>
<parameter name="zip_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="second" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</callback>
</field>
<field name="flat_map">
<callback name="flat_map" c:type="flat_map">
<attribute name="ccode.ordering" value="6"/>
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*"/>
</parameter>
<parameter name="func" transfer-ownership="none" closure="2" scope="notified" destroy="3">
<type name="Gee.FutureFlatMapFunc" c:type="GeeFutureFlatMapFunc"/>
</parameter>
<parameter name="func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_value">
<callback name="get_value" c:type="get_value">
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_ready">
<callback name="get_ready" c:type="get_ready">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_exception">
<callback name="get_exception" c:type="get_exception">
<return-value transfer-ownership="none" allow-none="1">
<type name="GLib.Error?"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Future" c:type="GeeFuture*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="Hashable" c:type="GeeHashable" glib:type-name="GeeHashable" glib:get-type="gee_hashable_get_type" glib:type-struct="HashableIface">
<prerequisite name="GObject.Object"/>
<method name="hash" c:identifier="gee_hashable_hash">
<return-value transfer-ownership="full">
<type name="guint" c:type="guint"/>
</return-value>
</method>
<virtual-method name="hash" invoker="hash">
<return-value transfer-ownership="full">
<type name="guint" c:type="guint"/>
</return-value>
</virtual-method>
<method name="equal_to" c:identifier="gee_hashable_equal_to">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="equal_to" invoker="equal_to">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
</interface>
<record name="HashableIface" c:type="GeeHashableIface" glib:is-gtype-struct-for="Hashable">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="hash">
<callback name="hash" c:type="hash">
<return-value transfer-ownership="full">
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Hashable" c:type="GeeHashable*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="equal_to">
<callback name="equal_to" c:type="equal_to">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Hashable" c:type="GeeHashable*"/>
</parameter>
<parameter name="object" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="Iterable" c:type="GeeIterable" glib:type-name="GeeIterable" glib:get-type="gee_iterable_get_type" glib:type-struct="IterableIface">
<prerequisite name="GObject.Object"/>
<prerequisite name="Gee.Traversable"/>
<method name="iterator" c:identifier="gee_iterable_iterator">
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="iterator" invoker="iterator">
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</interface>
<record name="IterableIface" c:type="GeeIterableIface" glib:is-gtype-struct-for="Iterable">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="iterator">
<callback name="iterator" c:type="iterator">
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Iterable" c:type="GeeIterable*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="Iterator" c:type="GeeIterator" glib:type-name="GeeIterator" glib:get-type="gee_iterator_get_type" glib:type-struct="IteratorIface">
<prerequisite name="GObject.Object"/>
<prerequisite name="Gee.Traversable"/>
<method name="next" c:identifier="gee_iterator_next">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="next" invoker="next">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<method name="has_next" c:identifier="gee_iterator_has_next">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="has_next" invoker="has_next">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<method name="get" c:identifier="gee_iterator_get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="get" invoker="get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="remove" c:identifier="gee_iterator_remove">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</method>
<virtual-method name="remove" invoker="remove">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</virtual-method>
<function name="unfold" c:identifier="gee_iterator_unfold">
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.UnfoldFunc" c:type="GeeUnfoldFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="f_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
<parameter name="current" transfer-ownership="full" allow-none="1">
<type name="Gee.Lazy" c:type="GeeLazy*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</function>
<function name="concat" c:identifier="gee_iterator_concat">
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="iters" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</parameter>
</parameters>
</function>
<property name="valid">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_valid" c:identifier="gee_iterator_get_valid">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_valid" invoker="get_valid">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<property name="read-only">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_read_only" c:identifier="gee_iterator_get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_read_only" invoker="get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
</interface>
<record name="IteratorIface" c:type="GeeIteratorIface" glib:is-gtype-struct-for="Iterator">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="next">
<callback name="next" c:type="next">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="has_next">
<callback name="has_next" c:type="has_next">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get">
<callback name="get" c:type="get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="remove">
<callback name="remove" c:type="remove">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_valid">
<callback name="get_valid" c:type="get_valid">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only">
<callback name="get_read_only" c:type="get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Iterator" c:type="GeeIterator*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="List" c:type="GeeList" glib:type-name="GeeList" glib:get-type="gee_list_get_type" glib:type-struct="ListIface">
<prerequisite name="Gee.Collection"/>
<method name="list_iterator" c:identifier="gee_list_list_iterator">
<return-value transfer-ownership="full">
<type name="Gee.ListIterator" c:type="GeeListIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="list_iterator" invoker="list_iterator">
<return-value transfer-ownership="full">
<type name="Gee.ListIterator" c:type="GeeListIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<method name="get" c:identifier="gee_list_get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<virtual-method name="get" invoker="get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="set" c:identifier="gee_list_set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="set" invoker="set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="index_of" c:identifier="gee_list_index_of">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="index_of" invoker="index_of">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="insert" c:identifier="gee_list_insert">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="insert" invoker="insert">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="remove_at" c:identifier="gee_list_remove_at">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<virtual-method name="remove_at" invoker="remove_at">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="slice" c:identifier="gee_list_slice">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="stop" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<virtual-method name="slice" invoker="slice">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="stop" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="first" c:identifier="gee_list_first">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="first" invoker="first">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="last" c:identifier="gee_list_last">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="last" invoker="last">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="insert_all" c:identifier="gee_list_insert_all">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<virtual-method name="insert_all" invoker="insert_all">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</virtual-method>
<method name="sort" c:identifier="gee_list_sort">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="sort" invoker="sort">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<function name="empty" c:identifier="gee_list_empty">
<return-value transfer-ownership="full">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</function>
<property name="read-only-view">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_list_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</interface>
<record name="ListIface" c:type="GeeListIface" glib:is-gtype-struct-for="List">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="list_iterator">
<callback name="list_iterator" c:type="list_iterator">
<return-value transfer-ownership="full">
<type name="Gee.ListIterator" c:type="GeeListIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.List" c:type="GeeList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get">
<callback name="get" c:type="get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.List" c:type="GeeList*"/>
</parameter>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set">
<callback name="set" c:type="set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.List" c:type="GeeList*"/>
</parameter>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="index_of">
<callback name="index_of" c:type="index_of">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.List" c:type="GeeList*"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="insert">
<callback name="insert" c:type="insert">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.List" c:type="GeeList*"/>
</parameter>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="remove_at">
<callback name="remove_at" c:type="remove_at">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.List" c:type="GeeList*"/>
</parameter>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="slice">
<callback name="slice" c:type="slice">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.List" c:type="GeeList*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="stop" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="first">
<callback name="first" c:type="first">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.List" c:type="GeeList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="last">
<callback name="last" c:type="last">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.List" c:type="GeeList*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="insert_all">
<callback name="insert_all" c:type="insert_all">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.List" c:type="GeeList*"/>
</parameter>
<parameter name="index" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="collection" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</callback>
</field>
<field name="sort">
<callback name="sort" c:type="sort">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.List" c:type="GeeList*"/>
</parameter>
<parameter name="compare_func" transfer-ownership="none" allow-none="1" closure="2" scope="notified" destroy="3">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_func_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_func_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only_view">
<callback name="get_read_only_view" c:type="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.List" c:type="GeeList*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.List" c:type="GeeList*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="ListIterator" c:type="GeeListIterator" glib:type-name="GeeListIterator" glib:get-type="gee_list_iterator_get_type" glib:type-struct="ListIteratorIface">
<prerequisite name="Gee.Iterator"/>
<method name="set" c:identifier="gee_list_iterator_set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="set" invoker="set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="add" c:identifier="gee_list_iterator_add">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="add" invoker="add">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="index" c:identifier="gee_list_iterator_index">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
</method>
<virtual-method name="index" invoker="index">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
</virtual-method>
</interface>
<record name="ListIteratorIface" c:type="GeeListIteratorIface" glib:is-gtype-struct-for="ListIterator">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="set">
<callback name="set" c:type="set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.ListIterator" c:type="GeeListIterator*"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="add">
<callback name="add" c:type="add">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.ListIterator" c:type="GeeListIterator*"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="index">
<callback name="index" c:type="index">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.ListIterator" c:type="GeeListIterator*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="Map" c:type="GeeMap" glib:type-name="GeeMap" glib:get-type="gee_map_get_type" glib:type-struct="MapIface">
<prerequisite name="GObject.Object"/>
<prerequisite name="Gee.Iterable"/>
<method name="has_key" c:identifier="gee_map_has_key">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="has_key" invoker="has_key">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="contains" c:identifier="gee_map_contains" deprecated="Use Map.has_key">
<attribute name="version.replacement" value="Map.has_key"/>
<attribute name="version.deprecated" value="true"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="has" c:identifier="gee_map_has">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="has" invoker="has">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="get" c:identifier="gee_map_get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="get" invoker="get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="set" c:identifier="gee_map_set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="set" invoker="set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="unset" c:identifier="gee_map_unset">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="unset" invoker="unset">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="remove" c:identifier="gee_map_remove" deprecated="Use Map.unset">
<attribute name="version.replacement" value="Map.unset"/>
<attribute name="version.deprecated" value="true"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="clear" c:identifier="gee_map_clear">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</method>
<virtual-method name="clear" invoker="clear">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</virtual-method>
<method name="map_iterator" c:identifier="gee_map_map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.MapIterator" c:type="GeeMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="map_iterator" invoker="map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.MapIterator" c:type="GeeMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<method name="set_all" c:identifier="gee_map_set_all">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="map" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<virtual-method name="set_all" invoker="set_all">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="map" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</virtual-method>
<method name="unset_all" c:identifier="gee_map_unset_all">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="map" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<virtual-method name="unset_all" invoker="unset_all">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="map" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</virtual-method>
<method name="remove_all" c:identifier="gee_map_remove_all" deprecated="Use Map.unset_all">
<attribute name="version.replacement" value="Map.unset_all"/>
<attribute name="version.deprecated" value="true"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="map" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<method name="has_all" c:identifier="gee_map_has_all">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="map" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<virtual-method name="has_all" invoker="has_all">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="map" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</virtual-method>
<method name="contains_all" c:identifier="gee_map_contains_all" deprecated="Use Map.has_all">
<attribute name="version.replacement" value="Map.has_all"/>
<attribute name="version.deprecated" value="true"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="map" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</method>
<function name="empty" c:identifier="gee_map_empty">
<return-value transfer-ownership="full">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</function>
<property name="size">
<type name="gint" c:type="gint"/>
</property>
<method name="get_size" c:identifier="gee_map_get_size">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</method>
<virtual-method name="get_size" invoker="get_size">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</virtual-method>
<property name="is-empty">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_is_empty" c:identifier="gee_map_get_is_empty">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_is_empty" invoker="get_is_empty">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<property name="read-only">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_read_only" c:identifier="gee_map_get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_read_only" invoker="get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<property name="keys">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_keys" c:identifier="gee_map_get_keys">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_keys" invoker="get_keys">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<property name="values">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_values" c:identifier="gee_map_get_values">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_values" invoker="get_values">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<property name="entries">
<type name="Gee.Set" c:type="GeeSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</property>
<method name="get_entries" c:identifier="gee_map_get_entries">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</return-value>
</method>
<virtual-method name="get_entries" invoker="get_entries">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</return-value>
</virtual-method>
<property name="read-only-view">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_map_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<property name="key-type">
<type name="GType" c:type="GType"/>
</property>
<method name="get_key_type" c:identifier="gee_map_get_key_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</method>
<property name="value-type">
<type name="GType" c:type="GType"/>
</property>
<method name="get_value_type" c:identifier="gee_map_get_value_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</method>
</interface>
<record name="MapIface" c:type="GeeMapIface" glib:is-gtype-struct-for="Map">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="has_key">
<callback name="has_key" c:type="has_key">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="has">
<callback name="has" c:type="has">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get">
<callback name="get" c:type="get">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set">
<callback name="set" c:type="set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unset">
<callback name="unset" c:type="unset">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" direction="out" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="clear">
<callback name="clear" c:type="clear">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="map_iterator">
<callback name="map_iterator" c:type="map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.MapIterator" c:type="GeeMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_all">
<callback name="set_all" c:type="set_all">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
<parameter name="map" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</callback>
</field>
<field name="unset_all">
<callback name="unset_all" c:type="unset_all">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
<parameter name="map" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</callback>
</field>
<field name="has_all">
<callback name="has_all" c:type="has_all">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
<parameter name="map" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
</parameters>
</callback>
</field>
<field name="get_size">
<callback name="get_size" c:type="get_size">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_is_empty">
<callback name="get_is_empty" c:type="get_is_empty">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only">
<callback name="get_read_only" c:type="get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_keys">
<callback name="get_keys" c:type="get_keys">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_values">
<callback name="get_values" c:type="get_values">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_entries">
<callback name="get_entries" c:type="get_entries">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only_view">
<callback name="get_read_only_view" c:type="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Map" c:type="GeeMap*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="MapEntry" c:type="GeeMapEntry" glib:type-name="GeeMapEntry" glib:get-type="gee_map_entry_get_type" glib:type-struct="MapEntryClass" parent="GObject.Object" abstract="1">
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="priv">
<type name="MapEntryPrivate" c:type="GeeMapEntryPrivate*"/>
</field>
<property name="key">
<type name="gpointer" c:type="gpointer"/>
</property>
<method name="get_key" c:identifier="gee_map_entry_get_key">
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="get_key" invoker="get_key">
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<property name="value" writable="1">
<type name="gpointer" c:type="gpointer"/>
</property>
<method name="get_value" c:identifier="gee_map_entry_get_value">
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="get_value" invoker="get_value">
<return-value transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="set_value" c:identifier="gee_map_entry_set_value">
<return-value transfer-ownership="none">
<type name="none"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="set_value" invoker="set_value">
<return-value transfer-ownership="none">
<type name="none"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<property name="read-only">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_read_only" c:identifier="gee_map_entry_get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_read_only" invoker="get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
</class>
<record name="MapEntryClass" c:type="GeeMapEntryClass" glib:is-gtype-struct-for="Entry">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
<record name="MapEntryPrivate" c:type="GeeMapEntryPrivate" disguised="1"/>
<interface name="MapIterator" c:type="GeeMapIterator" glib:type-name="GeeMapIterator" glib:get-type="gee_map_iterator_get_type" glib:type-struct="MapIteratorIface">
<prerequisite name="GObject.Object"/>
<method name="next" c:identifier="gee_map_iterator_next">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="next" invoker="next">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<method name="has_next" c:identifier="gee_map_iterator_has_next">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="has_next" invoker="has_next">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<method name="get_key" c:identifier="gee_map_iterator_get_key">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="get_key" invoker="get_key">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="get_value" c:identifier="gee_map_iterator_get_value">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="get_value" invoker="get_value">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="set_value" c:identifier="gee_map_iterator_set_value">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="set_value" invoker="set_value">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="unset" c:identifier="gee_map_iterator_unset">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</method>
<virtual-method name="unset" invoker="unset">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</virtual-method>
<method name="fold" c:identifier="gee_map_iterator_fold">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.FoldMapFunc" c:type="GeeFoldMapFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="seed" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="fold" invoker="fold">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.FoldMapFunc" c:type="GeeFoldMapFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="seed" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="foreach" c:identifier="gee_map_iterator_foreach">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.ForallMapFunc" c:type="GeeForallMapFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<virtual-method name="foreach" invoker="foreach">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.ForallMapFunc" c:type="GeeForallMapFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</virtual-method>
<property name="valid">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_valid" c:identifier="gee_map_iterator_get_valid">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_valid" invoker="get_valid">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<property name="mutable">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_mutable" c:identifier="gee_map_iterator_get_mutable">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_mutable" invoker="get_mutable">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<property name="read-only">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_read_only" c:identifier="gee_map_iterator_get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_read_only" invoker="get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
</interface>
<record name="MapIteratorIface" c:type="GeeMapIteratorIface" glib:is-gtype-struct-for="MapIterator">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="next">
<callback name="next" c:type="next">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="has_next">
<callback name="has_next" c:type="has_next">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_key">
<callback name="get_key" c:type="get_key">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_value">
<callback name="get_value" c:type="get_value">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_value">
<callback name="set_value" c:type="set_value">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="unset">
<callback name="unset" c:type="unset">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="fold">
<callback name="fold" c:type="fold">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
</parameter>
<parameter name="f" transfer-ownership="none" closure="2" scope="call">
<type name="Gee.FoldMapFunc" c:type="GeeFoldMapFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="seed" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="foreach">
<callback name="foreach" c:type="foreach">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
</parameter>
<parameter name="f" transfer-ownership="none" closure="2" scope="call">
<type name="Gee.ForallMapFunc" c:type="GeeForallMapFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_valid">
<callback name="get_valid" c:type="get_valid">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_mutable">
<callback name="get_mutable" c:type="get_mutable">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only">
<callback name="get_read_only" c:type="get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MapIterator" c:type="GeeMapIterator*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="MultiMap" c:type="GeeMultiMap" glib:type-name="GeeMultiMap" glib:get-type="gee_multi_map_get_type" glib:type-struct="MultiMapIface">
<prerequisite name="GObject.Object"/>
<method name="get_keys" c:identifier="gee_multi_map_get_keys">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_keys" invoker="get_keys">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<method name="get_all_keys" c:identifier="gee_multi_map_get_all_keys">
<return-value transfer-ownership="full">
<type name="Gee.MultiSet" c:type="GeeMultiSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_all_keys" invoker="get_all_keys">
<return-value transfer-ownership="full">
<type name="Gee.MultiSet" c:type="GeeMultiSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<method name="get_values" c:identifier="gee_multi_map_get_values">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_values" invoker="get_values">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<method name="contains" c:identifier="gee_multi_map_contains">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="contains" invoker="contains">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="get" c:identifier="gee_multi_map_get">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="get" invoker="get">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="set" c:identifier="gee_multi_map_set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="set" invoker="set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="remove" c:identifier="gee_multi_map_remove">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="remove" invoker="remove">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="remove_all" c:identifier="gee_multi_map_remove_all">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="remove_all" invoker="remove_all">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="clear" c:identifier="gee_multi_map_clear">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</method>
<virtual-method name="clear" invoker="clear">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
</virtual-method>
<method name="map_iterator" c:identifier="gee_multi_map_map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.MapIterator" c:type="GeeMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="map_iterator" invoker="map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.MapIterator" c:type="GeeMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<property name="size">
<type name="gint" c:type="gint"/>
</property>
<method name="get_size" c:identifier="gee_multi_map_get_size">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</method>
<virtual-method name="get_size" invoker="get_size">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</virtual-method>
<property name="read-only">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_read_only" c:identifier="gee_multi_map_get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_read_only" invoker="get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<property name="key-type">
<type name="GType" c:type="GType"/>
</property>
<method name="get_key_type" c:identifier="gee_multi_map_get_key_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</method>
<property name="value-type">
<type name="GType" c:type="GType"/>
</property>
<method name="get_value_type" c:identifier="gee_multi_map_get_value_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</method>
<property name="read-only-view">
<type name="Gee.MultiMap" c:type="GeeMultiMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_multi_map_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.MultiMap" c:type="GeeMultiMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.MultiMap" c:type="GeeMultiMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</interface>
<record name="MultiMapIface" c:type="GeeMultiMapIface" glib:is-gtype-struct-for="MultiMap">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="get_keys">
<callback name="get_keys" c:type="get_keys">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_all_keys">
<callback name="get_all_keys" c:type="get_all_keys">
<return-value transfer-ownership="full">
<type name="Gee.MultiSet" c:type="GeeMultiSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_values">
<callback name="get_values" c:type="get_values">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="contains">
<callback name="contains" c:type="contains">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get">
<callback name="get" c:type="get">
<return-value transfer-ownership="full">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set">
<callback name="set" c:type="set">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="remove">
<callback name="remove" c:type="remove">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="value" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="remove_all">
<callback name="remove_all" c:type="remove_all">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
</parameter>
<parameter name="key" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="clear">
<callback name="clear" c:type="clear">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="map_iterator">
<callback name="map_iterator" c:type="map_iterator">
<return-value transfer-ownership="full">
<type name="Gee.MapIterator" c:type="GeeMapIterator*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_size">
<callback name="get_size" c:type="get_size">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only">
<callback name="get_read_only" c:type="get_read_only">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only_view">
<callback name="get_read_only_view" c:type="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.MultiMap" c:type="GeeMultiMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiMap" c:type="GeeMultiMap*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="MultiSet" c:type="GeeMultiSet" glib:type-name="GeeMultiSet" glib:get-type="gee_multi_set_get_type" glib:type-struct="MultiSetIface">
<prerequisite name="Gee.Collection"/>
<method name="count" c:identifier="gee_multi_set_count">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="count" invoker="count">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<function name="empty" c:identifier="gee_multi_set_empty">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</function>
<property name="read-only-view">
<type name="Gee.MultiSet" c:type="GeeMultiSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_multi_set_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.MultiSet" c:type="GeeMultiSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.MultiSet" c:type="GeeMultiSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</interface>
<record name="MultiSetIface" c:type="GeeMultiSetIface" glib:is-gtype-struct-for="MultiSet">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="count">
<callback name="count" c:type="count">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiSet" c:type="GeeMultiSet*"/>
</parameter>
<parameter name="item" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only_view">
<callback name="get_read_only_view" c:type="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.MultiSet" c:type="GeeMultiSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.MultiSet" c:type="GeeMultiSet*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="Queue" c:type="GeeQueue" glib:type-name="GeeQueue" glib:get-type="gee_queue_get_type" glib:type-struct="QueueIface">
<prerequisite name="Gee.Collection"/>
<method name="offer" c:identifier="gee_queue_offer">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="offer" invoker="offer">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="peek" c:identifier="gee_queue_peek">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="peek" invoker="peek">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="poll" c:identifier="gee_queue_poll">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="poll" invoker="poll">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="drain" c:identifier="gee_queue_drain">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="recipient" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
<parameter name="amount" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<virtual-method name="drain" invoker="drain">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="recipient" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
<parameter name="amount" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<constant name="UNBOUNDED_CAPACITY" c:identifier="GEE_QUEUE_UNBOUNDED_CAPACITY" value="-1">
<type name="gint" c:type="gint"/>
</constant>
<property name="capacity">
<type name="gint" c:type="gint"/>
</property>
<method name="get_capacity" c:identifier="gee_queue_get_capacity">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</method>
<virtual-method name="get_capacity" invoker="get_capacity">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</virtual-method>
<property name="remaining-capacity">
<type name="gint" c:type="gint"/>
</property>
<method name="get_remaining_capacity" c:identifier="gee_queue_get_remaining_capacity">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</method>
<virtual-method name="get_remaining_capacity" invoker="get_remaining_capacity">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</virtual-method>
<property name="is-full">
<type name="gboolean" c:type="gboolean"/>
</property>
<method name="get_is_full" c:identifier="gee_queue_get_is_full">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<virtual-method name="get_is_full" invoker="get_is_full">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
</interface>
<record name="QueueIface" c:type="GeeQueueIface" glib:is-gtype-struct-for="Queue">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="offer">
<callback name="offer" c:type="offer">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Queue" c:type="GeeQueue*"/>
</parameter>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="peek">
<callback name="peek" c:type="peek">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Queue" c:type="GeeQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="poll">
<callback name="poll" c:type="poll">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Queue" c:type="GeeQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="drain">
<callback name="drain" c:type="drain">
<return-value transfer-ownership="full">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Queue" c:type="GeeQueue*"/>
</parameter>
<parameter name="recipient" transfer-ownership="none">
<type name="Gee.Collection" c:type="GeeCollection*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
<parameter name="amount" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_capacity">
<callback name="get_capacity" c:type="get_capacity">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Queue" c:type="GeeQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_remaining_capacity">
<callback name="get_remaining_capacity" c:type="get_remaining_capacity">
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Queue" c:type="GeeQueue*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_is_full">
<callback name="get_is_full" c:type="get_is_full">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Queue" c:type="GeeQueue*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="Set" c:type="GeeSet" glib:type-name="GeeSet" glib:get-type="gee_set_get_type" glib:type-struct="SetIface">
<prerequisite name="Gee.Collection"/>
<function name="empty" c:identifier="gee_set_empty">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</function>
<property name="read-only-view">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_set_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</interface>
<record name="SetIface" c:type="GeeSetIface" glib:is-gtype-struct-for="Set">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="get_read_only_view">
<callback name="get_read_only_view" c:type="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.Set" c:type="GeeSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Set" c:type="GeeSet*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="SortedMap" c:type="GeeSortedMap" glib:type-name="GeeSortedMap" glib:get-type="gee_sorted_map_get_type" glib:type-struct="SortedMapIface">
<prerequisite name="Gee.Map"/>
<method name="head_map" c:identifier="gee_sorted_map_head_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="head_map" invoker="head_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="tail_map" c:identifier="gee_sorted_map_tail_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="tail_map" invoker="tail_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="sub_map" c:identifier="gee_sorted_map_sub_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="sub_map" invoker="sub_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<function name="empty" c:identifier="gee_sorted_map_empty">
<return-value transfer-ownership="full">
<type name="Gee.Map" c:type="GeeMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</function>
<property name="ascending-keys">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_ascending_keys" c:identifier="gee_sorted_map_get_ascending_keys">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_ascending_keys" invoker="get_ascending_keys">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
<property name="ascending-entries">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</property>
<method name="get_ascending_entries" c:identifier="gee_sorted_map_get_ascending_entries">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</return-value>
</method>
<virtual-method name="get_ascending_entries" invoker="get_ascending_entries">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</return-value>
</virtual-method>
<property name="read-only-view">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_sorted_map_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</interface>
<record name="SortedMapIface" c:type="GeeSortedMapIface" glib:is-gtype-struct-for="SortedMap">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="head_map">
<callback name="head_map" c:type="head_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedMap" c:type="GeeSortedMap*"/>
</parameter>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tail_map">
<callback name="tail_map" c:type="tail_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedMap" c:type="GeeSortedMap*"/>
</parameter>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="sub_map">
<callback name="sub_map" c:type="sub_map">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedMap" c:type="GeeSortedMap*"/>
</parameter>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_ascending_keys">
<callback name="get_ascending_keys" c:type="get_ascending_keys">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedMap" c:type="GeeSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_ascending_entries">
<callback name="get_ascending_entries" c:type="get_ascending_entries">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="Gee.MapEntry" c:type="GeeMapEntry*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedMap" c:type="GeeSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only_view">
<callback name="get_read_only_view" c:type="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.SortedMap" c:type="GeeSortedMap*">
<type name="gpointer" c:type="gpointer"/>
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedMap" c:type="GeeSortedMap*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="SortedSet" c:type="GeeSortedSet" glib:type-name="GeeSortedSet" glib:get-type="gee_sorted_set_get_type" glib:type-struct="SortedSetIface">
<prerequisite name="Gee.Set"/>
<method name="first" c:identifier="gee_sorted_set_first">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="first" invoker="first">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="last" c:identifier="gee_sorted_set_last">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</method>
<virtual-method name="last" invoker="last">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</virtual-method>
<method name="iterator_at" c:identifier="gee_sorted_set_iterator_at">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="iterator_at" invoker="iterator_at">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="lower" c:identifier="gee_sorted_set_lower">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="lower" invoker="lower">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="higher" c:identifier="gee_sorted_set_higher">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="higher" invoker="higher">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="floor" c:identifier="gee_sorted_set_floor">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="floor" invoker="floor">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="ceil" c:identifier="gee_sorted_set_ceil">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="ceil" invoker="ceil">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="head_set" c:identifier="gee_sorted_set_head_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="head_set" invoker="head_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="tail_set" c:identifier="gee_sorted_set_tail_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="tail_set" invoker="tail_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="sub_set" c:identifier="gee_sorted_set_sub_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="from" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="to" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="sub_set" invoker="sub_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="from" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="to" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<function name="empty" c:identifier="gee_sorted_set_empty">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</function>
<property name="read-only-view">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</property>
<method name="get_read_only_view" c:identifier="gee_sorted_set_get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</method>
<virtual-method name="get_read_only_view" invoker="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</virtual-method>
</interface>
<record name="SortedSetIface" c:type="GeeSortedSetIface" glib:is-gtype-struct-for="SortedSet">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="first">
<callback name="first" c:type="first">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="last">
<callback name="last" c:type="last">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="iterator_at">
<callback name="iterator_at" c:type="iterator_at">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
</parameter>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="lower">
<callback name="lower" c:type="lower">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
</parameter>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="higher">
<callback name="higher" c:type="higher">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
</parameter>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="floor">
<callback name="floor" c:type="floor">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
</parameter>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="ceil">
<callback name="ceil" c:type="ceil">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
</parameter>
<parameter name="element" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="head_set">
<callback name="head_set" c:type="head_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
</parameter>
<parameter name="before" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tail_set">
<callback name="tail_set" c:type="tail_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
</parameter>
<parameter name="after" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="sub_set">
<callback name="sub_set" c:type="sub_set">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
</parameter>
<parameter name="from" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="to" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_read_only_view">
<callback name="get_read_only_view" c:type="get_read_only_view">
<return-value transfer-ownership="full">
<type name="Gee.SortedSet" c:type="GeeSortedSet*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.SortedSet" c:type="GeeSortedSet*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<interface name="Traversable" c:type="GeeTraversable" glib:type-name="GeeTraversable" glib:get-type="gee_traversable_get_type" glib:type-struct="TraversableIface">
<prerequisite name="GObject.Object"/>
<method name="foreach" c:identifier="gee_traversable_foreach">
<attribute name="ccode.ordering" value="0"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<virtual-method name="foreach" invoker="foreach">
<attribute name="ccode.ordering" value="0"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</virtual-method>
<method name="stream" c:identifier="gee_traversable_stream">
<attribute name="ccode.ordering" value="1"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.StreamFunc" c:type="GeeStreamFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="f_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="stream" invoker="stream">
<attribute name="ccode.ordering" value="1"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.StreamFunc" c:type="GeeStreamFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="f_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<method name="fold" c:identifier="gee_traversable_fold">
<attribute name="ccode.ordering" value="2"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.FoldFunc" c:type="GeeFoldFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="seed" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="fold" invoker="fold">
<attribute name="ccode.ordering" value="2"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.FoldFunc" c:type="GeeFoldFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="seed" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="map" c:identifier="gee_traversable_map">
<attribute name="ccode.ordering" value="3"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.MapFunc" c:type="GeeMapFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</method>
<virtual-method name="map" invoker="map">
<attribute name="ccode.ordering" value="3"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.MapFunc" c:type="GeeMapFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</virtual-method>
<method name="scan" c:identifier="gee_traversable_scan">
<attribute name="ccode.ordering" value="4"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.FoldFunc" c:type="GeeFoldFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="seed" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<virtual-method name="scan" invoker="scan">
<attribute name="ccode.ordering" value="4"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="call">
<type name="Gee.FoldFunc" c:type="GeeFoldFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="seed" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<method name="filter" c:identifier="gee_traversable_filter">
<attribute name="ccode.ordering" value="5"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="pred" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.Predicate" c:type="GeePredicate"/>
</parameter>
<parameter name="pred_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="pred_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="filter" invoker="filter">
<attribute name="ccode.ordering" value="5"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="pred" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.Predicate" c:type="GeePredicate"/>
</parameter>
<parameter name="pred_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="pred_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<method name="chop" c:identifier="gee_traversable_chop">
<attribute name="ccode.ordering" value="6"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="offset" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<virtual-method name="chop" invoker="chop">
<attribute name="ccode.ordering" value="6"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="offset" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<method name="flat_map" c:identifier="gee_traversable_flat_map">
<attribute name="ccode.ordering" value="8"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.FlatMapFunc" c:type="GeeFlatMapFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="f_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="flat_map" invoker="flat_map">
<attribute name="ccode.ordering" value="8"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.FlatMapFunc" c:type="GeeFlatMapFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="f_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<method name="tee" c:identifier="gee_traversable_tee">
<attribute name="ccode.ordering" value="9"/>
<return-value transfer-ownership="full">
<array length="1">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</array>
</return-value>
<parameters>
<parameter name="forks" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="result_length1" direction="out" transfer-ownership="none">
<type name="gint" c:type="gint*"/>
</parameter>
</parameters>
</method>
<virtual-method name="tee" invoker="tee">
<attribute name="ccode.ordering" value="9"/>
<return-value transfer-ownership="full">
<array length="1">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</array>
</return-value>
<parameters>
<parameter name="forks" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="result_length1" direction="out" transfer-ownership="none">
<type name="gint" c:type="gint*"/>
</parameter>
</parameters>
</virtual-method>
<method name="first_match" c:identifier="gee_traversable_first_match">
<attribute name="ccode.ordering" value="10"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="pred" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.Predicate" c:type="GeePredicate"/>
</parameter>
<parameter name="pred_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="pred_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="first_match" invoker="first_match">
<attribute name="ccode.ordering" value="10"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="pred" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.Predicate" c:type="GeePredicate"/>
</parameter>
<parameter name="pred_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="pred_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<method name="any_match" c:identifier="gee_traversable_any_match">
<attribute name="ccode.ordering" value="11"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pred" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.Predicate" c:type="GeePredicate"/>
</parameter>
<parameter name="pred_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="pred_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="any_match" invoker="any_match">
<attribute name="ccode.ordering" value="11"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pred" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.Predicate" c:type="GeePredicate"/>
</parameter>
<parameter name="pred_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="pred_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<method name="all_match" c:identifier="gee_traversable_all_match">
<attribute name="ccode.ordering" value="12"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pred" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.Predicate" c:type="GeePredicate"/>
</parameter>
<parameter name="pred_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="pred_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="all_match" invoker="all_match">
<attribute name="ccode.ordering" value="12"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pred" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="Gee.Predicate" c:type="GeePredicate"/>
</parameter>
<parameter name="pred_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="pred_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<method name="max" c:identifier="gee_traversable_max">
<attribute name="ccode.ordering" value="13"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="compare" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="max" invoker="max">
<attribute name="ccode.ordering" value="13"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="compare" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<method name="min" c:identifier="gee_traversable_min">
<attribute name="ccode.ordering" value="14"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="compare" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="min" invoker="min">
<attribute name="ccode.ordering" value="14"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="compare" transfer-ownership="none" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<method name="order_by" c:identifier="gee_traversable_order_by">
<attribute name="ccode.ordering" value="15"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="compare" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<virtual-method name="order_by" invoker="order_by">
<attribute name="ccode.ordering" value="15"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="compare" transfer-ownership="none" allow-none="1" closure="1" scope="notified" destroy="2">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</virtual-method>
<property name="element-type">
<attribute name="ccode.ordering" value="7"/>
<type name="GType" c:type="GType"/>
</property>
<method name="get_element_type" c:identifier="gee_traversable_get_element_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</method>
<virtual-method name="get_element_type" invoker="get_element_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</virtual-method>
</interface>
<record name="TraversableIface" c:type="GeeTraversableIface" glib:is-gtype-struct-for="Traversable">
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="foreach">
<callback name="foreach" c:type="foreach">
<attribute name="ccode.ordering" value="0"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="f" transfer-ownership="none" closure="2" scope="call">
<type name="Gee.ForallFunc" c:type="GeeForallFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="stream">
<callback name="stream" c:type="stream">
<attribute name="ccode.ordering" value="1"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="f" transfer-ownership="none" closure="2" scope="notified" destroy="3">
<type name="Gee.StreamFunc" c:type="GeeStreamFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="f_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="fold">
<callback name="fold" c:type="fold">
<attribute name="ccode.ordering" value="2"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="f" transfer-ownership="none" closure="2" scope="call">
<type name="Gee.FoldFunc" c:type="GeeFoldFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="seed" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="map">
<callback name="map" c:type="map">
<attribute name="ccode.ordering" value="3"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="f" transfer-ownership="none" closure="2" scope="call">
<type name="Gee.MapFunc" c:type="GeeMapFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="scan">
<callback name="scan" c:type="scan">
<attribute name="ccode.ordering" value="4"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="f" transfer-ownership="none" closure="2" scope="call">
<type name="Gee.FoldFunc" c:type="GeeFoldFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="seed" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="filter">
<callback name="filter" c:type="filter">
<attribute name="ccode.ordering" value="5"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="pred" transfer-ownership="none" closure="2" scope="notified" destroy="3">
<type name="Gee.Predicate" c:type="GeePredicate"/>
</parameter>
<parameter name="pred_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="pred_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="chop">
<callback name="chop" c:type="chop">
<attribute name="ccode.ordering" value="6"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="offset" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="flat_map">
<callback name="flat_map" c:type="flat_map">
<attribute name="ccode.ordering" value="8"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="f" transfer-ownership="none" closure="2" scope="notified" destroy="3">
<type name="Gee.FlatMapFunc" c:type="GeeFlatMapFunc"/>
</parameter>
<parameter name="f_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="f_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tee">
<callback name="tee" c:type="tee">
<attribute name="ccode.ordering" value="9"/>
<return-value transfer-ownership="full">
<array length="2">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</array>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="forks" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="result_length1" direction="out" transfer-ownership="none">
<type name="gint" c:type="gint*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="first_match">
<callback name="first_match" c:type="first_match">
<attribute name="ccode.ordering" value="10"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="pred" transfer-ownership="none" closure="2" scope="notified" destroy="3">
<type name="Gee.Predicate" c:type="GeePredicate"/>
</parameter>
<parameter name="pred_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="pred_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="any_match">
<callback name="any_match" c:type="any_match">
<attribute name="ccode.ordering" value="11"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="pred" transfer-ownership="none" closure="2" scope="notified" destroy="3">
<type name="Gee.Predicate" c:type="GeePredicate"/>
</parameter>
<parameter name="pred_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="pred_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="all_match">
<callback name="all_match" c:type="all_match">
<attribute name="ccode.ordering" value="12"/>
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="pred" transfer-ownership="none" closure="2" scope="notified" destroy="3">
<type name="Gee.Predicate" c:type="GeePredicate"/>
</parameter>
<parameter name="pred_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="pred_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="max">
<callback name="max" c:type="max">
<attribute name="ccode.ordering" value="13"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="compare" transfer-ownership="none" closure="2" scope="notified" destroy="3">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="min">
<callback name="min" c:type="min">
<attribute name="ccode.ordering" value="14"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="compare" transfer-ownership="none" closure="2" scope="notified" destroy="3">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="order_by">
<callback name="order_by" c:type="order_by">
<attribute name="ccode.ordering" value="15"/>
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
<parameter name="compare" transfer-ownership="none" allow-none="1" closure="2" scope="notified" destroy="3">
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
</parameter>
<parameter name="compare_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
<parameter name="compare_target_destroy_notify" transfer-ownership="none" scope="call">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_element_type">
<callback name="get_element_type" c:type="get_element_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<type name="Gee.Traversable" c:type="GeeTraversable*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<enumeration name="TraversableStream" c:type="GeeTraversableStream" glib:type-name="GeeTraversableStream" glib:get-type="gee_traversable_stream_get_type">
<member name="yield" c:identifier="GEE_TRAVERSABLE_STREAM_YIELD" value="0"/>
<member name="continue" c:identifier="GEE_TRAVERSABLE_STREAM_CONTINUE" value="1"/>
<member name="end" c:identifier="GEE_TRAVERSABLE_STREAM_END" value="2"/>
<member name="wait" c:identifier="GEE_TRAVERSABLE_STREAM_WAIT" value="3"/>
</enumeration>
<callback name="HashDataFunc" c:type="GeeHashDataFunc">
<return-value transfer-ownership="full">
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="v" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
<callback name="EqualDataFunc" c:type="GeeEqualDataFunc">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="a" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="b" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="2">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
<callback name="LazyFunc" c:type="GeeLazyFunc">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</callback>
<callback name="FoldMapFunc" c:type="GeeFoldMapFunc">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="k" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="v" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="a" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="3">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
<callback name="ForallMapFunc" c:type="GeeForallMapFunc">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="k" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="v" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="2">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
<callback name="Task" c:type="GeeTask">
<attribute name="ccode.scope" value="async"/>
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</callback>
<callback name="FoldFunc" c:type="GeeFoldFunc">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="g" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="a" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="2">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
<callback name="ForallFunc" c:type="GeeForallFunc">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="g" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
<callback name="UnfoldFunc" c:type="GeeUnfoldFunc">
<return-value transfer-ownership="full" allow-none="1">
<type name="Gee.Lazy" c:type="GeeLazy*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
</callback>
<callback name="StreamFunc" c:type="GeeStreamFunc">
<return-value transfer-ownership="full">
<type name="Gee.TraversableStream" c:type="GeeTraversableStream"/>
</return-value>
<parameters>
<parameter name="state" transfer-ownership="none">
<type name="Gee.TraversableStream" c:type="GeeTraversableStream"/>
</parameter>
<parameter name="g" transfer-ownership="full" allow-none="1">
<type name="Gee.Lazy" c:type="GeeLazy*">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
<parameter name="lazy" direction="out" transfer-ownership="full" allow-none="1">
<type name="Gee.Lazy" c:type="GeeLazy**">
<type name="gpointer" c:type="gpointer"/>
</type>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="3">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
<callback name="MapFunc" c:type="GeeMapFunc">
<return-value transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="g" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
<callback name="Predicate" c:type="GeePredicate">
<return-value transfer-ownership="full">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="g" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
<callback name="FlatMapFunc" c:type="GeeFlatMapFunc">
<return-value transfer-ownership="full">
<type name="Gee.Iterator" c:type="GeeIterator*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="g" transfer-ownership="full" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</callback>
<function name="task" c:identifier="gee_task" throws="1">
<return-value transfer-ownership="full">
<type name="Gee.Future" c:type="GeeFuture*">
<type name="gpointer" c:type="gpointer"/>
</type>
</return-value>
<parameters>
<parameter name="task" transfer-ownership="none" closure="1" scope="async">
<type name="Gee.Task" c:type="GeeTask"/>
</parameter>
<parameter name="task_target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</function>
<function name="async_task" c:identifier="gee_async_task">
<return-value transfer-ownership="none">
<type name="none"/>
</return-value>
<parameters>
<parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="1" scope="async">
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="_callback__target" transfer-ownership="none" allow-none="1">
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
</function>
<function name="async_task_finish" c:identifier="gee_async_task_finish" throws="1">
<return-value transfer-ownership="full">
<type name="none"/>
</return-value>
<parameters>
<parameter name="_res_" transfer-ownership="none">
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</function>
</namespace>
</repository>