1 /* abstractsortedset.c generated by valac 0.18.0, the Vala compiler
2 * generated from abstractsortedset.vala, do not modify */
4 /* abstractsortedset.vala
6 * Copyright (C) 2009-2011 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_COLLECTION (gee_collection_get_type ())
67 #define GEE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_COLLECTION, GeeCollection))
68 #define GEE_IS_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_COLLECTION))
69 #define GEE_COLLECTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_COLLECTION, GeeCollectionIface))
71 typedef struct _GeeCollection GeeCollection;
72 typedef struct _GeeCollectionIface GeeCollectionIface;
74 #define GEE_TYPE_ABSTRACT_COLLECTION (gee_abstract_collection_get_type ())
75 #define GEE_ABSTRACT_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection))
76 #define GEE_ABSTRACT_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollectionClass))
77 #define GEE_IS_ABSTRACT_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_COLLECTION))
78 #define GEE_IS_ABSTRACT_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_COLLECTION))
79 #define GEE_ABSTRACT_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollectionClass))
81 typedef struct _GeeAbstractCollection GeeAbstractCollection;
82 typedef struct _GeeAbstractCollectionClass GeeAbstractCollectionClass;
83 typedef struct _GeeAbstractCollectionPrivate GeeAbstractCollectionPrivate;
85 #define GEE_TYPE_SET (gee_set_get_type ())
86 #define GEE_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_SET, GeeSet))
87 #define GEE_IS_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_SET))
88 #define GEE_SET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_SET, GeeSetIface))
90 typedef struct _GeeSet GeeSet;
91 typedef struct _GeeSetIface GeeSetIface;
93 #define GEE_TYPE_ABSTRACT_SET (gee_abstract_set_get_type ())
94 #define GEE_ABSTRACT_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_SET, GeeAbstractSet))
95 #define GEE_ABSTRACT_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_SET, GeeAbstractSetClass))
96 #define GEE_IS_ABSTRACT_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_SET))
97 #define GEE_IS_ABSTRACT_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_SET))
98 #define GEE_ABSTRACT_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_SET, GeeAbstractSetClass))
100 typedef struct _GeeAbstractSet GeeAbstractSet;
101 typedef struct _GeeAbstractSetClass GeeAbstractSetClass;
102 typedef struct _GeeAbstractSetPrivate GeeAbstractSetPrivate;
104 #define GEE_TYPE_SORTED_SET (gee_sorted_set_get_type ())
105 #define GEE_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_SORTED_SET, GeeSortedSet))
106 #define GEE_IS_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_SORTED_SET))
107 #define GEE_SORTED_SET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_SORTED_SET, GeeSortedSetIface))
109 typedef struct _GeeSortedSet GeeSortedSet;
110 typedef struct _GeeSortedSetIface GeeSortedSetIface;
112 #define GEE_TYPE_ABSTRACT_SORTED_SET (gee_abstract_sorted_set_get_type ())
113 #define GEE_ABSTRACT_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_SORTED_SET, GeeAbstractSortedSet))
114 #define GEE_ABSTRACT_SORTED_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_SORTED_SET, GeeAbstractSortedSetClass))
115 #define GEE_IS_ABSTRACT_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_SORTED_SET))
116 #define GEE_IS_ABSTRACT_SORTED_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_SORTED_SET))
117 #define GEE_ABSTRACT_SORTED_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_SORTED_SET, GeeAbstractSortedSetClass))
119 typedef struct _GeeAbstractSortedSet GeeAbstractSortedSet;
120 typedef struct _GeeAbstractSortedSetClass GeeAbstractSortedSetClass;
121 typedef struct _GeeAbstractSortedSetPrivate GeeAbstractSortedSetPrivate;
123 #define GEE_TYPE_READ_ONLY_COLLECTION (gee_read_only_collection_get_type ())
124 #define GEE_READ_ONLY_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_COLLECTION, GeeReadOnlyCollection))
125 #define GEE_READ_ONLY_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_COLLECTION, GeeReadOnlyCollectionClass))
126 #define GEE_IS_READ_ONLY_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_COLLECTION))
127 #define GEE_IS_READ_ONLY_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_COLLECTION))
128 #define GEE_READ_ONLY_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_COLLECTION, GeeReadOnlyCollectionClass))
130 typedef struct _GeeReadOnlyCollection GeeReadOnlyCollection;
131 typedef struct _GeeReadOnlyCollectionClass GeeReadOnlyCollectionClass;
133 #define GEE_TYPE_READ_ONLY_SET (gee_read_only_set_get_type ())
134 #define GEE_READ_ONLY_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_SET, GeeReadOnlySet))
135 #define GEE_READ_ONLY_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_SET, GeeReadOnlySetClass))
136 #define GEE_IS_READ_ONLY_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_SET))
137 #define GEE_IS_READ_ONLY_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_SET))
138 #define GEE_READ_ONLY_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_SET, GeeReadOnlySetClass))
140 typedef struct _GeeReadOnlySet GeeReadOnlySet;
141 typedef struct _GeeReadOnlySetClass GeeReadOnlySetClass;
143 #define GEE_TYPE_READ_ONLY_SORTED_SET (gee_read_only_sorted_set_get_type ())
144 #define GEE_READ_ONLY_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_READ_ONLY_SORTED_SET, GeeReadOnlySortedSet))
145 #define GEE_READ_ONLY_SORTED_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_READ_ONLY_SORTED_SET, GeeReadOnlySortedSetClass))
146 #define GEE_IS_READ_ONLY_SORTED_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_READ_ONLY_SORTED_SET))
147 #define GEE_IS_READ_ONLY_SORTED_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_READ_ONLY_SORTED_SET))
148 #define GEE_READ_ONLY_SORTED_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_READ_ONLY_SORTED_SET, GeeReadOnlySortedSetClass))
150 typedef struct _GeeReadOnlySortedSet GeeReadOnlySortedSet;
151 typedef struct _GeeReadOnlySortedSetClass GeeReadOnlySortedSetClass;
152 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
154 typedef gboolean (*GeeForallFunc) (gpointer g, void* user_data);
156 GEE_TRAVERSABLE_STREAM_YIELD,
157 GEE_TRAVERSABLE_STREAM_CONTINUE,
158 GEE_TRAVERSABLE_STREAM_END
159 } GeeTraversableStream;
161 typedef GeeTraversableStream (*GeeStreamFunc) (GeeTraversableStream state, GeeLazy* g, GeeLazy** lazy, void* user_data);
162 struct _GeeIteratorIface {
163 GTypeInterface parent_iface;
164 gboolean (*next) (GeeIterator* self);
165 gboolean (*has_next) (GeeIterator* self);
166 gpointer (*get) (GeeIterator* self);
167 void (*remove) (GeeIterator* self);
168 gboolean (*get_valid) (GeeIterator* self);
169 gboolean (*get_read_only) (GeeIterator* self);
172 typedef gpointer (*GeeFoldFunc) (gpointer g, gpointer a, void* user_data);
173 typedef gpointer (*GeeMapFunc) (gpointer g, void* user_data);
174 typedef gboolean (*GeePredicate) (gconstpointer g, void* user_data);
175 struct _GeeTraversableIface {
176 GTypeInterface parent_iface;
177 GType (*get_g_type) (GeeTraversable* self);
178 GBoxedCopyFunc (*get_g_dup_func) (GeeTraversable* self);
179 GDestroyNotify (*get_g_destroy_func) (GeeTraversable* self);
180 gboolean (*foreach) (GeeTraversable* self, GeeForallFunc f, void* f_target);
181 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);
182 gpointer (*fold) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
183 GeeIterator* (*map) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeMapFunc f, void* f_target);
184 GeeIterator* (*scan) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
185 GeeIterator* (*filter) (GeeTraversable* self, GeePredicate pred, void* pred_target, GDestroyNotify pred_target_destroy_notify);
186 GeeIterator* (*chop) (GeeTraversable* self, gint offset, gint length);
187 GType (*get_element_type) (GeeTraversable* self);
190 struct _GeeIterableIface {
191 GTypeInterface parent_iface;
192 GType (*get_g_type) (GeeIterable* self);
193 GBoxedCopyFunc (*get_g_dup_func) (GeeIterable* self);
194 GDestroyNotify (*get_g_destroy_func) (GeeIterable* self);
195 GeeIterator* (*iterator) (GeeIterable* self);
198 struct _GeeCollectionIface {
199 GTypeInterface parent_iface;
200 GType (*get_g_type) (GeeCollection* self);
201 GBoxedCopyFunc (*get_g_dup_func) (GeeCollection* self);
202 GDestroyNotify (*get_g_destroy_func) (GeeCollection* self);
203 gboolean (*contains) (GeeCollection* self, gconstpointer item);
204 gboolean (*add) (GeeCollection* self, gconstpointer item);
205 gboolean (*remove) (GeeCollection* self, gconstpointer item);
206 void (*clear) (GeeCollection* self);
207 gboolean (*add_all) (GeeCollection* self, GeeCollection* collection);
208 gboolean (*contains_all) (GeeCollection* self, GeeCollection* collection);
209 gboolean (*remove_all) (GeeCollection* self, GeeCollection* collection);
210 gboolean (*retain_all) (GeeCollection* self, GeeCollection* collection);
211 gpointer* (*to_array) (GeeCollection* self, int* result_length1);
212 gint (*get_size) (GeeCollection* self);
213 gboolean (*get_is_empty) (GeeCollection* self);
214 gboolean (*get_read_only) (GeeCollection* self);
215 GeeCollection* (*get_read_only_view) (GeeCollection* self);
218 struct _GeeAbstractCollection {
219 GObject parent_instance;
220 GeeAbstractCollectionPrivate * priv;
223 struct _GeeAbstractCollectionClass {
224 GObjectClass parent_class;
225 gboolean (*contains) (GeeAbstractCollection* self, gconstpointer item);
226 gboolean (*add) (GeeAbstractCollection* self, gconstpointer item);
227 gboolean (*remove) (GeeAbstractCollection* self, gconstpointer item);
228 void (*clear) (GeeAbstractCollection* self);
229 GeeIterator* (*iterator) (GeeAbstractCollection* self);
230 gboolean (*foreach) (GeeAbstractCollection* self, GeeForallFunc f, void* f_target);
231 void (*reserved0) (GeeAbstractCollection* self);
232 void (*reserved1) (GeeAbstractCollection* self);
233 void (*reserved2) (GeeAbstractCollection* self);
234 void (*reserved3) (GeeAbstractCollection* self);
235 void (*reserved4) (GeeAbstractCollection* self);
236 void (*reserved5) (GeeAbstractCollection* self);
237 void (*reserved6) (GeeAbstractCollection* self);
238 void (*reserved7) (GeeAbstractCollection* self);
239 void (*reserved8) (GeeAbstractCollection* self);
240 void (*reserved9) (GeeAbstractCollection* self);
241 gint (*get_size) (GeeAbstractCollection* self);
242 gboolean (*get_read_only) (GeeAbstractCollection* self);
243 GeeCollection* (*get_read_only_view) (GeeAbstractCollection* self);
246 struct _GeeSetIface {
247 GTypeInterface parent_iface;
248 GType (*get_g_type) (GeeSet* self);
249 GBoxedCopyFunc (*get_g_dup_func) (GeeSet* self);
250 GDestroyNotify (*get_g_destroy_func) (GeeSet* self);
251 GeeSet* (*get_read_only_view) (GeeSet* self);
254 struct _GeeAbstractSet {
255 GeeAbstractCollection parent_instance;
256 GeeAbstractSetPrivate * priv;
259 struct _GeeAbstractSetClass {
260 GeeAbstractCollectionClass parent_class;
261 void (*reserved0) (GeeAbstractSet* self);
262 void (*reserved1) (GeeAbstractSet* self);
263 void (*reserved2) (GeeAbstractSet* self);
264 void (*reserved3) (GeeAbstractSet* self);
265 void (*reserved4) (GeeAbstractSet* self);
266 void (*reserved5) (GeeAbstractSet* self);
267 void (*reserved6) (GeeAbstractSet* self);
268 void (*reserved7) (GeeAbstractSet* self);
269 void (*reserved8) (GeeAbstractSet* self);
270 void (*reserved9) (GeeAbstractSet* self);
271 GeeSet* (*get_read_only_view) (GeeAbstractSet* self);
274 struct _GeeSortedSetIface {
275 GTypeInterface parent_iface;
276 GType (*get_g_type) (GeeSortedSet* self);
277 GBoxedCopyFunc (*get_g_dup_func) (GeeSortedSet* self);
278 GDestroyNotify (*get_g_destroy_func) (GeeSortedSet* self);
279 gpointer (*first) (GeeSortedSet* self);
280 gpointer (*last) (GeeSortedSet* self);
281 GeeIterator* (*iterator_at) (GeeSortedSet* self, gconstpointer element);
282 gpointer (*lower) (GeeSortedSet* self, gconstpointer element);
283 gpointer (*higher) (GeeSortedSet* self, gconstpointer element);
284 gpointer (*floor) (GeeSortedSet* self, gconstpointer element);
285 gpointer (*ceil) (GeeSortedSet* self, gconstpointer element);
286 GeeSortedSet* (*head_set) (GeeSortedSet* self, gconstpointer before);
287 GeeSortedSet* (*tail_set) (GeeSortedSet* self, gconstpointer after);
288 GeeSortedSet* (*sub_set) (GeeSortedSet* self, gconstpointer from, gconstpointer to);
289 GeeSortedSet* (*get_read_only_view) (GeeSortedSet* self);
292 struct _GeeAbstractSortedSet {
293 GeeAbstractSet parent_instance;
294 GeeAbstractSortedSetPrivate * priv;
297 struct _GeeAbstractSortedSetClass {
298 GeeAbstractSetClass parent_class;
299 gpointer (*first) (GeeAbstractSortedSet* self);
300 gpointer (*last) (GeeAbstractSortedSet* self);
301 GeeIterator* (*iterator_at) (GeeAbstractSortedSet* self, gconstpointer element);
302 gpointer (*lower) (GeeAbstractSortedSet* self, gconstpointer element);
303 gpointer (*higher) (GeeAbstractSortedSet* self, gconstpointer element);
304 gpointer (*floor) (GeeAbstractSortedSet* self, gconstpointer element);
305 gpointer (*ceil) (GeeAbstractSortedSet* self, gconstpointer element);
306 GeeSortedSet* (*head_set) (GeeAbstractSortedSet* self, gconstpointer before);
307 GeeSortedSet* (*tail_set) (GeeAbstractSortedSet* self, gconstpointer after);
308 GeeSortedSet* (*sub_set) (GeeAbstractSortedSet* self, gconstpointer from, gconstpointer to);
309 void (*reserved0) (GeeAbstractSortedSet* self);
310 void (*reserved1) (GeeAbstractSortedSet* self);
311 void (*reserved2) (GeeAbstractSortedSet* self);
312 void (*reserved3) (GeeAbstractSortedSet* self);
313 void (*reserved4) (GeeAbstractSortedSet* self);
314 void (*reserved5) (GeeAbstractSortedSet* self);
315 void (*reserved6) (GeeAbstractSortedSet* self);
316 void (*reserved7) (GeeAbstractSortedSet* self);
317 void (*reserved8) (GeeAbstractSortedSet* self);
318 void (*reserved9) (GeeAbstractSortedSet* self);
319 GeeSortedSet* (*get_read_only_view) (GeeAbstractSortedSet* self);
322 struct _GeeAbstractSortedSetPrivate {
324 GBoxedCopyFunc g_dup_func;
325 GDestroyNotify g_destroy_func;
326 GeeSortedSet* _read_only_view;
330 static gpointer gee_abstract_sorted_set_parent_class = NULL;
331 static GeeSortedSetIface* gee_abstract_sorted_set_gee_sorted_set_parent_iface = NULL;
333 GType gee_traversable_stream_get_type (void) G_GNUC_CONST;
334 gpointer gee_lazy_ref (gpointer instance);
335 void gee_lazy_unref (gpointer instance);
336 GParamSpec* gee_param_spec_lazy (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
337 void gee_value_set_lazy (GValue* value, gpointer v_object);
338 void gee_value_take_lazy (GValue* value, gpointer v_object);
339 gpointer gee_value_get_lazy (const GValue* value);
340 GType gee_lazy_get_type (void) G_GNUC_CONST;
341 GType gee_iterator_get_type (void) G_GNUC_CONST;
342 GType gee_traversable_get_type (void) G_GNUC_CONST;
343 GType gee_iterable_get_type (void) G_GNUC_CONST;
344 GType gee_collection_get_type (void) G_GNUC_CONST;
345 GType gee_abstract_collection_get_type (void) G_GNUC_CONST;
346 GType gee_set_get_type (void) G_GNUC_CONST;
347 GType gee_abstract_set_get_type (void) G_GNUC_CONST;
348 GType gee_sorted_set_get_type (void) G_GNUC_CONST;
349 GType gee_abstract_sorted_set_get_type (void) G_GNUC_CONST;
350 #define GEE_ABSTRACT_SORTED_SET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GEE_TYPE_ABSTRACT_SORTED_SET, GeeAbstractSortedSetPrivate))
352 GEE_ABSTRACT_SORTED_SET_DUMMY_PROPERTY,
353 GEE_ABSTRACT_SORTED_SET_G_TYPE,
354 GEE_ABSTRACT_SORTED_SET_G_DUP_FUNC,
355 GEE_ABSTRACT_SORTED_SET_G_DESTROY_FUNC,
356 GEE_ABSTRACT_SORTED_SET_READ_ONLY_VIEW
358 gpointer gee_abstract_sorted_set_first (GeeAbstractSortedSet* self);
359 static gpointer gee_abstract_sorted_set_real_first (GeeAbstractSortedSet* self);
360 gpointer gee_abstract_sorted_set_last (GeeAbstractSortedSet* self);
361 static gpointer gee_abstract_sorted_set_real_last (GeeAbstractSortedSet* self);
362 GeeIterator* gee_abstract_sorted_set_iterator_at (GeeAbstractSortedSet* self, gconstpointer element);
363 static GeeIterator* gee_abstract_sorted_set_real_iterator_at (GeeAbstractSortedSet* self, gconstpointer element);
364 gpointer gee_abstract_sorted_set_lower (GeeAbstractSortedSet* self, gconstpointer element);
365 static gpointer gee_abstract_sorted_set_real_lower (GeeAbstractSortedSet* self, gconstpointer element);
366 gpointer gee_abstract_sorted_set_higher (GeeAbstractSortedSet* self, gconstpointer element);
367 static gpointer gee_abstract_sorted_set_real_higher (GeeAbstractSortedSet* self, gconstpointer element);
368 gpointer gee_abstract_sorted_set_floor (GeeAbstractSortedSet* self, gconstpointer element);
369 static gpointer gee_abstract_sorted_set_real_floor (GeeAbstractSortedSet* self, gconstpointer element);
370 gpointer gee_abstract_sorted_set_ceil (GeeAbstractSortedSet* self, gconstpointer element);
371 static gpointer gee_abstract_sorted_set_real_ceil (GeeAbstractSortedSet* self, gconstpointer element);
372 GeeSortedSet* gee_abstract_sorted_set_head_set (GeeAbstractSortedSet* self, gconstpointer before);
373 static GeeSortedSet* gee_abstract_sorted_set_real_head_set (GeeAbstractSortedSet* self, gconstpointer before);
374 GeeSortedSet* gee_abstract_sorted_set_tail_set (GeeAbstractSortedSet* self, gconstpointer after);
375 static GeeSortedSet* gee_abstract_sorted_set_real_tail_set (GeeAbstractSortedSet* self, gconstpointer after);
376 GeeSortedSet* gee_abstract_sorted_set_sub_set (GeeAbstractSortedSet* self, gconstpointer from, gconstpointer to);
377 static GeeSortedSet* gee_abstract_sorted_set_real_sub_set (GeeAbstractSortedSet* self, gconstpointer from, gconstpointer to);
378 void gee_abstract_sorted_set_reserved0 (GeeAbstractSortedSet* self);
379 static void gee_abstract_sorted_set_real_reserved0 (GeeAbstractSortedSet* self);
380 void gee_abstract_sorted_set_reserved1 (GeeAbstractSortedSet* self);
381 static void gee_abstract_sorted_set_real_reserved1 (GeeAbstractSortedSet* self);
382 void gee_abstract_sorted_set_reserved2 (GeeAbstractSortedSet* self);
383 static void gee_abstract_sorted_set_real_reserved2 (GeeAbstractSortedSet* self);
384 void gee_abstract_sorted_set_reserved3 (GeeAbstractSortedSet* self);
385 static void gee_abstract_sorted_set_real_reserved3 (GeeAbstractSortedSet* self);
386 void gee_abstract_sorted_set_reserved4 (GeeAbstractSortedSet* self);
387 static void gee_abstract_sorted_set_real_reserved4 (GeeAbstractSortedSet* self);
388 void gee_abstract_sorted_set_reserved5 (GeeAbstractSortedSet* self);
389 static void gee_abstract_sorted_set_real_reserved5 (GeeAbstractSortedSet* self);
390 void gee_abstract_sorted_set_reserved6 (GeeAbstractSortedSet* self);
391 static void gee_abstract_sorted_set_real_reserved6 (GeeAbstractSortedSet* self);
392 void gee_abstract_sorted_set_reserved7 (GeeAbstractSortedSet* self);
393 static void gee_abstract_sorted_set_real_reserved7 (GeeAbstractSortedSet* self);
394 void gee_abstract_sorted_set_reserved8 (GeeAbstractSortedSet* self);
395 static void gee_abstract_sorted_set_real_reserved8 (GeeAbstractSortedSet* self);
396 void gee_abstract_sorted_set_reserved9 (GeeAbstractSortedSet* self);
397 static void gee_abstract_sorted_set_real_reserved9 (GeeAbstractSortedSet* self);
398 GeeAbstractSortedSet* gee_abstract_sorted_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
399 GeeAbstractSet* gee_abstract_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
400 GeeSortedSet* gee_abstract_sorted_set_get_read_only_view (GeeAbstractSortedSet* self);
401 GeeReadOnlySortedSet* gee_read_only_sorted_set_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeSortedSet* set);
402 GeeReadOnlySortedSet* gee_read_only_sorted_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeSortedSet* set);
403 GType gee_read_only_collection_get_type (void) G_GNUC_CONST;
404 GType gee_read_only_set_get_type (void) G_GNUC_CONST;
405 GType gee_read_only_sorted_set_get_type (void) G_GNUC_CONST;
406 static void gee_abstract_sorted_set_finalize (GObject* obj);
407 static void _vala_gee_abstract_sorted_set_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
408 static void _vala_gee_abstract_sorted_set_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
414 static gpointer gee_abstract_sorted_set_real_first (GeeAbstractSortedSet* self) {
415 g_critical ("Type `%s' does not implement abstract method `gee_abstract_sorted_set_first'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
420 gpointer gee_abstract_sorted_set_first (GeeAbstractSortedSet* self) {
421 g_return_val_if_fail (self != NULL, NULL);
422 return GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->first (self);
429 static gpointer gee_abstract_sorted_set_real_last (GeeAbstractSortedSet* self) {
430 g_critical ("Type `%s' does not implement abstract method `gee_abstract_sorted_set_last'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
435 gpointer gee_abstract_sorted_set_last (GeeAbstractSortedSet* self) {
436 g_return_val_if_fail (self != NULL, NULL);
437 return GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->last (self);
444 static GeeIterator* gee_abstract_sorted_set_real_iterator_at (GeeAbstractSortedSet* self, gconstpointer element) {
445 g_critical ("Type `%s' does not implement abstract method `gee_abstract_sorted_set_iterator_at'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
450 GeeIterator* gee_abstract_sorted_set_iterator_at (GeeAbstractSortedSet* self, gconstpointer element) {
451 g_return_val_if_fail (self != NULL, NULL);
452 return GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->iterator_at (self, element);
459 static gpointer gee_abstract_sorted_set_real_lower (GeeAbstractSortedSet* self, gconstpointer element) {
460 g_critical ("Type `%s' does not implement abstract method `gee_abstract_sorted_set_lower'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
465 gpointer gee_abstract_sorted_set_lower (GeeAbstractSortedSet* self, gconstpointer element) {
466 g_return_val_if_fail (self != NULL, NULL);
467 return GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->lower (self, element);
474 static gpointer gee_abstract_sorted_set_real_higher (GeeAbstractSortedSet* self, gconstpointer element) {
475 g_critical ("Type `%s' does not implement abstract method `gee_abstract_sorted_set_higher'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
480 gpointer gee_abstract_sorted_set_higher (GeeAbstractSortedSet* self, gconstpointer element) {
481 g_return_val_if_fail (self != NULL, NULL);
482 return GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->higher (self, element);
489 static gpointer gee_abstract_sorted_set_real_floor (GeeAbstractSortedSet* self, gconstpointer element) {
490 g_critical ("Type `%s' does not implement abstract method `gee_abstract_sorted_set_floor'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
495 gpointer gee_abstract_sorted_set_floor (GeeAbstractSortedSet* self, gconstpointer element) {
496 g_return_val_if_fail (self != NULL, NULL);
497 return GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->floor (self, element);
504 static gpointer gee_abstract_sorted_set_real_ceil (GeeAbstractSortedSet* self, gconstpointer element) {
505 g_critical ("Type `%s' does not implement abstract method `gee_abstract_sorted_set_ceil'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
510 gpointer gee_abstract_sorted_set_ceil (GeeAbstractSortedSet* self, gconstpointer element) {
511 g_return_val_if_fail (self != NULL, NULL);
512 return GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->ceil (self, element);
519 static GeeSortedSet* gee_abstract_sorted_set_real_head_set (GeeAbstractSortedSet* self, gconstpointer before) {
520 g_critical ("Type `%s' does not implement abstract method `gee_abstract_sorted_set_head_set'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
525 GeeSortedSet* gee_abstract_sorted_set_head_set (GeeAbstractSortedSet* self, gconstpointer before) {
526 g_return_val_if_fail (self != NULL, NULL);
527 return GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->head_set (self, before);
534 static GeeSortedSet* gee_abstract_sorted_set_real_tail_set (GeeAbstractSortedSet* self, gconstpointer after) {
535 g_critical ("Type `%s' does not implement abstract method `gee_abstract_sorted_set_tail_set'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
540 GeeSortedSet* gee_abstract_sorted_set_tail_set (GeeAbstractSortedSet* self, gconstpointer after) {
541 g_return_val_if_fail (self != NULL, NULL);
542 return GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->tail_set (self, after);
549 static GeeSortedSet* gee_abstract_sorted_set_real_sub_set (GeeAbstractSortedSet* self, gconstpointer from, gconstpointer to) {
550 g_critical ("Type `%s' does not implement abstract method `gee_abstract_sorted_set_sub_set'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
555 GeeSortedSet* gee_abstract_sorted_set_sub_set (GeeAbstractSortedSet* self, gconstpointer from, gconstpointer to) {
556 g_return_val_if_fail (self != NULL, NULL);
557 return GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->sub_set (self, from, to);
561 static void gee_abstract_sorted_set_real_reserved0 (GeeAbstractSortedSet* self) {
565 void gee_abstract_sorted_set_reserved0 (GeeAbstractSortedSet* self) {
566 g_return_if_fail (self != NULL);
567 GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->reserved0 (self);
571 static void gee_abstract_sorted_set_real_reserved1 (GeeAbstractSortedSet* self) {
575 void gee_abstract_sorted_set_reserved1 (GeeAbstractSortedSet* self) {
576 g_return_if_fail (self != NULL);
577 GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->reserved1 (self);
581 static void gee_abstract_sorted_set_real_reserved2 (GeeAbstractSortedSet* self) {
585 void gee_abstract_sorted_set_reserved2 (GeeAbstractSortedSet* self) {
586 g_return_if_fail (self != NULL);
587 GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->reserved2 (self);
591 static void gee_abstract_sorted_set_real_reserved3 (GeeAbstractSortedSet* self) {
595 void gee_abstract_sorted_set_reserved3 (GeeAbstractSortedSet* self) {
596 g_return_if_fail (self != NULL);
597 GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->reserved3 (self);
601 static void gee_abstract_sorted_set_real_reserved4 (GeeAbstractSortedSet* self) {
605 void gee_abstract_sorted_set_reserved4 (GeeAbstractSortedSet* self) {
606 g_return_if_fail (self != NULL);
607 GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->reserved4 (self);
611 static void gee_abstract_sorted_set_real_reserved5 (GeeAbstractSortedSet* self) {
615 void gee_abstract_sorted_set_reserved5 (GeeAbstractSortedSet* self) {
616 g_return_if_fail (self != NULL);
617 GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->reserved5 (self);
621 static void gee_abstract_sorted_set_real_reserved6 (GeeAbstractSortedSet* self) {
625 void gee_abstract_sorted_set_reserved6 (GeeAbstractSortedSet* self) {
626 g_return_if_fail (self != NULL);
627 GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->reserved6 (self);
631 static void gee_abstract_sorted_set_real_reserved7 (GeeAbstractSortedSet* self) {
635 void gee_abstract_sorted_set_reserved7 (GeeAbstractSortedSet* self) {
636 g_return_if_fail (self != NULL);
637 GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->reserved7 (self);
641 static void gee_abstract_sorted_set_real_reserved8 (GeeAbstractSortedSet* self) {
645 void gee_abstract_sorted_set_reserved8 (GeeAbstractSortedSet* self) {
646 g_return_if_fail (self != NULL);
647 GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->reserved8 (self);
651 static void gee_abstract_sorted_set_real_reserved9 (GeeAbstractSortedSet* self) {
655 void gee_abstract_sorted_set_reserved9 (GeeAbstractSortedSet* self) {
656 g_return_if_fail (self != NULL);
657 GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->reserved9 (self);
661 GeeAbstractSortedSet* gee_abstract_sorted_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func) {
662 GeeAbstractSortedSet * self = NULL;
663 self = (GeeAbstractSortedSet*) gee_abstract_set_construct (object_type, g_type, (GBoxedCopyFunc) g_dup_func, g_destroy_func);
664 self->priv->g_type = g_type;
665 self->priv->g_dup_func = g_dup_func;
666 self->priv->g_destroy_func = g_destroy_func;
671 GeeSortedSet* gee_abstract_sorted_set_get_read_only_view (GeeAbstractSortedSet* self) {
672 g_return_val_if_fail (self != NULL, NULL);
673 return GEE_ABSTRACT_SORTED_SET_GET_CLASS (self)->get_read_only_view (self);
677 static gpointer _g_object_ref0 (gpointer self) {
678 return self ? g_object_ref (self) : NULL;
682 static GeeSortedSet* gee_abstract_sorted_set_real_get_read_only_view (GeeAbstractSortedSet* base) {
683 GeeSortedSet* result;
684 GeeAbstractSortedSet* self;
685 GeeSortedSet* _tmp0_;
686 GeeSortedSet* _tmp1_;
687 GeeSortedSet* instance;
688 GeeSortedSet* _tmp2_;
690 _tmp0_ = self->priv->_read_only_view;
691 _tmp1_ = _g_object_ref0 (_tmp0_);
693 _tmp2_ = self->priv->_read_only_view;
694 if (_tmp2_ == NULL) {
695 GeeReadOnlySortedSet* _tmp3_;
696 GeeSortedSet* _tmp4_;
697 GeeSortedSet* _tmp5_;
698 _tmp3_ = gee_read_only_sorted_set_new (self->priv->g_type, (GBoxedCopyFunc) self->priv->g_dup_func, self->priv->g_destroy_func, (GeeSortedSet*) self);
699 _g_object_unref0 (instance);
700 instance = (GeeSortedSet*) _tmp3_;
702 self->priv->_read_only_view = _tmp4_;
704 g_object_add_weak_pointer ((GObject*) _tmp5_, (void**) (&self->priv->_read_only_view));
711 static void gee_abstract_sorted_set_class_init (GeeAbstractSortedSetClass * klass) {
712 gee_abstract_sorted_set_parent_class = g_type_class_peek_parent (klass);
713 g_type_class_add_private (klass, sizeof (GeeAbstractSortedSetPrivate));
714 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->first = gee_abstract_sorted_set_real_first;
715 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->last = gee_abstract_sorted_set_real_last;
716 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->iterator_at = gee_abstract_sorted_set_real_iterator_at;
717 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->lower = gee_abstract_sorted_set_real_lower;
718 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->higher = gee_abstract_sorted_set_real_higher;
719 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->floor = gee_abstract_sorted_set_real_floor;
720 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->ceil = gee_abstract_sorted_set_real_ceil;
721 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->head_set = gee_abstract_sorted_set_real_head_set;
722 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->tail_set = gee_abstract_sorted_set_real_tail_set;
723 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->sub_set = gee_abstract_sorted_set_real_sub_set;
724 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->reserved0 = gee_abstract_sorted_set_real_reserved0;
725 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->reserved1 = gee_abstract_sorted_set_real_reserved1;
726 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->reserved2 = gee_abstract_sorted_set_real_reserved2;
727 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->reserved3 = gee_abstract_sorted_set_real_reserved3;
728 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->reserved4 = gee_abstract_sorted_set_real_reserved4;
729 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->reserved5 = gee_abstract_sorted_set_real_reserved5;
730 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->reserved6 = gee_abstract_sorted_set_real_reserved6;
731 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->reserved7 = gee_abstract_sorted_set_real_reserved7;
732 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->reserved8 = gee_abstract_sorted_set_real_reserved8;
733 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->reserved9 = gee_abstract_sorted_set_real_reserved9;
734 GEE_ABSTRACT_SORTED_SET_CLASS (klass)->get_read_only_view = gee_abstract_sorted_set_real_get_read_only_view;
735 G_OBJECT_CLASS (klass)->get_property = _vala_gee_abstract_sorted_set_get_property;
736 G_OBJECT_CLASS (klass)->set_property = _vala_gee_abstract_sorted_set_set_property;
737 G_OBJECT_CLASS (klass)->finalize = gee_abstract_sorted_set_finalize;
738 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_ABSTRACT_SORTED_SET_G_TYPE, g_param_spec_gtype ("g-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));
739 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_ABSTRACT_SORTED_SET_G_DUP_FUNC, g_param_spec_pointer ("g-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));
740 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_ABSTRACT_SORTED_SET_G_DESTROY_FUNC, g_param_spec_pointer ("g-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));
744 g_object_class_install_property (G_OBJECT_CLASS (klass), GEE_ABSTRACT_SORTED_SET_READ_ONLY_VIEW, g_param_spec_object ("read-only-view", "read-only-view", "read-only-view", GEE_TYPE_SORTED_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
748 static GType gee_abstract_sorted_set_gee_sorted_set_get_g_type (GeeAbstractSortedSet* self) {
749 return self->priv->g_type;
753 static GBoxedCopyFunc gee_abstract_sorted_set_gee_sorted_set_get_g_dup_func (GeeAbstractSortedSet* self) {
754 return self->priv->g_dup_func;
758 static GDestroyNotify gee_abstract_sorted_set_gee_sorted_set_get_g_destroy_func (GeeAbstractSortedSet* self) {
759 return self->priv->g_destroy_func;
763 static void gee_abstract_sorted_set_gee_sorted_set_interface_init (GeeSortedSetIface * iface) {
764 gee_abstract_sorted_set_gee_sorted_set_parent_iface = g_type_interface_peek_parent (iface);
765 iface->first = (gpointer (*)(GeeSortedSet*)) gee_abstract_sorted_set_first;
766 iface->last = (gpointer (*)(GeeSortedSet*)) gee_abstract_sorted_set_last;
767 iface->iterator_at = (GeeIterator* (*)(GeeSortedSet*, gconstpointer)) gee_abstract_sorted_set_iterator_at;
768 iface->lower = (gpointer (*)(GeeSortedSet*, gconstpointer)) gee_abstract_sorted_set_lower;
769 iface->higher = (gpointer (*)(GeeSortedSet*, gconstpointer)) gee_abstract_sorted_set_higher;
770 iface->floor = (gpointer (*)(GeeSortedSet*, gconstpointer)) gee_abstract_sorted_set_floor;
771 iface->ceil = (gpointer (*)(GeeSortedSet*, gconstpointer)) gee_abstract_sorted_set_ceil;
772 iface->head_set = (GeeSortedSet* (*)(GeeSortedSet*, gconstpointer)) gee_abstract_sorted_set_head_set;
773 iface->tail_set = (GeeSortedSet* (*)(GeeSortedSet*, gconstpointer)) gee_abstract_sorted_set_tail_set;
774 iface->sub_set = (GeeSortedSet* (*)(GeeSortedSet*, gconstpointer, gconstpointer)) gee_abstract_sorted_set_sub_set;
775 iface->get_g_type = (GType(*)(GeeSortedSet*)) gee_abstract_sorted_set_gee_sorted_set_get_g_type;
776 iface->get_g_dup_func = (GBoxedCopyFunc(*)(GeeSortedSet*)) gee_abstract_sorted_set_gee_sorted_set_get_g_dup_func;
777 iface->get_g_destroy_func = (GDestroyNotify(*)(GeeSortedSet*)) gee_abstract_sorted_set_gee_sorted_set_get_g_destroy_func;
778 iface->get_read_only_view = (GeeSortedSet* (*) (GeeSortedSet *)) gee_abstract_sorted_set_get_read_only_view;
782 static void gee_abstract_sorted_set_instance_init (GeeAbstractSortedSet * self) {
783 self->priv = GEE_ABSTRACT_SORTED_SET_GET_PRIVATE (self);
787 static void gee_abstract_sorted_set_finalize (GObject* obj) {
788 GeeAbstractSortedSet * self;
789 self = G_TYPE_CHECK_INSTANCE_CAST (obj, GEE_TYPE_ABSTRACT_SORTED_SET, GeeAbstractSortedSet);
790 G_OBJECT_CLASS (gee_abstract_sorted_set_parent_class)->finalize (obj);
795 * Skeletal implementation of the {@link SortedSet} interface.
797 * Contains common code shared by all set implementations.
801 GType gee_abstract_sorted_set_get_type (void) {
802 static volatile gsize gee_abstract_sorted_set_type_id__volatile = 0;
803 if (g_once_init_enter (&gee_abstract_sorted_set_type_id__volatile)) {
804 static const GTypeInfo g_define_type_info = { sizeof (GeeAbstractSortedSetClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gee_abstract_sorted_set_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GeeAbstractSortedSet), 0, (GInstanceInitFunc) gee_abstract_sorted_set_instance_init, NULL };
805 static const GInterfaceInfo gee_sorted_set_info = { (GInterfaceInitFunc) gee_abstract_sorted_set_gee_sorted_set_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
806 GType gee_abstract_sorted_set_type_id;
807 gee_abstract_sorted_set_type_id = g_type_register_static (GEE_TYPE_ABSTRACT_SET, "GeeAbstractSortedSet", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
808 g_type_add_interface_static (gee_abstract_sorted_set_type_id, GEE_TYPE_SORTED_SET, &gee_sorted_set_info);
809 g_once_init_leave (&gee_abstract_sorted_set_type_id__volatile, gee_abstract_sorted_set_type_id);
811 return gee_abstract_sorted_set_type_id__volatile;
815 static void _vala_gee_abstract_sorted_set_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
816 GeeAbstractSortedSet * self;
817 self = G_TYPE_CHECK_INSTANCE_CAST (object, GEE_TYPE_ABSTRACT_SORTED_SET, GeeAbstractSortedSet);
818 switch (property_id) {
819 case GEE_ABSTRACT_SORTED_SET_READ_ONLY_VIEW:
820 g_value_take_object (value, gee_abstract_sorted_set_get_read_only_view (self));
823 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
829 static void _vala_gee_abstract_sorted_set_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
830 GeeAbstractSortedSet * self;
831 self = G_TYPE_CHECK_INSTANCE_CAST (object, GEE_TYPE_ABSTRACT_SORTED_SET, GeeAbstractSortedSet);
832 switch (property_id) {
833 case GEE_ABSTRACT_SORTED_SET_G_TYPE:
834 self->priv->g_type = g_value_get_gtype (value);
836 case GEE_ABSTRACT_SORTED_SET_G_DUP_FUNC:
837 self->priv->g_dup_func = g_value_get_pointer (value);
839 case GEE_ABSTRACT_SORTED_SET_G_DESTROY_FUNC:
840 self->priv->g_destroy_func = g_value_get_pointer (value);
843 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);