1 /* readonlybidirsortedmap.c generated by valac 0.18.0, the Vala compiler
2 * generated from readonlybidirsortedmap.vala, do not modify */
4 /* readonlybidirsortedmap.vala
6 * Copyright (C) 2012 Maciej Piechotka
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23 * Maciej Piechotka <uzytkownik2@gmail.com>
27 #include <glib-object.h>
30 #define GEE_TYPE_TRAVERSABLE (gee_traversable_get_type ())
31 #define GEE_TRAVERSABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TRAVERSABLE, GeeTraversable))
32 #define GEE_IS_TRAVERSABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TRAVERSABLE))
33 #define GEE_TRAVERSABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_TRAVERSABLE, GeeTraversableIface))
35 typedef struct _GeeTraversable GeeTraversable;
36 typedef struct _GeeTraversableIface GeeTraversableIface;
38 #define GEE_TRAVERSABLE_TYPE_STREAM (gee_traversable_stream_get_type ())
40 #define GEE_TYPE_LAZY (gee_lazy_get_type ())
41 #define GEE_LAZY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_LAZY, GeeLazy))
42 #define GEE_LAZY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_LAZY, GeeLazyClass))
43 #define GEE_IS_LAZY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_LAZY))
44 #define GEE_IS_LAZY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_LAZY))
45 #define GEE_LAZY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_LAZY, GeeLazyClass))
47 typedef struct _GeeLazy GeeLazy;
48 typedef struct _GeeLazyClass GeeLazyClass;
50 #define GEE_TYPE_ITERATOR (gee_iterator_get_type ())
51 #define GEE_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ITERATOR, GeeIterator))
52 #define GEE_IS_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ITERATOR))
53 #define GEE_ITERATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_ITERATOR, GeeIteratorIface))
55 typedef struct _GeeIterator GeeIterator;
56 typedef struct _GeeIteratorIface GeeIteratorIface;
58 #define GEE_TYPE_ITERABLE (gee_iterable_get_type ())
59 #define GEE_ITERABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ITERABLE, GeeIterable))
60 #define GEE_IS_ITERABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ITERABLE))
61 #define GEE_ITERABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_ITERABLE, GeeIterableIface))
63 typedef struct _GeeIterable GeeIterable;
64 typedef struct _GeeIterableIface GeeIterableIface;
66 #define GEE_TYPE_MAP (gee_map_get_type ())
67 #define GEE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_MAP, GeeMap))
68 #define GEE_IS_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_MAP))
69 #define GEE_MAP_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_MAP, GeeMapIface))
71 typedef struct _GeeMap GeeMap;
72 typedef struct _GeeMapIface GeeMapIface;
74 #define GEE_TYPE_MAP_ITERATOR (gee_map_iterator_get_type ())
75 #define GEE_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_MAP_ITERATOR, GeeMapIterator))
76 #define GEE_IS_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_MAP_ITERATOR))
77 #define GEE_MAP_ITERATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_MAP_ITERATOR, GeeMapIteratorIface))
79 typedef struct _GeeMapIterator GeeMapIterator;
80 typedef struct _GeeMapIteratorIface GeeMapIteratorIface;
82 #define GEE_TYPE_COLLECTION (gee_collection_get_type ())
83 #define GEE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_COLLECTION, GeeCollection))
84 #define GEE_IS_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_COLLECTION))
85 #define GEE_COLLECTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_COLLECTION, GeeCollectionIface))
87 typedef struct _GeeCollection GeeCollection;
88 typedef struct _GeeCollectionIface GeeCollectionIface;
90 #define GEE_TYPE_SET (gee_set_get_type ())
91 #define GEE_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_SET, GeeSet))
92 #define GEE_IS_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_SET))
93 #define GEE_SET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_SET, GeeSetIface))
95 typedef struct _GeeSet GeeSet;
96 typedef struct _GeeSetIface GeeSetIface;
98 #define GEE_MAP_TYPE_ENTRY (gee_map_entry_get_type ())
99 #define GEE_MAP_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_MAP_TYPE_ENTRY, GeeMapEntry))
100 #define GEE_MAP_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_MAP_TYPE_ENTRY, GeeMapEntryClass))
101 #define GEE_MAP_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_MAP_TYPE_ENTRY))
102 #define GEE_MAP_IS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_MAP_TYPE_ENTRY))
103 #define GEE_MAP_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_MAP_TYPE_ENTRY, GeeMapEntryClass))
105 typedef struct _GeeMapEntry GeeMapEntry;
106 typedef struct _GeeMapEntryClass GeeMapEntryClass;
108 #define GEE_TYPE_READ_ONLY_MAP (gee_read_only_map_get_type ())
109 #define GEE_READ_ONLY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_MAP, GeeReadOnlyMap))
110 #define GEE_READ_ONLY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_MAP, GeeReadOnlyMapClass))
111 #define GEE_IS_READ_ONLY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_MAP))
112 #define GEE_IS_READ_ONLY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_MAP))
113 #define GEE_READ_ONLY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_MAP, GeeReadOnlyMapClass))
115 typedef struct _GeeReadOnlyMap GeeReadOnlyMap;
116 typedef struct _GeeReadOnlyMapClass GeeReadOnlyMapClass;
117 typedef struct _GeeReadOnlyMapPrivate GeeReadOnlyMapPrivate;
119 #define GEE_TYPE_SORTED_MAP (gee_sorted_map_get_type ())
120 #define GEE_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_SORTED_MAP, GeeSortedMap))
121 #define GEE_IS_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_SORTED_MAP))
122 #define GEE_SORTED_MAP_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_SORTED_MAP, GeeSortedMapIface))
124 typedef struct _GeeSortedMap GeeSortedMap;
125 typedef struct _GeeSortedMapIface GeeSortedMapIface;
127 #define GEE_TYPE_SORTED_SET (gee_sorted_set_get_type ())
128 #define GEE_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_SORTED_SET, GeeSortedSet))
129 #define GEE_IS_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_SORTED_SET))
130 #define GEE_SORTED_SET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_SORTED_SET, GeeSortedSetIface))
132 typedef struct _GeeSortedSet GeeSortedSet;
133 typedef struct _GeeSortedSetIface GeeSortedSetIface;
135 #define GEE_TYPE_READ_ONLY_SORTED_MAP (gee_read_only_sorted_map_get_type ())
136 #define GEE_READ_ONLY_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_SORTED_MAP, GeeReadOnlySortedMap))
137 #define GEE_READ_ONLY_SORTED_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_SORTED_MAP, GeeReadOnlySortedMapClass))
138 #define GEE_IS_READ_ONLY_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_SORTED_MAP))
139 #define GEE_IS_READ_ONLY_SORTED_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_SORTED_MAP))
140 #define GEE_READ_ONLY_SORTED_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_SORTED_MAP, GeeReadOnlySortedMapClass))
142 typedef struct _GeeReadOnlySortedMap GeeReadOnlySortedMap;
143 typedef struct _GeeReadOnlySortedMapClass GeeReadOnlySortedMapClass;
144 typedef struct _GeeReadOnlySortedMapPrivate GeeReadOnlySortedMapPrivate;
146 #define GEE_TYPE_BIDIR_SORTED_MAP (gee_bidir_sorted_map_get_type ())
147 #define GEE_BIDIR_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_BIDIR_SORTED_MAP, GeeBidirSortedMap))
148 #define GEE_IS_BIDIR_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_BIDIR_SORTED_MAP))
149 #define GEE_BIDIR_SORTED_MAP_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_BIDIR_SORTED_MAP, GeeBidirSortedMapIface))
151 typedef struct _GeeBidirSortedMap GeeBidirSortedMap;
152 typedef struct _GeeBidirSortedMapIface GeeBidirSortedMapIface;
154 #define GEE_TYPE_BIDIR_MAP_ITERATOR (gee_bidir_map_iterator_get_type ())
155 #define GEE_BIDIR_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_BIDIR_MAP_ITERATOR, GeeBidirMapIterator))
156 #define GEE_IS_BIDIR_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_BIDIR_MAP_ITERATOR))
157 #define GEE_BIDIR_MAP_ITERATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_BIDIR_MAP_ITERATOR, GeeBidirMapIteratorIface))
159 typedef struct _GeeBidirMapIterator GeeBidirMapIterator;
160 typedef struct _GeeBidirMapIteratorIface GeeBidirMapIteratorIface;
162 #define GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP (gee_read_only_bidir_sorted_map_get_type ())
163 #define GEE_READ_ONLY_BIDIR_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP, GeeReadOnlyBidirSortedMap))
164 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP, GeeReadOnlyBidirSortedMapClass))
165 #define GEE_IS_READ_ONLY_BIDIR_SORTED_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP))
166 #define GEE_IS_READ_ONLY_BIDIR_SORTED_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP))
167 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP, GeeReadOnlyBidirSortedMapClass))
169 typedef struct _GeeReadOnlyBidirSortedMap GeeReadOnlyBidirSortedMap;
170 typedef struct _GeeReadOnlyBidirSortedMapClass GeeReadOnlyBidirSortedMapClass;
171 typedef struct _GeeReadOnlyBidirSortedMapPrivate GeeReadOnlyBidirSortedMapPrivate;
173 #define GEE_READ_ONLY_MAP_TYPE_MAP_ITERATOR (gee_read_only_map_map_iterator_get_type ())
174 #define GEE_READ_ONLY_MAP_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_READ_ONLY_MAP_TYPE_MAP_ITERATOR, GeeReadOnlyMapMapIterator))
175 #define GEE_READ_ONLY_MAP_MAP_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_READ_ONLY_MAP_TYPE_MAP_ITERATOR, GeeReadOnlyMapMapIteratorClass))
176 #define GEE_READ_ONLY_MAP_IS_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_READ_ONLY_MAP_TYPE_MAP_ITERATOR))
177 #define GEE_READ_ONLY_MAP_IS_MAP_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_READ_ONLY_MAP_TYPE_MAP_ITERATOR))
178 #define GEE_READ_ONLY_MAP_MAP_ITERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_READ_ONLY_MAP_TYPE_MAP_ITERATOR, GeeReadOnlyMapMapIteratorClass))
180 typedef struct _GeeReadOnlyMapMapIterator GeeReadOnlyMapMapIterator;
181 typedef struct _GeeReadOnlyMapMapIteratorClass GeeReadOnlyMapMapIteratorClass;
183 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR (gee_read_only_bidir_sorted_map_bidir_map_iterator_get_type ())
184 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR, GeeReadOnlyBidirSortedMapBidirMapIterator))
185 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR, GeeReadOnlyBidirSortedMapBidirMapIteratorClass))
186 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_IS_BIDIR_MAP_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR))
187 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_IS_BIDIR_MAP_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR))
188 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR, GeeReadOnlyBidirSortedMapBidirMapIteratorClass))
190 typedef struct _GeeReadOnlyBidirSortedMapBidirMapIterator GeeReadOnlyBidirSortedMapBidirMapIterator;
191 typedef struct _GeeReadOnlyBidirSortedMapBidirMapIteratorClass GeeReadOnlyBidirSortedMapBidirMapIteratorClass;
192 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
193 typedef struct _GeeReadOnlyMapMapIteratorPrivate GeeReadOnlyMapMapIteratorPrivate;
194 typedef struct _GeeReadOnlyBidirSortedMapBidirMapIteratorPrivate GeeReadOnlyBidirSortedMapBidirMapIteratorPrivate;
196 typedef gboolean (*GeeForallFunc) (gpointer g, void* user_data);
198 GEE_TRAVERSABLE_STREAM_YIELD,
199 GEE_TRAVERSABLE_STREAM_CONTINUE,
200 GEE_TRAVERSABLE_STREAM_END
201 } GeeTraversableStream;
203 typedef GeeTraversableStream (*GeeStreamFunc) (GeeTraversableStream state, GeeLazy* g, GeeLazy** lazy, void* user_data);
204 struct _GeeIteratorIface {
205 GTypeInterface parent_iface;
206 gboolean (*next) (GeeIterator* self);
207 gboolean (*has_next) (GeeIterator* self);
208 gpointer (*get) (GeeIterator* self);
209 void (*remove) (GeeIterator* self);
210 gboolean (*get_valid) (GeeIterator* self);
211 gboolean (*get_read_only) (GeeIterator* self);
214 typedef gpointer (*GeeFoldFunc) (gpointer g, gpointer a, void* user_data);
215 typedef gpointer (*GeeMapFunc) (gpointer g, void* user_data);
216 typedef gboolean (*GeePredicate) (gconstpointer g, void* user_data);
217 struct _GeeTraversableIface {
218 GTypeInterface parent_iface;
219 GType (*get_g_type) (GeeTraversable* self);
220 GBoxedCopyFunc (*get_g_dup_func) (GeeTraversable* self);
221 GDestroyNotify (*get_g_destroy_func) (GeeTraversable* self);
222 gboolean (*foreach) (GeeTraversable* self, GeeForallFunc f, void* f_target);
223 GeeIterator* (*stream) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeStreamFunc f, void* f_target, GDestroyNotify f_target_destroy_notify);
224 gpointer (*fold) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
225 GeeIterator* (*map) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeMapFunc f, void* f_target);
226 GeeIterator* (*scan) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
227 GeeIterator* (*filter) (GeeTraversable* self, GeePredicate pred, void* pred_target, GDestroyNotify pred_target_destroy_notify);
228 GeeIterator* (*chop) (GeeTraversable* self, gint offset, gint length);
229 GType (*get_element_type) (GeeTraversable* self);
232 struct _GeeIterableIface {
233 GTypeInterface parent_iface;
234 GType (*get_g_type) (GeeIterable* self);
235 GBoxedCopyFunc (*get_g_dup_func) (GeeIterable* self);
236 GDestroyNotify (*get_g_destroy_func) (GeeIterable* self);
237 GeeIterator* (*iterator) (GeeIterable* self);
240 typedef gpointer (*GeeFoldMapFunc) (gconstpointer k, gconstpointer v, gpointer a, void* user_data);
241 typedef gboolean (*GeeForallMapFunc) (gconstpointer k, gconstpointer v, void* user_data);
242 struct _GeeMapIteratorIface {
243 GTypeInterface parent_iface;
244 GType (*get_k_type) (GeeMapIterator* self);
245 GBoxedCopyFunc (*get_k_dup_func) (GeeMapIterator* self);
246 GDestroyNotify (*get_k_destroy_func) (GeeMapIterator* self);
247 GType (*get_v_type) (GeeMapIterator* self);
248 GBoxedCopyFunc (*get_v_dup_func) (GeeMapIterator* self);
249 GDestroyNotify (*get_v_destroy_func) (GeeMapIterator* self);
250 gboolean (*next) (GeeMapIterator* self);
251 gboolean (*has_next) (GeeMapIterator* self);
252 gpointer (*get_key) (GeeMapIterator* self);
253 gpointer (*get_value) (GeeMapIterator* self);
254 void (*set_value) (GeeMapIterator* self, gconstpointer value);
255 void (*unset) (GeeMapIterator* self);
256 gpointer (*fold) (GeeMapIterator* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldMapFunc f, void* f_target, gpointer seed);
257 gboolean (*foreach) (GeeMapIterator* self, GeeForallMapFunc f, void* f_target);
258 gboolean (*get_valid) (GeeMapIterator* self);
259 gboolean (*get_mutable) (GeeMapIterator* self);
260 gboolean (*get_read_only) (GeeMapIterator* self);
263 struct _GeeCollectionIface {
264 GTypeInterface parent_iface;
265 GType (*get_g_type) (GeeCollection* self);
266 GBoxedCopyFunc (*get_g_dup_func) (GeeCollection* self);
267 GDestroyNotify (*get_g_destroy_func) (GeeCollection* self);
268 gboolean (*contains) (GeeCollection* self, gconstpointer item);
269 gboolean (*add) (GeeCollection* self, gconstpointer item);
270 gboolean (*remove) (GeeCollection* self, gconstpointer item);
271 void (*clear) (GeeCollection* self);
272 gboolean (*add_all) (GeeCollection* self, GeeCollection* collection);
273 gboolean (*contains_all) (GeeCollection* self, GeeCollection* collection);
274 gboolean (*remove_all) (GeeCollection* self, GeeCollection* collection);
275 gboolean (*retain_all) (GeeCollection* self, GeeCollection* collection);
276 gpointer* (*to_array) (GeeCollection* self, int* result_length1);
277 gint (*get_size) (GeeCollection* self);
278 gboolean (*get_is_empty) (GeeCollection* self);
279 gboolean (*get_read_only) (GeeCollection* self);
280 GeeCollection* (*get_read_only_view) (GeeCollection* self);
283 struct _GeeSetIface {
284 GTypeInterface parent_iface;
285 GType (*get_g_type) (GeeSet* self);
286 GBoxedCopyFunc (*get_g_dup_func) (GeeSet* self);
287 GDestroyNotify (*get_g_destroy_func) (GeeSet* self);
288 GeeSet* (*get_read_only_view) (GeeSet* self);
291 struct _GeeMapIface {
292 GTypeInterface parent_iface;
293 GType (*get_k_type) (GeeMap* self);
294 GBoxedCopyFunc (*get_k_dup_func) (GeeMap* self);
295 GDestroyNotify (*get_k_destroy_func) (GeeMap* self);
296 GType (*get_v_type) (GeeMap* self);
297 GBoxedCopyFunc (*get_v_dup_func) (GeeMap* self);
298 GDestroyNotify (*get_v_destroy_func) (GeeMap* self);
299 gboolean (*has_key) (GeeMap* self, gconstpointer key);
300 gboolean (*has) (GeeMap* self, gconstpointer key, gconstpointer value);
301 gpointer (*get) (GeeMap* self, gconstpointer key);
302 void (*set) (GeeMap* self, gconstpointer key, gconstpointer value);
303 gboolean (*unset) (GeeMap* self, gconstpointer key, gpointer* value);
304 void (*clear) (GeeMap* self);
305 GeeMapIterator* (*map_iterator) (GeeMap* self);
306 void (*set_all) (GeeMap* self, GeeMap* map);
307 gboolean (*unset_all) (GeeMap* self, GeeMap* map);
308 gboolean (*has_all) (GeeMap* self, GeeMap* map);
309 gint (*get_size) (GeeMap* self);
310 gboolean (*get_is_empty) (GeeMap* self);
311 gboolean (*get_read_only) (GeeMap* self);
312 GeeSet* (*get_keys) (GeeMap* self);
313 GeeCollection* (*get_values) (GeeMap* self);
314 GeeSet* (*get_entries) (GeeMap* self);
315 GeeMap* (*get_read_only_view) (GeeMap* self);
318 struct _GeeReadOnlyMap {
319 GObject parent_instance;
320 GeeReadOnlyMapPrivate * priv;
324 struct _GeeReadOnlyMapClass {
325 GObjectClass parent_class;
326 GeeMap* (*get_read_only_view) (GeeReadOnlyMap* self);
329 struct _GeeSortedSetIface {
330 GTypeInterface parent_iface;
331 GType (*get_g_type) (GeeSortedSet* self);
332 GBoxedCopyFunc (*get_g_dup_func) (GeeSortedSet* self);
333 GDestroyNotify (*get_g_destroy_func) (GeeSortedSet* self);
334 gpointer (*first) (GeeSortedSet* self);
335 gpointer (*last) (GeeSortedSet* self);
336 GeeIterator* (*iterator_at) (GeeSortedSet* self, gconstpointer element);
337 gpointer (*lower) (GeeSortedSet* self, gconstpointer element);
338 gpointer (*higher) (GeeSortedSet* self, gconstpointer element);
339 gpointer (*floor) (GeeSortedSet* self, gconstpointer element);
340 gpointer (*ceil) (GeeSortedSet* self, gconstpointer element);
341 GeeSortedSet* (*head_set) (GeeSortedSet* self, gconstpointer before);
342 GeeSortedSet* (*tail_set) (GeeSortedSet* self, gconstpointer after);
343 GeeSortedSet* (*sub_set) (GeeSortedSet* self, gconstpointer from, gconstpointer to);
344 GeeSortedSet* (*get_read_only_view) (GeeSortedSet* self);
347 struct _GeeSortedMapIface {
348 GTypeInterface parent_iface;
349 GeeSortedMap* (*head_map) (GeeSortedMap* self, gconstpointer before);
350 GeeSortedMap* (*tail_map) (GeeSortedMap* self, gconstpointer after);
351 GeeSortedMap* (*sub_map) (GeeSortedMap* self, gconstpointer before, gconstpointer after);
352 GeeSortedSet* (*get_ascending_keys) (GeeSortedMap* self);
353 GeeSortedSet* (*get_ascending_entries) (GeeSortedMap* self);
354 GeeSortedMap* (*get_read_only_view) (GeeSortedMap* self);
357 struct _GeeReadOnlySortedMap {
358 GeeReadOnlyMap parent_instance;
359 GeeReadOnlySortedMapPrivate * priv;
362 struct _GeeReadOnlySortedMapClass {
363 GeeReadOnlyMapClass parent_class;
366 struct _GeeBidirMapIteratorIface {
367 GTypeInterface parent_iface;
368 GType (*get_k_type) (GeeBidirMapIterator* self);
369 GBoxedCopyFunc (*get_k_dup_func) (GeeBidirMapIterator* self);
370 GDestroyNotify (*get_k_destroy_func) (GeeBidirMapIterator* self);
371 GType (*get_v_type) (GeeBidirMapIterator* self);
372 GBoxedCopyFunc (*get_v_dup_func) (GeeBidirMapIterator* self);
373 GDestroyNotify (*get_v_destroy_func) (GeeBidirMapIterator* self);
374 gboolean (*previous) (GeeBidirMapIterator* self);
375 gboolean (*has_previous) (GeeBidirMapIterator* self);
376 gboolean (*first) (GeeBidirMapIterator* self);
377 gboolean (*last) (GeeBidirMapIterator* self);
380 struct _GeeBidirSortedMapIface {
381 GTypeInterface parent_iface;
382 GType (*get_k_type) (GeeBidirSortedMap* self);
383 GBoxedCopyFunc (*get_k_dup_func) (GeeBidirSortedMap* self);
384 GDestroyNotify (*get_k_destroy_func) (GeeBidirSortedMap* self);
385 GType (*get_v_type) (GeeBidirSortedMap* self);
386 GBoxedCopyFunc (*get_v_dup_func) (GeeBidirSortedMap* self);
387 GDestroyNotify (*get_v_destroy_func) (GeeBidirSortedMap* self);
388 GeeBidirMapIterator* (*bidir_map_iterator) (GeeBidirSortedMap* self);
389 GeeBidirSortedMap* (*get_read_only_view) (GeeBidirSortedMap* self);
392 struct _GeeReadOnlyBidirSortedMap {
393 GeeReadOnlySortedMap parent_instance;
394 GeeReadOnlyBidirSortedMapPrivate * priv;
397 struct _GeeReadOnlyBidirSortedMapClass {
398 GeeReadOnlySortedMapClass parent_class;
401 struct _GeeReadOnlyBidirSortedMapPrivate {
403 GBoxedCopyFunc k_dup_func;
404 GDestroyNotify k_destroy_func;
406 GBoxedCopyFunc v_dup_func;
407 GDestroyNotify v_destroy_func;
410 struct _GeeReadOnlyMapMapIterator {
411 GObject parent_instance;
412 GeeReadOnlyMapMapIteratorPrivate * priv;
413 GeeMapIterator* _iter;
416 struct _GeeReadOnlyMapMapIteratorClass {
417 GObjectClass parent_class;
420 struct _GeeReadOnlyBidirSortedMapBidirMapIterator {
421 GeeReadOnlyMapMapIterator parent_instance;
422 GeeReadOnlyBidirSortedMapBidirMapIteratorPrivate * priv;
425 struct _GeeReadOnlyBidirSortedMapBidirMapIteratorClass {
426 GeeReadOnlyMapMapIteratorClass parent_class;
429 struct _GeeReadOnlyBidirSortedMapBidirMapIteratorPrivate {
431 GBoxedCopyFunc k_dup_func;
432 GDestroyNotify k_destroy_func;
434 GBoxedCopyFunc v_dup_func;
435 GDestroyNotify v_destroy_func;
439 static gpointer gee_read_only_bidir_sorted_map_parent_class = NULL;
440 static gpointer gee_read_only_bidir_sorted_map_bidir_map_iterator_parent_class = NULL;
441 static GeeBidirMapIteratorIface* gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_parent_iface = NULL;
442 static GeeBidirSortedMapIface* gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_parent_iface = NULL;
444 GType gee_traversable_stream_get_type (void) G_GNUC_CONST;
445 gpointer gee_lazy_ref (gpointer instance);
446 void gee_lazy_unref (gpointer instance);
447 GParamSpec* gee_param_spec_lazy (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
448 void gee_value_set_lazy (GValue* value, gpointer v_object);
449 void gee_value_take_lazy (GValue* value, gpointer v_object);
450 gpointer gee_value_get_lazy (const GValue* value);
451 GType gee_lazy_get_type (void) G_GNUC_CONST;
452 GType gee_iterator_get_type (void) G_GNUC_CONST;
453 GType gee_traversable_get_type (void) G_GNUC_CONST;
454 GType gee_iterable_get_type (void) G_GNUC_CONST;
455 GType gee_map_iterator_get_type (void) G_GNUC_CONST;
456 GType gee_collection_get_type (void) G_GNUC_CONST;
457 GType gee_set_get_type (void) G_GNUC_CONST;
458 GType gee_map_entry_get_type (void) G_GNUC_CONST;
459 GType gee_map_get_type (void) G_GNUC_CONST;
460 GType gee_read_only_map_get_type (void) G_GNUC_CONST;
461 GType gee_sorted_set_get_type (void) G_GNUC_CONST;
462 GType gee_sorted_map_get_type (void) G_GNUC_CONST;
463 GType gee_read_only_sorted_map_get_type (void) G_GNUC_CONST;
464 GType gee_bidir_map_iterator_get_type (void) G_GNUC_CONST;
465 GType gee_bidir_sorted_map_get_type (void) G_GNUC_CONST;
466 GType gee_read_only_bidir_sorted_map_get_type (void) G_GNUC_CONST;
467 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP, GeeReadOnlyBidirSortedMapPrivate))
469 GEE_READ_ONLY_BIDIR_SORTED_MAP_DUMMY_PROPERTY,
470 GEE_READ_ONLY_BIDIR_SORTED_MAP_K_TYPE,
471 GEE_READ_ONLY_BIDIR_SORTED_MAP_K_DUP_FUNC,
472 GEE_READ_ONLY_BIDIR_SORTED_MAP_K_DESTROY_FUNC,
473 GEE_READ_ONLY_BIDIR_SORTED_MAP_V_TYPE,
474 GEE_READ_ONLY_BIDIR_SORTED_MAP_V_DUP_FUNC,
475 GEE_READ_ONLY_BIDIR_SORTED_MAP_V_DESTROY_FUNC
477 GeeReadOnlyBidirSortedMap* gee_read_only_bidir_sorted_map_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeBidirSortedMap* map);
478 GeeReadOnlyBidirSortedMap* gee_read_only_bidir_sorted_map_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeBidirSortedMap* map);
479 GeeReadOnlySortedMap* gee_read_only_sorted_map_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeMap* map);
480 GeeReadOnlySortedMap* gee_read_only_sorted_map_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeMap* map);
481 static GeeBidirMapIterator* gee_read_only_bidir_sorted_map_real_bidir_map_iterator (GeeBidirSortedMap* base);
482 GeeBidirMapIterator* gee_bidir_sorted_map_bidir_map_iterator (GeeBidirSortedMap* self);
483 GeeReadOnlyBidirSortedMapBidirMapIterator* gee_read_only_bidir_sorted_map_bidir_map_iterator_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeBidirMapIterator* iterator);
484 GeeReadOnlyBidirSortedMapBidirMapIterator* gee_read_only_bidir_sorted_map_bidir_map_iterator_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeBidirMapIterator* iterator);
485 GType gee_read_only_map_map_iterator_get_type (void) G_GNUC_CONST;
486 GType gee_read_only_bidir_sorted_map_bidir_map_iterator_get_type (void) G_GNUC_CONST;
487 #define GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR, GeeReadOnlyBidirSortedMapBidirMapIteratorPrivate))
489 GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_DUMMY_PROPERTY,
490 GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_K_TYPE,
491 GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_K_DUP_FUNC,
492 GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_K_DESTROY_FUNC,
493 GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_V_TYPE,
494 GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_V_DUP_FUNC,
495 GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_V_DESTROY_FUNC
497 GeeReadOnlyMapMapIterator* gee_read_only_map_map_iterator_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeMapIterator* iterator);
498 GeeReadOnlyMapMapIterator* gee_read_only_map_map_iterator_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeMapIterator* iterator);
499 static gboolean gee_read_only_bidir_sorted_map_bidir_map_iterator_real_first (GeeBidirMapIterator* base);
500 gboolean gee_bidir_map_iterator_first (GeeBidirMapIterator* self);
501 static gboolean gee_read_only_bidir_sorted_map_bidir_map_iterator_real_previous (GeeBidirMapIterator* base);
502 gboolean gee_bidir_map_iterator_previous (GeeBidirMapIterator* self);
503 static gboolean gee_read_only_bidir_sorted_map_bidir_map_iterator_real_has_previous (GeeBidirMapIterator* base);
504 gboolean gee_bidir_map_iterator_has_previous (GeeBidirMapIterator* self);
505 static gboolean gee_read_only_bidir_sorted_map_bidir_map_iterator_real_last (GeeBidirMapIterator* base);
506 gboolean gee_bidir_map_iterator_last (GeeBidirMapIterator* self);
507 static void _vala_gee_read_only_bidir_sorted_map_bidir_map_iterator_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
508 static void _vala_gee_read_only_bidir_sorted_map_bidir_map_iterator_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
509 GeeMap* gee_read_only_map_get_read_only_view (GeeReadOnlyMap* self);
510 static void _vala_gee_read_only_bidir_sorted_map_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
511 static void _vala_gee_read_only_bidir_sorted_map_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
515 * Constructs a read-only map that mirrors the content of the specified map.
517 * @param set the set to decorate.
519 GeeReadOnlyBidirSortedMap* gee_read_only_bidir_sorted_map_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeBidirSortedMap* map) {
520 GeeReadOnlyBidirSortedMap * self = NULL;
521 GeeBidirSortedMap* _tmp0_;
522 g_return_val_if_fail (map != NULL, NULL);
524 self = (GeeReadOnlyBidirSortedMap*) gee_read_only_sorted_map_construct (object_type, k_type, (GBoxedCopyFunc) k_dup_func, k_destroy_func, v_type, (GBoxedCopyFunc) v_dup_func, v_destroy_func, (GeeMap*) _tmp0_);
525 self->priv->k_type = k_type;
526 self->priv->k_dup_func = k_dup_func;
527 self->priv->k_destroy_func = k_destroy_func;
528 self->priv->v_type = v_type;
529 self->priv->v_dup_func = v_dup_func;
530 self->priv->v_destroy_func = v_destroy_func;
535 GeeReadOnlyBidirSortedMap* gee_read_only_bidir_sorted_map_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeBidirSortedMap* map) {
536 return gee_read_only_bidir_sorted_map_construct (GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP, k_type, k_dup_func, k_destroy_func, v_type, v_dup_func, v_destroy_func, map);
543 static GeeBidirMapIterator* gee_read_only_bidir_sorted_map_real_bidir_map_iterator (GeeBidirSortedMap* base) {
544 GeeReadOnlyBidirSortedMap * self;
545 GeeBidirMapIterator* result = NULL;
547 GeeBidirMapIterator* _tmp1_ = NULL;
548 GeeBidirMapIterator* _tmp2_;
549 GeeReadOnlyBidirSortedMapBidirMapIterator* _tmp3_;
550 GeeBidirMapIterator* _tmp4_;
551 self = (GeeReadOnlyBidirSortedMap*) base;
552 _tmp0_ = ((GeeReadOnlyMap*) self)->_map;
553 _tmp1_ = gee_bidir_sorted_map_bidir_map_iterator (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_BIDIR_SORTED_MAP) ? ((GeeBidirSortedMap*) _tmp0_) : NULL);
555 _tmp3_ = gee_read_only_bidir_sorted_map_bidir_map_iterator_new (self->priv->k_type, (GBoxedCopyFunc) self->priv->k_dup_func, self->priv->k_destroy_func, self->priv->v_type, (GBoxedCopyFunc) self->priv->v_dup_func, self->priv->v_destroy_func, _tmp2_);
556 _tmp4_ = (GeeBidirMapIterator*) _tmp3_;
557 _g_object_unref0 (_tmp2_);
563 GeeReadOnlyBidirSortedMapBidirMapIterator* gee_read_only_bidir_sorted_map_bidir_map_iterator_construct (GType object_type, GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeBidirMapIterator* iterator) {
564 GeeReadOnlyBidirSortedMapBidirMapIterator * self = NULL;
565 GeeBidirMapIterator* _tmp0_;
566 g_return_val_if_fail (iterator != NULL, NULL);
568 self = (GeeReadOnlyBidirSortedMapBidirMapIterator*) gee_read_only_map_map_iterator_construct (object_type, k_type, (GBoxedCopyFunc) k_dup_func, k_destroy_func, v_type, (GBoxedCopyFunc) v_dup_func, v_destroy_func, (GeeMapIterator*) _tmp0_);
569 self->priv->k_type = k_type;
570 self->priv->k_dup_func = k_dup_func;
571 self->priv->k_destroy_func = k_destroy_func;
572 self->priv->v_type = v_type;
573 self->priv->v_dup_func = v_dup_func;
574 self->priv->v_destroy_func = v_destroy_func;
579 GeeReadOnlyBidirSortedMapBidirMapIterator* gee_read_only_bidir_sorted_map_bidir_map_iterator_new (GType k_type, GBoxedCopyFunc k_dup_func, GDestroyNotify k_destroy_func, GType v_type, GBoxedCopyFunc v_dup_func, GDestroyNotify v_destroy_func, GeeBidirMapIterator* iterator) {
580 return gee_read_only_bidir_sorted_map_bidir_map_iterator_construct (GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR, k_type, k_dup_func, k_destroy_func, v_type, v_dup_func, v_destroy_func, iterator);
584 static gboolean gee_read_only_bidir_sorted_map_bidir_map_iterator_real_first (GeeBidirMapIterator* base) {
585 GeeReadOnlyBidirSortedMapBidirMapIterator * self;
586 gboolean result = FALSE;
587 GeeMapIterator* _tmp0_;
588 gboolean _tmp1_ = FALSE;
589 self = (GeeReadOnlyBidirSortedMapBidirMapIterator*) base;
590 _tmp0_ = ((GeeReadOnlyMapMapIterator*) self)->_iter;
591 _tmp1_ = gee_bidir_map_iterator_first (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_BIDIR_MAP_ITERATOR) ? ((GeeBidirMapIterator*) _tmp0_) : NULL);
597 static gboolean gee_read_only_bidir_sorted_map_bidir_map_iterator_real_previous (GeeBidirMapIterator* base) {
598 GeeReadOnlyBidirSortedMapBidirMapIterator * self;
599 gboolean result = FALSE;
600 GeeMapIterator* _tmp0_;
601 gboolean _tmp1_ = FALSE;
602 self = (GeeReadOnlyBidirSortedMapBidirMapIterator*) base;
603 _tmp0_ = ((GeeReadOnlyMapMapIterator*) self)->_iter;
604 _tmp1_ = gee_bidir_map_iterator_previous (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_BIDIR_MAP_ITERATOR) ? ((GeeBidirMapIterator*) _tmp0_) : NULL);
610 static gboolean gee_read_only_bidir_sorted_map_bidir_map_iterator_real_has_previous (GeeBidirMapIterator* base) {
611 GeeReadOnlyBidirSortedMapBidirMapIterator * self;
612 gboolean result = FALSE;
613 GeeMapIterator* _tmp0_;
614 gboolean _tmp1_ = FALSE;
615 self = (GeeReadOnlyBidirSortedMapBidirMapIterator*) base;
616 _tmp0_ = ((GeeReadOnlyMapMapIterator*) self)->_iter;
617 _tmp1_ = gee_bidir_map_iterator_has_previous (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_BIDIR_MAP_ITERATOR) ? ((GeeBidirMapIterator*) _tmp0_) : NULL);
623 static gboolean gee_read_only_bidir_sorted_map_bidir_map_iterator_real_last (GeeBidirMapIterator* base) {
624 GeeReadOnlyBidirSortedMapBidirMapIterator * self;
625 gboolean result = FALSE;
626 GeeMapIterator* _tmp0_;
627 gboolean _tmp1_ = FALSE;
628 self = (GeeReadOnlyBidirSortedMapBidirMapIterator*) base;
629 _tmp0_ = ((GeeReadOnlyMapMapIterator*) self)->_iter;
630 _tmp1_ = gee_bidir_map_iterator_last (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_BIDIR_MAP_ITERATOR) ? ((GeeBidirMapIterator*) _tmp0_) : NULL);
636 static void gee_read_only_bidir_sorted_map_bidir_map_iterator_class_init (GeeReadOnlyBidirSortedMapBidirMapIteratorClass * klass) {
637 gee_read_only_bidir_sorted_map_bidir_map_iterator_parent_class = g_type_class_peek_parent (klass);
638 g_type_class_add_private (klass, sizeof (GeeReadOnlyBidirSortedMapBidirMapIteratorPrivate));
639 G_OBJECT_CLASS (klass)->get_property = _vala_gee_read_only_bidir_sorted_map_bidir_map_iterator_get_property;
640 G_OBJECT_CLASS (klass)->set_property = _vala_gee_read_only_bidir_sorted_map_bidir_map_iterator_set_property;
641 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_K_TYPE, g_param_spec_gtype ("k-type", "type", "type", G_TYPE_NONE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
642 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_K_DUP_FUNC, g_param_spec_pointer ("k-dup-func", "dup func", "dup func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
643 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_K_DESTROY_FUNC, g_param_spec_pointer ("k-destroy-func", "destroy func", "destroy func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
644 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_V_TYPE, g_param_spec_gtype ("v-type", "type", "type", G_TYPE_NONE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
645 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_V_DUP_FUNC, g_param_spec_pointer ("v-dup-func", "dup func", "dup func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
646 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_V_DESTROY_FUNC, g_param_spec_pointer ("v-destroy-func", "destroy func", "destroy func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
650 static GType gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_get_k_type (GeeReadOnlyBidirSortedMapBidirMapIterator* self) {
651 return self->priv->k_type;
655 static GBoxedCopyFunc gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_get_k_dup_func (GeeReadOnlyBidirSortedMapBidirMapIterator* self) {
656 return self->priv->k_dup_func;
660 static GDestroyNotify gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_get_k_destroy_func (GeeReadOnlyBidirSortedMapBidirMapIterator* self) {
661 return self->priv->k_destroy_func;
665 static GType gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_get_v_type (GeeReadOnlyBidirSortedMapBidirMapIterator* self) {
666 return self->priv->v_type;
670 static GBoxedCopyFunc gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_get_v_dup_func (GeeReadOnlyBidirSortedMapBidirMapIterator* self) {
671 return self->priv->v_dup_func;
675 static GDestroyNotify gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_get_v_destroy_func (GeeReadOnlyBidirSortedMapBidirMapIterator* self) {
676 return self->priv->v_destroy_func;
680 static void gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_interface_init (GeeBidirMapIteratorIface * iface) {
681 gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_parent_iface = g_type_interface_peek_parent (iface);
682 iface->first = (gboolean (*)(GeeBidirMapIterator*)) gee_read_only_bidir_sorted_map_bidir_map_iterator_real_first;
683 iface->previous = (gboolean (*)(GeeBidirMapIterator*)) gee_read_only_bidir_sorted_map_bidir_map_iterator_real_previous;
684 iface->has_previous = (gboolean (*)(GeeBidirMapIterator*)) gee_read_only_bidir_sorted_map_bidir_map_iterator_real_has_previous;
685 iface->last = (gboolean (*)(GeeBidirMapIterator*)) gee_read_only_bidir_sorted_map_bidir_map_iterator_real_last;
686 iface->get_k_type = (GType(*)(GeeBidirMapIterator*)) gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_get_k_type;
687 iface->get_k_dup_func = (GBoxedCopyFunc(*)(GeeBidirMapIterator*)) gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_get_k_dup_func;
688 iface->get_k_destroy_func = (GDestroyNotify(*)(GeeBidirMapIterator*)) gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_get_k_destroy_func;
689 iface->get_v_type = (GType(*)(GeeBidirMapIterator*)) gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_get_v_type;
690 iface->get_v_dup_func = (GBoxedCopyFunc(*)(GeeBidirMapIterator*)) gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_get_v_dup_func;
691 iface->get_v_destroy_func = (GDestroyNotify(*)(GeeBidirMapIterator*)) gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_get_v_destroy_func;
695 static void gee_read_only_bidir_sorted_map_bidir_map_iterator_instance_init (GeeReadOnlyBidirSortedMapBidirMapIterator * self) {
696 self->priv = GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_GET_PRIVATE (self);
700 GType gee_read_only_bidir_sorted_map_bidir_map_iterator_get_type (void) {
701 static volatile gsize gee_read_only_bidir_sorted_map_bidir_map_iterator_type_id__volatile = 0;
702 if (g_once_init_enter (&gee_read_only_bidir_sorted_map_bidir_map_iterator_type_id__volatile)) {
703 static const GTypeInfo g_define_type_info = { sizeof (GeeReadOnlyBidirSortedMapBidirMapIteratorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gee_read_only_bidir_sorted_map_bidir_map_iterator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GeeReadOnlyBidirSortedMapBidirMapIterator), 0, (GInstanceInitFunc) gee_read_only_bidir_sorted_map_bidir_map_iterator_instance_init, NULL };
704 static const GInterfaceInfo gee_bidir_map_iterator_info = { (GInterfaceInitFunc) gee_read_only_bidir_sorted_map_bidir_map_iterator_gee_bidir_map_iterator_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
705 GType gee_read_only_bidir_sorted_map_bidir_map_iterator_type_id;
706 gee_read_only_bidir_sorted_map_bidir_map_iterator_type_id = g_type_register_static (GEE_READ_ONLY_MAP_TYPE_MAP_ITERATOR, "GeeReadOnlyBidirSortedMapBidirMapIterator", &g_define_type_info, 0);
707 g_type_add_interface_static (gee_read_only_bidir_sorted_map_bidir_map_iterator_type_id, GEE_TYPE_BIDIR_MAP_ITERATOR, &gee_bidir_map_iterator_info);
708 g_once_init_leave (&gee_read_only_bidir_sorted_map_bidir_map_iterator_type_id__volatile, gee_read_only_bidir_sorted_map_bidir_map_iterator_type_id);
710 return gee_read_only_bidir_sorted_map_bidir_map_iterator_type_id__volatile;
714 static void _vala_gee_read_only_bidir_sorted_map_bidir_map_iterator_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
715 GeeReadOnlyBidirSortedMapBidirMapIterator * self;
716 self = G_TYPE_CHECK_INSTANCE_CAST (object, GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR, GeeReadOnlyBidirSortedMapBidirMapIterator);
717 switch (property_id) {
719 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
725 static void _vala_gee_read_only_bidir_sorted_map_bidir_map_iterator_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
726 GeeReadOnlyBidirSortedMapBidirMapIterator * self;
727 self = G_TYPE_CHECK_INSTANCE_CAST (object, GEE_READ_ONLY_BIDIR_SORTED_MAP_TYPE_BIDIR_MAP_ITERATOR, GeeReadOnlyBidirSortedMapBidirMapIterator);
728 switch (property_id) {
729 case GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_K_TYPE:
730 self->priv->k_type = g_value_get_gtype (value);
732 case GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_K_DUP_FUNC:
733 self->priv->k_dup_func = g_value_get_pointer (value);
735 case GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_K_DESTROY_FUNC:
736 self->priv->k_destroy_func = g_value_get_pointer (value);
738 case GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_V_TYPE:
739 self->priv->v_type = g_value_get_gtype (value);
741 case GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_V_DUP_FUNC:
742 self->priv->v_dup_func = g_value_get_pointer (value);
744 case GEE_READ_ONLY_BIDIR_SORTED_MAP_BIDIR_MAP_ITERATOR_V_DESTROY_FUNC:
745 self->priv->v_destroy_func = g_value_get_pointer (value);
748 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
754 static void gee_read_only_bidir_sorted_map_class_init (GeeReadOnlyBidirSortedMapClass * klass) {
755 gee_read_only_bidir_sorted_map_parent_class = g_type_class_peek_parent (klass);
756 g_type_class_add_private (klass, sizeof (GeeReadOnlyBidirSortedMapPrivate));
757 G_OBJECT_CLASS (klass)->get_property = _vala_gee_read_only_bidir_sorted_map_get_property;
758 G_OBJECT_CLASS (klass)->set_property = _vala_gee_read_only_bidir_sorted_map_set_property;
759 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_K_TYPE, g_param_spec_gtype ("k-type", "type", "type", G_TYPE_NONE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
760 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_K_DUP_FUNC, g_param_spec_pointer ("k-dup-func", "dup func", "dup func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
761 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_K_DESTROY_FUNC, g_param_spec_pointer ("k-destroy-func", "destroy func", "destroy func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
762 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_V_TYPE, g_param_spec_gtype ("v-type", "type", "type", G_TYPE_NONE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
763 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_V_DUP_FUNC, g_param_spec_pointer ("v-dup-func", "dup func", "dup func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
764 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_READ_ONLY_BIDIR_SORTED_MAP_V_DESTROY_FUNC, g_param_spec_pointer ("v-destroy-func", "destroy func", "destroy func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
768 static GType gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_get_k_type (GeeReadOnlyBidirSortedMap* self) {
769 return self->priv->k_type;
773 static GBoxedCopyFunc gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_get_k_dup_func (GeeReadOnlyBidirSortedMap* self) {
774 return self->priv->k_dup_func;
778 static GDestroyNotify gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_get_k_destroy_func (GeeReadOnlyBidirSortedMap* self) {
779 return self->priv->k_destroy_func;
783 static GType gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_get_v_type (GeeReadOnlyBidirSortedMap* self) {
784 return self->priv->v_type;
788 static GBoxedCopyFunc gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_get_v_dup_func (GeeReadOnlyBidirSortedMap* self) {
789 return self->priv->v_dup_func;
793 static GDestroyNotify gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_get_v_destroy_func (GeeReadOnlyBidirSortedMap* self) {
794 return self->priv->v_destroy_func;
798 static void gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_interface_init (GeeBidirSortedMapIface * iface) {
799 gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_parent_iface = g_type_interface_peek_parent (iface);
800 iface->bidir_map_iterator = (GeeBidirMapIterator* (*)(GeeBidirSortedMap*)) gee_read_only_bidir_sorted_map_real_bidir_map_iterator;
801 iface->get_k_type = (GType(*)(GeeBidirSortedMap*)) gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_get_k_type;
802 iface->get_k_dup_func = (GBoxedCopyFunc(*)(GeeBidirSortedMap*)) gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_get_k_dup_func;
803 iface->get_k_destroy_func = (GDestroyNotify(*)(GeeBidirSortedMap*)) gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_get_k_destroy_func;
804 iface->get_v_type = (GType(*)(GeeBidirSortedMap*)) gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_get_v_type;
805 iface->get_v_dup_func = (GBoxedCopyFunc(*)(GeeBidirSortedMap*)) gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_get_v_dup_func;
806 iface->get_v_destroy_func = (GDestroyNotify(*)(GeeBidirSortedMap*)) gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_get_v_destroy_func;
807 iface->get_read_only_view = (GeeBidirSortedMap* (*) (GeeBidirSortedMap *)) gee_read_only_map_get_read_only_view;
811 static void gee_read_only_bidir_sorted_map_instance_init (GeeReadOnlyBidirSortedMap * self) {
812 self->priv = GEE_READ_ONLY_BIDIR_SORTED_MAP_GET_PRIVATE (self);
817 * Read-only view for {@link BidirSortedMap} collections.
819 * This class decorates any class which implements the {@link BidirSortedMap}
820 * interface by making it read only. Any method which normally modify data will
823 * @see BidirSortedMap
825 GType gee_read_only_bidir_sorted_map_get_type (void) {
826 static volatile gsize gee_read_only_bidir_sorted_map_type_id__volatile = 0;
827 if (g_once_init_enter (&gee_read_only_bidir_sorted_map_type_id__volatile)) {
828 static const GTypeInfo g_define_type_info = { sizeof (GeeReadOnlyBidirSortedMapClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gee_read_only_bidir_sorted_map_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GeeReadOnlyBidirSortedMap), 0, (GInstanceInitFunc) gee_read_only_bidir_sorted_map_instance_init, NULL };
829 static const GInterfaceInfo gee_bidir_sorted_map_info = { (GInterfaceInitFunc) gee_read_only_bidir_sorted_map_gee_bidir_sorted_map_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
830 GType gee_read_only_bidir_sorted_map_type_id;
831 gee_read_only_bidir_sorted_map_type_id = g_type_register_static (GEE_TYPE_READ_ONLY_SORTED_MAP, "GeeReadOnlyBidirSortedMap", &g_define_type_info, 0);
832 g_type_add_interface_static (gee_read_only_bidir_sorted_map_type_id, GEE_TYPE_BIDIR_SORTED_MAP, &gee_bidir_sorted_map_info);
833 g_once_init_leave (&gee_read_only_bidir_sorted_map_type_id__volatile, gee_read_only_bidir_sorted_map_type_id);
835 return gee_read_only_bidir_sorted_map_type_id__volatile;
839 static void _vala_gee_read_only_bidir_sorted_map_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
840 GeeReadOnlyBidirSortedMap * self;
841 self = G_TYPE_CHECK_INSTANCE_CAST (object, GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP, GeeReadOnlyBidirSortedMap);
842 switch (property_id) {
844 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
850 static void _vala_gee_read_only_bidir_sorted_map_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
851 GeeReadOnlyBidirSortedMap * self;
852 self = G_TYPE_CHECK_INSTANCE_CAST (object, GEE_TYPE_READ_ONLY_BIDIR_SORTED_MAP, GeeReadOnlyBidirSortedMap);
853 switch (property_id) {
854 case GEE_READ_ONLY_BIDIR_SORTED_MAP_K_TYPE:
855 self->priv->k_type = g_value_get_gtype (value);
857 case GEE_READ_ONLY_BIDIR_SORTED_MAP_K_DUP_FUNC:
858 self->priv->k_dup_func = g_value_get_pointer (value);
860 case GEE_READ_ONLY_BIDIR_SORTED_MAP_K_DESTROY_FUNC:
861 self->priv->k_destroy_func = g_value_get_pointer (value);
863 case GEE_READ_ONLY_BIDIR_SORTED_MAP_V_TYPE:
864 self->priv->v_type = g_value_get_gtype (value);
866 case GEE_READ_ONLY_BIDIR_SORTED_MAP_V_DUP_FUNC:
867 self->priv->v_dup_func = g_value_get_pointer (value);
869 case GEE_READ_ONLY_BIDIR_SORTED_MAP_V_DESTROY_FUNC:
870 self->priv->v_destroy_func = g_value_get_pointer (value);
873 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);