/* collection.c generated by valac 0.36.11, the Vala compiler
* generated from collection.vala, do not modify */
/* collection.vala
*
* Copyright (C) 2007-2009 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
#include <glib.h>
#include <glib-object.h>
#include <float.h>
#include <math.h>
#define GEE_TYPE_TRAVERSABLE (gee_traversable_get_type ())
#define GEE_TRAVERSABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TRAVERSABLE, GeeTraversable))
#define GEE_IS_TRAVERSABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TRAVERSABLE))
#define GEE_TRAVERSABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_TRAVERSABLE, GeeTraversableIface))
typedef struct _GeeTraversable GeeTraversable;
typedef struct _GeeTraversableIface GeeTraversableIface;
#define GEE_TRAVERSABLE_TYPE_STREAM (gee_traversable_stream_get_type ())
#define GEE_TYPE_LAZY (gee_lazy_get_type ())
#define GEE_LAZY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_LAZY, GeeLazy))
#define GEE_LAZY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_LAZY, GeeLazyClass))
#define GEE_IS_LAZY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_LAZY))
#define GEE_IS_LAZY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_LAZY))
#define GEE_LAZY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_LAZY, GeeLazyClass))
typedef struct _GeeLazy GeeLazy;
typedef struct _GeeLazyClass GeeLazyClass;
#define GEE_TYPE_ITERATOR (gee_iterator_get_type ())
#define GEE_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ITERATOR, GeeIterator))
#define GEE_IS_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ITERATOR))
#define GEE_ITERATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_ITERATOR, GeeIteratorIface))
typedef struct _GeeIterator GeeIterator;
typedef struct _GeeIteratorIface GeeIteratorIface;
#define GEE_TYPE_ITERABLE (gee_iterable_get_type ())
#define GEE_ITERABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ITERABLE, GeeIterable))
#define GEE_IS_ITERABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ITERABLE))
#define GEE_ITERABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_ITERABLE, GeeIterableIface))
typedef struct _GeeIterable GeeIterable;
typedef struct _GeeIterableIface GeeIterableIface;
#define GEE_TYPE_COLLECTION (gee_collection_get_type ())
#define GEE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_COLLECTION, GeeCollection))
#define GEE_IS_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_COLLECTION))
#define GEE_COLLECTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_COLLECTION, GeeCollectionIface))
typedef struct _GeeCollection GeeCollection;
typedef struct _GeeCollectionIface GeeCollectionIface;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
typedef struct _Block5Data Block5Data;
typedef struct _Block6Data Block6Data;
#define GEE_TYPE_ABSTRACT_COLLECTION (gee_abstract_collection_get_type ())
#define GEE_ABSTRACT_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection))
#define GEE_ABSTRACT_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollectionClass))
#define GEE_IS_ABSTRACT_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_COLLECTION))
#define GEE_IS_ABSTRACT_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_COLLECTION))
#define GEE_ABSTRACT_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollectionClass))
typedef struct _GeeAbstractCollection GeeAbstractCollection;
typedef struct _GeeAbstractCollectionClass GeeAbstractCollectionClass;
#define GEE_TYPE_ABSTRACT_SET (gee_abstract_set_get_type ())
#define GEE_ABSTRACT_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_ABSTRACT_SET, GeeAbstractSet))
#define GEE_ABSTRACT_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_ABSTRACT_SET, GeeAbstractSetClass))
#define GEE_IS_ABSTRACT_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_ABSTRACT_SET))
#define GEE_IS_ABSTRACT_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_ABSTRACT_SET))
#define GEE_ABSTRACT_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_ABSTRACT_SET, GeeAbstractSetClass))
typedef struct _GeeAbstractSet GeeAbstractSet;
typedef struct _GeeAbstractSetClass GeeAbstractSetClass;
#define GEE_TYPE_HASH_SET (gee_hash_set_get_type ())
#define GEE_HASH_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_HASH_SET, GeeHashSet))
#define GEE_HASH_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_HASH_SET, GeeHashSetClass))
#define GEE_IS_HASH_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_HASH_SET))
#define GEE_IS_HASH_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_HASH_SET))
#define GEE_HASH_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_HASH_SET, GeeHashSetClass))
typedef struct _GeeHashSet GeeHashSet;
typedef struct _GeeHashSetClass GeeHashSetClass;
#define GEE_TYPE_SET (gee_set_get_type ())
#define GEE_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_SET, GeeSet))
#define GEE_IS_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_SET))
#define GEE_SET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEE_TYPE_SET, GeeSetIface))
typedef struct _GeeSet GeeSet;
typedef struct _GeeSetIface GeeSetIface;
#define _g_free0(var) ((var == NULL) ? NULL : (var = (g_free (var), NULL)))
typedef gboolean (*GeeForallFunc) (gpointer g, void* user_data);
typedef enum {
GEE_TRAVERSABLE_STREAM_YIELD,
GEE_TRAVERSABLE_STREAM_CONTINUE,
GEE_TRAVERSABLE_STREAM_END,
GEE_TRAVERSABLE_STREAM_WAIT
} GeeTraversableStream;
typedef GeeTraversableStream (*GeeStreamFunc) (GeeTraversableStream state, GeeLazy* g, GeeLazy* * lazy, void* user_data);
struct _GeeIteratorIface {
GTypeInterface parent_iface;
gboolean (*next) (GeeIterator* self);
gboolean (*has_next) (GeeIterator* self);
gpointer (*get) (GeeIterator* self);
void (*remove) (GeeIterator* self);
gboolean (*get_valid) (GeeIterator* self);
gboolean (*get_read_only) (GeeIterator* self);
};
typedef gpointer (*GeeFoldFunc) (gpointer g, gpointer a, void* user_data);
typedef gpointer (*GeeMapFunc) (gpointer g, void* user_data);
typedef gboolean (*GeePredicate) (gconstpointer g, void* user_data);
typedef GeeIterator* (*GeeFlatMapFunc) (gpointer g, void* user_data);
struct _GeeTraversableIface {
GTypeInterface parent_iface;
GType (*get_g_type) (GeeTraversable* self);
GBoxedCopyFunc (*get_g_dup_func) (GeeTraversable* self);
GDestroyNotify (*get_g_destroy_func) (GeeTraversable* self);
gboolean (*foreach) (GeeTraversable* self, GeeForallFunc f, void* f_target);
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);
gpointer (*fold) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
GeeIterator* (*map) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeMapFunc f, void* f_target);
GeeIterator* (*scan) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
GeeIterator* (*filter) (GeeTraversable* self, GeePredicate pred, void* pred_target, GDestroyNotify pred_target_destroy_notify);
GeeIterator* (*chop) (GeeTraversable* self, gint offset, gint length);
GType (*get_element_type) (GeeTraversable* self);
GeeIterator* (*flat_map) (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFlatMapFunc f, void* f_target, GDestroyNotify f_target_destroy_notify);
GeeIterator** (*tee) (GeeTraversable* self, guint forks, int* result_length1);
gpointer (*first_match) (GeeTraversable* self, GeePredicate pred, void* pred_target, GDestroyNotify pred_target_destroy_notify);
gboolean (*any_match) (GeeTraversable* self, GeePredicate pred, void* pred_target, GDestroyNotify pred_target_destroy_notify);
gboolean (*all_match) (GeeTraversable* self, GeePredicate pred, void* pred_target, GDestroyNotify pred_target_destroy_notify);
gpointer (*max) (GeeTraversable* self, GCompareDataFunc compare, void* compare_target, GDestroyNotify compare_target_destroy_notify);
gpointer (*min) (GeeTraversable* self, GCompareDataFunc compare, void* compare_target, GDestroyNotify compare_target_destroy_notify);
GeeIterator* (*order_by) (GeeTraversable* self, GCompareDataFunc compare, void* compare_target, GDestroyNotify compare_target_destroy_notify);
};
struct _GeeIterableIface {
GTypeInterface parent_iface;
GType (*get_g_type) (GeeIterable* self);
GBoxedCopyFunc (*get_g_dup_func) (GeeIterable* self);
GDestroyNotify (*get_g_destroy_func) (GeeIterable* self);
GeeIterator* (*iterator) (GeeIterable* self);
};
struct _GeeCollectionIface {
GTypeInterface parent_iface;
GType (*get_g_type) (GeeCollection* self);
GBoxedCopyFunc (*get_g_dup_func) (GeeCollection* self);
GDestroyNotify (*get_g_destroy_func) (GeeCollection* self);
gboolean (*contains) (GeeCollection* self, gconstpointer item);
gboolean (*add) (GeeCollection* self, gconstpointer item);
gboolean (*remove) (GeeCollection* self, gconstpointer item);
void (*clear) (GeeCollection* self);
gboolean (*add_all) (GeeCollection* self, GeeCollection* collection);
gboolean (*contains_all) (GeeCollection* self, GeeCollection* collection);
gboolean (*remove_all) (GeeCollection* self, GeeCollection* collection);
gboolean (*retain_all) (GeeCollection* self, GeeCollection* collection);
gpointer* (*to_array) (GeeCollection* self, int* result_length1);
gint (*get_size) (GeeCollection* self);
gboolean (*get_is_empty) (GeeCollection* self);
gboolean (*get_read_only) (GeeCollection* self);
GeeCollection* (*get_read_only_view) (GeeCollection* self);
gboolean (*add_all_array) (GeeCollection* self, gpointer* array, int array_length1);
gboolean (*contains_all_array) (GeeCollection* self, gpointer* array, int array_length1);
gboolean (*remove_all_array) (GeeCollection* self, gpointer* array, int array_length1);
gboolean (*add_all_iterator) (GeeCollection* self, GeeIterator* iter);
gboolean (*contains_all_iterator) (GeeCollection* self, GeeIterator* iter);
gboolean (*remove_all_iterator) (GeeCollection* self, GeeIterator* iter);
};
struct _Block5Data {
int _ref_count_;
GeeCollection* self;
gboolean changed;
};
struct _Block6Data {
int _ref_count_;
GeeCollection* self;
gboolean changed;
};
typedef guint (*GeeHashDataFunc) (gconstpointer v, void* user_data);
typedef gboolean (*GeeEqualDataFunc) (gconstpointer a, gconstpointer b, void* user_data);
struct _GeeSetIface {
GTypeInterface parent_iface;
GType (*get_g_type) (GeeSet* self);
GBoxedCopyFunc (*get_g_dup_func) (GeeSet* self);
GDestroyNotify (*get_g_destroy_func) (GeeSet* self);
GeeSet* (*get_read_only_view) (GeeSet* self);
};
GType gee_traversable_stream_get_type (void) G_GNUC_CONST;
gpointer gee_lazy_ref (gpointer instance);
void gee_lazy_unref (gpointer instance);
GParamSpec* gee_param_spec_lazy (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gee_value_set_lazy (GValue* value, gpointer v_object);
void gee_value_take_lazy (GValue* value, gpointer v_object);
gpointer gee_value_get_lazy (const GValue* value);
GType gee_lazy_get_type (void) G_GNUC_CONST;
GType gee_iterator_get_type (void) G_GNUC_CONST;
GType gee_traversable_get_type (void) G_GNUC_CONST;
GType gee_iterable_get_type (void) G_GNUC_CONST;
GType gee_collection_get_type (void) G_GNUC_CONST;
gboolean gee_collection_contains (GeeCollection* self, gconstpointer item);
gboolean gee_collection_add (GeeCollection* self, gconstpointer item);
gboolean gee_collection_remove (GeeCollection* self, gconstpointer item);
void gee_collection_clear (GeeCollection* self);
gboolean gee_collection_add_all (GeeCollection* self, GeeCollection* collection);
static gboolean gee_collection_real_add_all (GeeCollection* self, GeeCollection* collection);
gpointer gee_traversable_fold (GeeTraversable* self, GType a_type, GBoxedCopyFunc a_dup_func, GDestroyNotify a_destroy_func, GeeFoldFunc f, void* f_target, gpointer seed);
static gboolean __lambda34_ (GeeCollection* self, gpointer item, gboolean changed);
static gpointer ___lambda34__gee_fold_func (gpointer g, gpointer a, gpointer self);
gboolean gee_collection_contains_all (GeeCollection* self, GeeCollection* collection);
static gboolean gee_collection_real_contains_all (GeeCollection* self, GeeCollection* collection);
gboolean gee_traversable_foreach (GeeTraversable* self, GeeForallFunc f, void* f_target);
static gboolean __lambda35_ (GeeCollection* self, gpointer item);
static gboolean ___lambda35__gee_forall_func (gpointer g, gpointer self);
gboolean gee_collection_remove_all (GeeCollection* self, GeeCollection* collection);
static gboolean gee_collection_real_remove_all (GeeCollection* self, GeeCollection* collection);
static gboolean __lambda36_ (GeeCollection* self, gpointer item, gboolean changed);
static gpointer ___lambda36__gee_fold_func (gpointer g, gpointer a, gpointer self);
gboolean gee_collection_retain_all (GeeCollection* self, GeeCollection* collection);
static gboolean gee_collection_real_retain_all (GeeCollection* self, GeeCollection* collection);
GeeIterator* gee_iterable_iterator (GeeIterable* self);
gboolean gee_iterator_next (GeeIterator* self);
gpointer gee_iterator_get (GeeIterator* self);
void gee_iterator_remove (GeeIterator* self);
gpointer* gee_collection_to_array (GeeCollection* self, int* result_length1);
static gpointer* gee_collection_real_to_array (GeeCollection* self, int* result_length1);
static gboolean* gee_collection_to_bool_array (GeeCollection* coll, int* result_length1);
static gchar* gee_collection_to_char_array (GeeCollection* coll, int* result_length1);
static guchar* gee_collection_to_uchar_array (GeeCollection* coll, int* result_length1);
static gint* gee_collection_to_int_array (GeeCollection* coll, int* result_length1);
static guint* gee_collection_to_uint_array (GeeCollection* coll, int* result_length1);
static gint64** gee_collection_to_int64_array (GeeCollection* coll, int* result_length1);
static guint64** gee_collection_to_uint64_array (GeeCollection* coll, int* result_length1);
static glong* gee_collection_to_long_array (GeeCollection* coll, int* result_length1);
static gulong* gee_collection_to_ulong_array (GeeCollection* coll, int* result_length1);
static gfloat** gee_collection_to_float_array (GeeCollection* coll, int* result_length1);
static gdouble** gee_collection_to_double_array (GeeCollection* coll, int* result_length1);
gint gee_collection_get_size (GeeCollection* self);
gboolean gee_collection_add_all_array (GeeCollection* self, gpointer* array, int array_length1);
static gboolean gee_collection_real_add_all_array (GeeCollection* self, gpointer* array, int array_length1);
static gboolean gee_collection_add_all_bool_array (GeeCollection* coll, gboolean* arr, int arr_length1);
static gboolean gee_collection_add_all_char_array (GeeCollection* coll, gchar* arr, int arr_length1);
static gboolean gee_collection_add_all_uchar_array (GeeCollection* coll, guchar* arr, int arr_length1);
static gboolean gee_collection_add_all_int_array (GeeCollection* coll, gint* arr, int arr_length1);
static gboolean gee_collection_add_all_uint_array (GeeCollection* coll, guint* arr, int arr_length1);
static gboolean gee_collection_add_all_int64_array (GeeCollection* coll, gint64** arr, int arr_length1);
static gboolean gee_collection_add_all_uint64_array (GeeCollection* coll, guint64** arr, int arr_length1);
static gboolean gee_collection_add_all_long_array (GeeCollection* coll, glong* arr, int arr_length1);
static gboolean gee_collection_add_all_ulong_array (GeeCollection* coll, gulong* arr, int arr_length1);
static gboolean gee_collection_add_all_float_array (GeeCollection* coll, gfloat** arr, int arr_length1);
static gboolean gee_collection_add_all_double_array (GeeCollection* coll, gdouble** arr, int arr_length1);
gboolean gee_collection_contains_all_array (GeeCollection* self, gpointer* array, int array_length1);
static gboolean gee_collection_real_contains_all_array (GeeCollection* self, gpointer* array, int array_length1);
static gboolean gee_collection_contains_all_bool_array (GeeCollection* coll, gboolean* arr, int arr_length1);
static gboolean gee_collection_contains_all_char_array (GeeCollection* coll, gchar* arr, int arr_length1);
static gboolean gee_collection_contains_all_uchar_array (GeeCollection* coll, guchar* arr, int arr_length1);
static gboolean gee_collection_contains_all_int_array (GeeCollection* coll, gint* arr, int arr_length1);
static gboolean gee_collection_contains_all_uint_array (GeeCollection* coll, guint* arr, int arr_length1);
static gboolean gee_collection_contains_all_int64_array (GeeCollection* coll, gint64** arr, int arr_length1);
static gboolean gee_collection_contains_all_uint64_array (GeeCollection* coll, guint64** arr, int arr_length1);
static gboolean gee_collection_contains_all_long_array (GeeCollection* coll, glong* arr, int arr_length1);
static gboolean gee_collection_contains_all_ulong_array (GeeCollection* coll, gulong* arr, int arr_length1);
static gboolean gee_collection_contains_all_float_array (GeeCollection* coll, gfloat** arr, int arr_length1);
static gboolean gee_collection_contains_all_double_array (GeeCollection* coll, gdouble** arr, int arr_length1);
gboolean gee_collection_remove_all_array (GeeCollection* self, gpointer* array, int array_length1);
static gboolean gee_collection_real_remove_all_array (GeeCollection* self, gpointer* array, int array_length1);
static gboolean gee_collection_remove_all_bool_array (GeeCollection* coll, gboolean* arr, int arr_length1);
static gboolean gee_collection_remove_all_char_array (GeeCollection* coll, gchar* arr, int arr_length1);
static gboolean gee_collection_remove_all_uchar_array (GeeCollection* coll, guchar* arr, int arr_length1);
static gboolean gee_collection_remove_all_int_array (GeeCollection* coll, gint* arr, int arr_length1);
static gboolean gee_collection_remove_all_uint_array (GeeCollection* coll, guint* arr, int arr_length1);
static gboolean gee_collection_remove_all_int64_array (GeeCollection* coll, gint64** arr, int arr_length1);
static gboolean gee_collection_remove_all_uint64_array (GeeCollection* coll, guint64** arr, int arr_length1);
static gboolean gee_collection_remove_all_long_array (GeeCollection* coll, glong* arr, int arr_length1);
static gboolean gee_collection_remove_all_ulong_array (GeeCollection* coll, gulong* arr, int arr_length1);
static gboolean gee_collection_remove_all_float_array (GeeCollection* coll, gfloat** arr, int arr_length1);
static gboolean gee_collection_remove_all_double_array (GeeCollection* coll, gdouble** arr, int arr_length1);
gboolean gee_collection_add_all_iterator (GeeCollection* self, GeeIterator* iter);
static gboolean gee_collection_real_add_all_iterator (GeeCollection* self, GeeIterator* iter);
static Block5Data* block5_data_ref (Block5Data* _data5_);
static void block5_data_unref (void * _userdata_);
static gboolean __lambda37_ (Block5Data* _data5_, gpointer val);
static gboolean ___lambda37__gee_forall_func (gpointer g, gpointer self);
gboolean gee_collection_contains_all_iterator (GeeCollection* self, GeeIterator* iter);
static gboolean gee_collection_real_contains_all_iterator (GeeCollection* self, GeeIterator* iter);
static gboolean __lambda38_ (GeeCollection* self, gpointer val);
static gboolean ___lambda38__gee_forall_func (gpointer g, gpointer self);
gboolean gee_collection_remove_all_iterator (GeeCollection* self, GeeIterator* iter);
static gboolean gee_collection_real_remove_all_iterator (GeeCollection* self, GeeIterator* iter);
static Block6Data* block6_data_ref (Block6Data* _data6_);
static void block6_data_unref (void * _userdata_);
static gboolean __lambda39_ (Block6Data* _data6_, gpointer val);
static gboolean ___lambda39__gee_forall_func (gpointer g, gpointer self);
GeeCollection* gee_collection_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func);
GeeHashSet* gee_hash_set_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
GeeHashSet* gee_hash_set_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify);
GType gee_abstract_collection_get_type (void) G_GNUC_CONST;
GType gee_abstract_set_get_type (void) G_GNUC_CONST;
GType gee_hash_set_get_type (void) G_GNUC_CONST;
GType gee_set_get_type (void) G_GNUC_CONST;
GeeSet* gee_abstract_set_get_read_only_view (GeeAbstractSet* self);
gboolean gee_collection_get_is_empty (GeeCollection* self);
gboolean gee_collection_get_read_only (GeeCollection* self);
GeeCollection* gee_collection_get_read_only_view (GeeCollection* self);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
/**
* Determines whether this collection contains the specified item.
*
* @param item the item to locate in the collection
*
* @return ``true`` if item is found, ``false`` otherwise
*/
gboolean gee_collection_contains (GeeCollection* self, gconstpointer item) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->contains (self, item);
}
/**
* Adds an item to this collection. Must not be called on read-only
* collections.
*
* @param item the item to add to the collection
*
* @return ``true`` if the collection has been changed, ``false`` otherwise
*/
gboolean gee_collection_add (GeeCollection* self, gconstpointer item) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->add (self, item);
}
/**
* Removes the first occurence of an item from this collection. Must not
* be called on read-only collections.
*
* @param item the item to remove from the collection
*
* @return ``true`` if the collection has been changed, ``false`` otherwise
*/
gboolean gee_collection_remove (GeeCollection* self, gconstpointer item) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->remove (self, item);
}
/**
* Removes all items from this collection. Must not be called on
* read-only collections.
*/
void gee_collection_clear (GeeCollection* self) {
g_return_if_fail (self != NULL);
GEE_COLLECTION_GET_INTERFACE (self)->clear (self);
}
/**
* Adds all items in the input collection to this collection.
*
* @param collection the collection which items will be added to this
* collection.
*
* @return ``true`` if the collection has been changed, ``false`` otherwise
*/
static gboolean __lambda34_ (GeeCollection* self, gpointer item, gboolean changed) {
gboolean result = FALSE;
gboolean _tmp0_;
gconstpointer _tmp1_;
gboolean _tmp2_;
_tmp0_ = changed;
_tmp1_ = item;
_tmp2_ = gee_collection_add (self, _tmp1_);
result = _tmp0_ | _tmp2_;
((item == NULL) || (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) == NULL)) ? NULL : (item = (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) (item), NULL));
return result;
}
static gpointer ___lambda34__gee_fold_func (gpointer g, gpointer a, gpointer self) {
gpointer result;
result = (gpointer) ((gintptr) __lambda34_ ((GeeCollection*) self, g, (gboolean) ((gintptr) a)));
return result;
}
static gboolean gee_collection_real_add_all (GeeCollection* self, GeeCollection* collection) {
gboolean result = FALSE;
GeeCollection* _tmp0_;
gpointer _tmp1_;
g_return_val_if_fail (collection != NULL, FALSE);
_tmp0_ = collection;
_tmp1_ = gee_traversable_fold ((GeeTraversable*) _tmp0_, G_TYPE_BOOLEAN, NULL, NULL, ___lambda34__gee_fold_func, self, (gpointer) ((gintptr) FALSE));
result = (gboolean) ((gintptr) _tmp1_);
return result;
}
gboolean gee_collection_add_all (GeeCollection* self, GeeCollection* collection) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->add_all (self, collection);
}
/**
* Returns ``true`` it this collection contains all items as the input
* collection.
*
* @param collection the collection which items will be compared with
* this collection.
*
* @return ``true`` if the collection has been changed, ``false`` otherwise
*/
static gboolean __lambda35_ (GeeCollection* self, gpointer item) {
gboolean result = FALSE;
gconstpointer _tmp0_;
gboolean _tmp1_;
_tmp0_ = item;
_tmp1_ = gee_collection_contains (self, _tmp0_);
result = _tmp1_;
((item == NULL) || (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) == NULL)) ? NULL : (item = (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) (item), NULL));
return result;
}
static gboolean ___lambda35__gee_forall_func (gpointer g, gpointer self) {
gboolean result;
result = __lambda35_ ((GeeCollection*) self, g);
return result;
}
static gboolean gee_collection_real_contains_all (GeeCollection* self, GeeCollection* collection) {
gboolean result = FALSE;
GeeCollection* _tmp0_;
gboolean _tmp1_;
g_return_val_if_fail (collection != NULL, FALSE);
_tmp0_ = collection;
_tmp1_ = gee_traversable_foreach ((GeeTraversable*) _tmp0_, ___lambda35__gee_forall_func, self);
result = _tmp1_;
return result;
}
gboolean gee_collection_contains_all (GeeCollection* self, GeeCollection* collection) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->contains_all (self, collection);
}
/**
* Removes the subset of items in this collection corresponding to the
* elments in the input collection. If there is several occurrences of
* the same value in this collection they are decremented of the number
* of occurrences in the input collection.
*
* @param collection the collection which items will be compared with
* this collection.
*
* @return ``true`` if the collection has been changed, ``false`` otherwise
*/
static gboolean __lambda36_ (GeeCollection* self, gpointer item, gboolean changed) {
gboolean result = FALSE;
gboolean _tmp0_;
gconstpointer _tmp1_;
gboolean _tmp2_;
_tmp0_ = changed;
_tmp1_ = item;
_tmp2_ = gee_collection_remove (self, _tmp1_);
result = _tmp0_ | _tmp2_;
((item == NULL) || (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) == NULL)) ? NULL : (item = (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) (item), NULL));
return result;
}
static gpointer ___lambda36__gee_fold_func (gpointer g, gpointer a, gpointer self) {
gpointer result;
result = (gpointer) ((gintptr) __lambda36_ ((GeeCollection*) self, g, (gboolean) ((gintptr) a)));
return result;
}
static gboolean gee_collection_real_remove_all (GeeCollection* self, GeeCollection* collection) {
gboolean result = FALSE;
GeeCollection* _tmp0_;
gpointer _tmp1_;
g_return_val_if_fail (collection != NULL, FALSE);
_tmp0_ = collection;
_tmp1_ = gee_traversable_fold ((GeeTraversable*) _tmp0_, G_TYPE_BOOLEAN, NULL, NULL, ___lambda36__gee_fold_func, self, (gpointer) ((gintptr) FALSE));
result = (gboolean) ((gintptr) _tmp1_);
return result;
}
gboolean gee_collection_remove_all (GeeCollection* self, GeeCollection* collection) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->remove_all (self, collection);
}
/**
* Removes all items in this collection that are not contained in the input
* collection. In other words all common items of both collections are
* retained in this collection.
*
* @param collection the collection which items will be compared with
* this collection.
*
* @return ``true`` if the collection has been changed, ``false`` otherwise
*/
static gboolean gee_collection_real_retain_all (GeeCollection* self, GeeCollection* collection) {
gboolean result = FALSE;
gboolean changed = FALSE;
g_return_val_if_fail (collection != NULL, FALSE);
changed = FALSE;
{
GeeIterator* iter = NULL;
GeeIterator* _tmp0_;
_tmp0_ = gee_iterable_iterator ((GeeIterable*) self);
iter = _tmp0_;
{
gboolean _tmp1_ = FALSE;
_tmp1_ = TRUE;
while (TRUE) {
GeeIterator* _tmp2_;
gboolean _tmp3_;
gpointer item = NULL;
GeeIterator* _tmp4_;
gpointer _tmp5_;
GeeCollection* _tmp6_;
gconstpointer _tmp7_;
gboolean _tmp8_;
if (!_tmp1_) {
}
_tmp1_ = FALSE;
_tmp2_ = iter;
_tmp3_ = gee_iterator_next (_tmp2_);
if (!_tmp3_) {
break;
}
_tmp4_ = iter;
_tmp5_ = gee_iterator_get (_tmp4_);
item = _tmp5_;
_tmp6_ = collection;
_tmp7_ = item;
_tmp8_ = gee_collection_contains (_tmp6_, _tmp7_);
if (!_tmp8_) {
GeeIterator* _tmp9_;
_tmp9_ = iter;
gee_iterator_remove (_tmp9_);
changed = TRUE;
}
((item == NULL) || (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) == NULL)) ? NULL : (item = (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) (item), NULL));
}
}
_g_object_unref0 (iter);
}
result = changed;
return result;
}
gboolean gee_collection_retain_all (GeeCollection* self, GeeCollection* collection) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->retain_all (self, collection);
}
/**
* Returns an array containing all of items from this collection.
*
* @return an array containing all of items from this collection
*/
static gpointer* gee_collection_real_to_array (GeeCollection* self, int* result_length1) {
gpointer* result = NULL;
GType t = 0UL;
GType _tmp0_;
t = GEE_COLLECTION_GET_INTERFACE (self)->get_g_type (self);
_tmp0_ = t;
if (_tmp0_ == G_TYPE_BOOLEAN) {
gint _tmp1_;
gboolean* _tmp2_;
gpointer* _tmp3_;
gint _tmp3__length1;
_tmp2_ = gee_collection_to_bool_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), &_tmp1_);
_tmp3_ = (gpointer*) _tmp2_;
_tmp3__length1 = _tmp1_;
if (result_length1) {
*result_length1 = _tmp3__length1;
}
result = _tmp3_;
return result;
} else {
GType _tmp4_;
_tmp4_ = t;
if (_tmp4_ == G_TYPE_CHAR) {
gint _tmp5_;
gchar* _tmp6_;
gpointer* _tmp7_;
gint _tmp7__length1;
_tmp6_ = gee_collection_to_char_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), &_tmp5_);
_tmp7_ = (gpointer*) _tmp6_;
_tmp7__length1 = _tmp5_;
if (result_length1) {
*result_length1 = _tmp7__length1;
}
result = _tmp7_;
return result;
} else {
GType _tmp8_;
_tmp8_ = t;
if (_tmp8_ == G_TYPE_UCHAR) {
gint _tmp9_;
guchar* _tmp10_;
gpointer* _tmp11_;
gint _tmp11__length1;
_tmp10_ = gee_collection_to_uchar_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), &_tmp9_);
_tmp11_ = (gpointer*) _tmp10_;
_tmp11__length1 = _tmp9_;
if (result_length1) {
*result_length1 = _tmp11__length1;
}
result = _tmp11_;
return result;
} else {
GType _tmp12_;
_tmp12_ = t;
if (_tmp12_ == G_TYPE_INT) {
gint _tmp13_;
gint* _tmp14_;
gpointer* _tmp15_;
gint _tmp15__length1;
_tmp14_ = gee_collection_to_int_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), &_tmp13_);
_tmp15_ = (gpointer*) _tmp14_;
_tmp15__length1 = _tmp13_;
if (result_length1) {
*result_length1 = _tmp15__length1;
}
result = _tmp15_;
return result;
} else {
GType _tmp16_;
_tmp16_ = t;
if (_tmp16_ == G_TYPE_UINT) {
gint _tmp17_;
guint* _tmp18_;
gpointer* _tmp19_;
gint _tmp19__length1;
_tmp18_ = gee_collection_to_uint_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), &_tmp17_);
_tmp19_ = (gpointer*) _tmp18_;
_tmp19__length1 = _tmp17_;
if (result_length1) {
*result_length1 = _tmp19__length1;
}
result = _tmp19_;
return result;
} else {
GType _tmp20_;
_tmp20_ = t;
if (_tmp20_ == G_TYPE_INT64) {
gint _tmp21_;
gint64** _tmp22_;
gpointer* _tmp23_;
gint _tmp23__length1;
_tmp22_ = gee_collection_to_int64_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), &_tmp21_);
_tmp23_ = (gpointer*) _tmp22_;
_tmp23__length1 = _tmp21_;
if (result_length1) {
*result_length1 = _tmp23__length1;
}
result = _tmp23_;
return result;
} else {
GType _tmp24_;
_tmp24_ = t;
if (_tmp24_ == G_TYPE_UINT64) {
gint _tmp25_;
guint64** _tmp26_;
gpointer* _tmp27_;
gint _tmp27__length1;
_tmp26_ = gee_collection_to_uint64_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), &_tmp25_);
_tmp27_ = (gpointer*) _tmp26_;
_tmp27__length1 = _tmp25_;
if (result_length1) {
*result_length1 = _tmp27__length1;
}
result = _tmp27_;
return result;
} else {
GType _tmp28_;
_tmp28_ = t;
if (_tmp28_ == G_TYPE_LONG) {
gint _tmp29_;
glong* _tmp30_;
gpointer* _tmp31_;
gint _tmp31__length1;
_tmp30_ = gee_collection_to_long_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), &_tmp29_);
_tmp31_ = (gpointer*) _tmp30_;
_tmp31__length1 = _tmp29_;
if (result_length1) {
*result_length1 = _tmp31__length1;
}
result = _tmp31_;
return result;
} else {
GType _tmp32_;
_tmp32_ = t;
if (_tmp32_ == G_TYPE_ULONG) {
gint _tmp33_;
gulong* _tmp34_;
gpointer* _tmp35_;
gint _tmp35__length1;
_tmp34_ = gee_collection_to_ulong_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), &_tmp33_);
_tmp35_ = (gpointer*) _tmp34_;
_tmp35__length1 = _tmp33_;
if (result_length1) {
*result_length1 = _tmp35__length1;
}
result = _tmp35_;
return result;
} else {
GType _tmp36_;
_tmp36_ = t;
if (_tmp36_ == G_TYPE_FLOAT) {
gint _tmp37_;
gfloat** _tmp38_;
gpointer* _tmp39_;
gint _tmp39__length1;
_tmp38_ = gee_collection_to_float_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), &_tmp37_);
_tmp39_ = (gpointer*) _tmp38_;
_tmp39__length1 = _tmp37_;
if (result_length1) {
*result_length1 = _tmp39__length1;
}
result = _tmp39_;
return result;
} else {
GType _tmp40_;
_tmp40_ = t;
if (_tmp40_ == G_TYPE_DOUBLE) {
gint _tmp41_;
gdouble** _tmp42_;
gpointer* _tmp43_;
gint _tmp43__length1;
_tmp42_ = gee_collection_to_double_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), &_tmp41_);
_tmp43_ = (gpointer*) _tmp42_;
_tmp43__length1 = _tmp41_;
if (result_length1) {
*result_length1 = _tmp43__length1;
}
result = _tmp43_;
return result;
} else {
gboolean _tmp44_ = FALSE;
GType _tmp45_;
gboolean _tmp46_;
_tmp45_ = t;
_tmp46_ = G_TYPE_IS_ENUM (_tmp45_);
if (_tmp46_) {
_tmp44_ = TRUE;
} else {
GType _tmp47_;
gboolean _tmp48_;
_tmp47_ = t;
_tmp48_ = G_TYPE_IS_FLAGS (_tmp47_);
_tmp44_ = _tmp48_;
}
if (_tmp44_) {
gint _tmp49_;
gint* _tmp50_;
gpointer* _tmp51_;
gint _tmp51__length1;
_tmp50_ = gee_collection_to_int_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), &_tmp49_);
_tmp51_ = (gpointer*) _tmp50_;
_tmp51__length1 = _tmp49_;
if (result_length1) {
*result_length1 = _tmp51__length1;
}
result = _tmp51_;
return result;
} else {
gpointer* array = NULL;
gint _tmp52_;
gint _tmp53_;
gpointer* _tmp54_;
gint array_length1;
gint _array_size_;
gint index = 0;
gpointer* _tmp64_;
gint _tmp64__length1;
_tmp52_ = gee_collection_get_size (self);
_tmp53_ = _tmp52_;
_tmp54_ = g_new0 (gpointer, _tmp53_);
array = _tmp54_;
array_length1 = _tmp53_;
_array_size_ = array_length1;
index = 0;
{
GeeIterator* _element_it = NULL;
GeeIterator* _tmp55_;
_tmp55_ = gee_iterable_iterator ((GeeIterable*) self);
_element_it = _tmp55_;
while (TRUE) {
GeeIterator* _tmp56_;
gboolean _tmp57_;
gpointer element = NULL;
GeeIterator* _tmp58_;
gpointer _tmp59_;
gpointer* _tmp60_;
gint _tmp60__length1;
gint _tmp61_;
gpointer _tmp62_;
gpointer _tmp63_;
_tmp56_ = _element_it;
_tmp57_ = gee_iterator_next (_tmp56_);
if (!_tmp57_) {
break;
}
_tmp58_ = _element_it;
_tmp59_ = gee_iterator_get (_tmp58_);
element = _tmp59_;
_tmp60_ = array;
_tmp60__length1 = array_length1;
_tmp61_ = index;
index = _tmp61_ + 1;
_tmp62_ = element;
element = NULL;
((_tmp60_[_tmp61_] == NULL) || (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) == NULL)) ? NULL : (_tmp60_[_tmp61_] = (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) (_tmp60_[_tmp61_]), NULL));
_tmp60_[_tmp61_] = _tmp62_;
_tmp63_ = _tmp60_[_tmp61_];
((element == NULL) || (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) == NULL)) ? NULL : (element = (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) (element), NULL));
}
_g_object_unref0 (_element_it);
}
_tmp64_ = array;
_tmp64__length1 = array_length1;
if (result_length1) {
*result_length1 = _tmp64__length1;
}
result = _tmp64_;
return result;
}
}
}
}
}
}
}
}
}
}
}
}
}
gpointer* gee_collection_to_array (GeeCollection* self, int* result_length1) {
g_return_val_if_fail (self != NULL, NULL);
return GEE_COLLECTION_GET_INTERFACE (self)->to_array (self, result_length1);
}
/**
* Adds all items in the input array to this collection.
*
* @param array the array which items will be added to this
* collection.
*
* @return ``true`` if the collection has been changed, ``false`` otherwise
*/
static gboolean gee_collection_real_add_all_array (GeeCollection* self, gpointer* array, int array_length1) {
gboolean result = FALSE;
GType t = 0UL;
GType _tmp0_;
t = GEE_COLLECTION_GET_INTERFACE (self)->get_g_type (self);
_tmp0_ = t;
if (_tmp0_ == G_TYPE_BOOLEAN) {
gpointer* _tmp1_;
gint _tmp1__length1;
gboolean _tmp2_;
_tmp1_ = array;
_tmp1__length1 = array_length1;
_tmp2_ = gee_collection_add_all_bool_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gboolean*) _tmp1_, _tmp1__length1);
result = _tmp2_;
return result;
} else {
GType _tmp3_;
_tmp3_ = t;
if (_tmp3_ == G_TYPE_CHAR) {
gpointer* _tmp4_;
gint _tmp4__length1;
gboolean _tmp5_;
_tmp4_ = array;
_tmp4__length1 = array_length1;
_tmp5_ = gee_collection_add_all_char_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gchar*) _tmp4_, _tmp4__length1);
result = _tmp5_;
return result;
} else {
GType _tmp6_;
_tmp6_ = t;
if (_tmp6_ == G_TYPE_UCHAR) {
gpointer* _tmp7_;
gint _tmp7__length1;
gboolean _tmp8_;
_tmp7_ = array;
_tmp7__length1 = array_length1;
_tmp8_ = gee_collection_add_all_uchar_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (guchar*) _tmp7_, _tmp7__length1);
result = _tmp8_;
return result;
} else {
GType _tmp9_;
_tmp9_ = t;
if (_tmp9_ == G_TYPE_INT) {
gpointer* _tmp10_;
gint _tmp10__length1;
gboolean _tmp11_;
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = gee_collection_add_all_int_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gint*) _tmp10_, _tmp10__length1);
result = _tmp11_;
return result;
} else {
GType _tmp12_;
_tmp12_ = t;
if (_tmp12_ == G_TYPE_UINT) {
gpointer* _tmp13_;
gint _tmp13__length1;
gboolean _tmp14_;
_tmp13_ = array;
_tmp13__length1 = array_length1;
_tmp14_ = gee_collection_add_all_uint_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (guint*) _tmp13_, _tmp13__length1);
result = _tmp14_;
return result;
} else {
GType _tmp15_;
_tmp15_ = t;
if (_tmp15_ == G_TYPE_INT64) {
gpointer* _tmp16_;
gint _tmp16__length1;
gboolean _tmp17_;
_tmp16_ = array;
_tmp16__length1 = array_length1;
_tmp17_ = gee_collection_add_all_int64_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gint64**) _tmp16_, _tmp16__length1);
result = _tmp17_;
return result;
} else {
GType _tmp18_;
_tmp18_ = t;
if (_tmp18_ == G_TYPE_UINT64) {
gpointer* _tmp19_;
gint _tmp19__length1;
gboolean _tmp20_;
_tmp19_ = array;
_tmp19__length1 = array_length1;
_tmp20_ = gee_collection_add_all_uint64_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (guint64**) _tmp19_, _tmp19__length1);
result = _tmp20_;
return result;
} else {
GType _tmp21_;
_tmp21_ = t;
if (_tmp21_ == G_TYPE_LONG) {
gpointer* _tmp22_;
gint _tmp22__length1;
gboolean _tmp23_;
_tmp22_ = array;
_tmp22__length1 = array_length1;
_tmp23_ = gee_collection_add_all_long_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (glong*) _tmp22_, _tmp22__length1);
result = _tmp23_;
return result;
} else {
GType _tmp24_;
_tmp24_ = t;
if (_tmp24_ == G_TYPE_ULONG) {
gpointer* _tmp25_;
gint _tmp25__length1;
gboolean _tmp26_;
_tmp25_ = array;
_tmp25__length1 = array_length1;
_tmp26_ = gee_collection_add_all_ulong_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gulong*) _tmp25_, _tmp25__length1);
result = _tmp26_;
return result;
} else {
GType _tmp27_;
_tmp27_ = t;
if (_tmp27_ == G_TYPE_FLOAT) {
gpointer* _tmp28_;
gint _tmp28__length1;
gboolean _tmp29_;
_tmp28_ = array;
_tmp28__length1 = array_length1;
_tmp29_ = gee_collection_add_all_float_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gfloat**) _tmp28_, _tmp28__length1);
result = _tmp29_;
return result;
} else {
GType _tmp30_;
_tmp30_ = t;
if (_tmp30_ == G_TYPE_DOUBLE) {
gpointer* _tmp31_;
gint _tmp31__length1;
gboolean _tmp32_;
_tmp31_ = array;
_tmp31__length1 = array_length1;
_tmp32_ = gee_collection_add_all_double_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gdouble**) _tmp31_, _tmp31__length1);
result = _tmp32_;
return result;
} else {
gboolean _tmp33_ = FALSE;
GType _tmp34_;
gboolean _tmp35_;
_tmp34_ = t;
_tmp35_ = G_TYPE_IS_ENUM (_tmp34_);
if (_tmp35_) {
_tmp33_ = TRUE;
} else {
GType _tmp36_;
gboolean _tmp37_;
_tmp36_ = t;
_tmp37_ = G_TYPE_IS_FLAGS (_tmp36_);
_tmp33_ = _tmp37_;
}
if (_tmp33_) {
gpointer* _tmp38_;
gint _tmp38__length1;
gboolean _tmp39_;
_tmp38_ = array;
_tmp38__length1 = array_length1;
_tmp39_ = gee_collection_add_all_int_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gint*) _tmp38_, _tmp38__length1);
result = _tmp39_;
return result;
} else {
gboolean changed = FALSE;
gpointer* _tmp40_;
gint _tmp40__length1;
changed = FALSE;
_tmp40_ = array;
_tmp40__length1 = array_length1;
{
gpointer* item_collection = NULL;
gint item_collection_length1 = 0;
gint _item_collection_size_ = 0;
gint item_it = 0;
item_collection = _tmp40_;
item_collection_length1 = _tmp40__length1;
for (item_it = 0; item_it < _tmp40__length1; item_it = item_it + 1) {
gconstpointer item = NULL;
item = item_collection[item_it];
{
gboolean _tmp41_;
gconstpointer _tmp42_;
gboolean _tmp43_;
_tmp41_ = changed;
_tmp42_ = item;
_tmp43_ = gee_collection_add (self, _tmp42_);
changed = _tmp41_ | _tmp43_;
}
}
}
result = changed;
return result;
}
}
}
}
}
}
}
}
}
}
}
}
}
gboolean gee_collection_add_all_array (GeeCollection* self, gpointer* array, int array_length1) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->add_all_array (self, array, array_length1);
}
/**
* Returns ``true`` it this collection contains all items as the input
* array.
*
* @param array the array which items will be compared with
* this collection.
*
* @return ``true`` if the collection has been changed, ``false`` otherwise
*/
static gboolean gee_collection_real_contains_all_array (GeeCollection* self, gpointer* array, int array_length1) {
gboolean result = FALSE;
GType t = 0UL;
GType _tmp0_;
t = GEE_COLLECTION_GET_INTERFACE (self)->get_g_type (self);
_tmp0_ = t;
if (_tmp0_ == G_TYPE_BOOLEAN) {
gpointer* _tmp1_;
gint _tmp1__length1;
gboolean _tmp2_;
_tmp1_ = array;
_tmp1__length1 = array_length1;
_tmp2_ = gee_collection_contains_all_bool_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gboolean*) _tmp1_, _tmp1__length1);
result = _tmp2_;
return result;
} else {
GType _tmp3_;
_tmp3_ = t;
if (_tmp3_ == G_TYPE_CHAR) {
gpointer* _tmp4_;
gint _tmp4__length1;
gboolean _tmp5_;
_tmp4_ = array;
_tmp4__length1 = array_length1;
_tmp5_ = gee_collection_contains_all_char_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gchar*) _tmp4_, _tmp4__length1);
result = _tmp5_;
return result;
} else {
GType _tmp6_;
_tmp6_ = t;
if (_tmp6_ == G_TYPE_UCHAR) {
gpointer* _tmp7_;
gint _tmp7__length1;
gboolean _tmp8_;
_tmp7_ = array;
_tmp7__length1 = array_length1;
_tmp8_ = gee_collection_contains_all_uchar_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (guchar*) _tmp7_, _tmp7__length1);
result = _tmp8_;
return result;
} else {
GType _tmp9_;
_tmp9_ = t;
if (_tmp9_ == G_TYPE_INT) {
gpointer* _tmp10_;
gint _tmp10__length1;
gboolean _tmp11_;
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = gee_collection_contains_all_int_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gint*) _tmp10_, _tmp10__length1);
result = _tmp11_;
return result;
} else {
GType _tmp12_;
_tmp12_ = t;
if (_tmp12_ == G_TYPE_UINT) {
gpointer* _tmp13_;
gint _tmp13__length1;
gboolean _tmp14_;
_tmp13_ = array;
_tmp13__length1 = array_length1;
_tmp14_ = gee_collection_contains_all_uint_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (guint*) _tmp13_, _tmp13__length1);
result = _tmp14_;
return result;
} else {
GType _tmp15_;
_tmp15_ = t;
if (_tmp15_ == G_TYPE_INT64) {
gpointer* _tmp16_;
gint _tmp16__length1;
gboolean _tmp17_;
_tmp16_ = array;
_tmp16__length1 = array_length1;
_tmp17_ = gee_collection_contains_all_int64_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gint64**) _tmp16_, _tmp16__length1);
result = _tmp17_;
return result;
} else {
GType _tmp18_;
_tmp18_ = t;
if (_tmp18_ == G_TYPE_UINT64) {
gpointer* _tmp19_;
gint _tmp19__length1;
gboolean _tmp20_;
_tmp19_ = array;
_tmp19__length1 = array_length1;
_tmp20_ = gee_collection_contains_all_uint64_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (guint64**) _tmp19_, _tmp19__length1);
result = _tmp20_;
return result;
} else {
GType _tmp21_;
_tmp21_ = t;
if (_tmp21_ == G_TYPE_LONG) {
gpointer* _tmp22_;
gint _tmp22__length1;
gboolean _tmp23_;
_tmp22_ = array;
_tmp22__length1 = array_length1;
_tmp23_ = gee_collection_contains_all_long_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (glong*) _tmp22_, _tmp22__length1);
result = _tmp23_;
return result;
} else {
GType _tmp24_;
_tmp24_ = t;
if (_tmp24_ == G_TYPE_ULONG) {
gpointer* _tmp25_;
gint _tmp25__length1;
gboolean _tmp26_;
_tmp25_ = array;
_tmp25__length1 = array_length1;
_tmp26_ = gee_collection_contains_all_ulong_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gulong*) _tmp25_, _tmp25__length1);
result = _tmp26_;
return result;
} else {
GType _tmp27_;
_tmp27_ = t;
if (_tmp27_ == G_TYPE_FLOAT) {
gpointer* _tmp28_;
gint _tmp28__length1;
gboolean _tmp29_;
_tmp28_ = array;
_tmp28__length1 = array_length1;
_tmp29_ = gee_collection_contains_all_float_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gfloat**) _tmp28_, _tmp28__length1);
result = _tmp29_;
return result;
} else {
GType _tmp30_;
_tmp30_ = t;
if (_tmp30_ == G_TYPE_DOUBLE) {
gpointer* _tmp31_;
gint _tmp31__length1;
gboolean _tmp32_;
_tmp31_ = array;
_tmp31__length1 = array_length1;
_tmp32_ = gee_collection_contains_all_double_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gdouble**) _tmp31_, _tmp31__length1);
result = _tmp32_;
return result;
} else {
gboolean _tmp33_ = FALSE;
GType _tmp34_;
gboolean _tmp35_;
_tmp34_ = t;
_tmp35_ = G_TYPE_IS_ENUM (_tmp34_);
if (_tmp35_) {
_tmp33_ = TRUE;
} else {
GType _tmp36_;
gboolean _tmp37_;
_tmp36_ = t;
_tmp37_ = G_TYPE_IS_FLAGS (_tmp36_);
_tmp33_ = _tmp37_;
}
if (_tmp33_) {
gpointer* _tmp38_;
gint _tmp38__length1;
gboolean _tmp39_;
_tmp38_ = array;
_tmp38__length1 = array_length1;
_tmp39_ = gee_collection_contains_all_int_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gint*) _tmp38_, _tmp38__length1);
result = _tmp39_;
return result;
} else {
gpointer* _tmp40_;
gint _tmp40__length1;
_tmp40_ = array;
_tmp40__length1 = array_length1;
{
gpointer* item_collection = NULL;
gint item_collection_length1 = 0;
gint _item_collection_size_ = 0;
gint item_it = 0;
item_collection = _tmp40_;
item_collection_length1 = _tmp40__length1;
for (item_it = 0; item_it < _tmp40__length1; item_it = item_it + 1) {
gconstpointer item = NULL;
item = item_collection[item_it];
{
gconstpointer _tmp41_;
gboolean _tmp42_;
_tmp41_ = item;
_tmp42_ = gee_collection_contains (self, _tmp41_);
if (!_tmp42_) {
result = FALSE;
return result;
}
}
}
}
result = TRUE;
return result;
}
}
}
}
}
}
}
}
}
}
}
}
}
gboolean gee_collection_contains_all_array (GeeCollection* self, gpointer* array, int array_length1) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->contains_all_array (self, array, array_length1);
}
/**
* Removes the subset of items in this collection corresponding to the
* elments in the input array. If there is several occurrences of
* the same value in this collection they are decremented of the number
* of occurrences in the input array.
*
* @param array the array which items will be compared with
* this collection.
*
* @return ``true`` if the collection has been changed, ``false`` otherwise
*/
static gboolean gee_collection_real_remove_all_array (GeeCollection* self, gpointer* array, int array_length1) {
gboolean result = FALSE;
GType t = 0UL;
GType _tmp0_;
t = GEE_COLLECTION_GET_INTERFACE (self)->get_g_type (self);
_tmp0_ = t;
if (_tmp0_ == G_TYPE_BOOLEAN) {
gpointer* _tmp1_;
gint _tmp1__length1;
gboolean _tmp2_;
_tmp1_ = array;
_tmp1__length1 = array_length1;
_tmp2_ = gee_collection_remove_all_bool_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gboolean*) _tmp1_, _tmp1__length1);
result = _tmp2_;
return result;
} else {
GType _tmp3_;
_tmp3_ = t;
if (_tmp3_ == G_TYPE_CHAR) {
gpointer* _tmp4_;
gint _tmp4__length1;
gboolean _tmp5_;
_tmp4_ = array;
_tmp4__length1 = array_length1;
_tmp5_ = gee_collection_remove_all_char_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gchar*) _tmp4_, _tmp4__length1);
result = _tmp5_;
return result;
} else {
GType _tmp6_;
_tmp6_ = t;
if (_tmp6_ == G_TYPE_UCHAR) {
gpointer* _tmp7_;
gint _tmp7__length1;
gboolean _tmp8_;
_tmp7_ = array;
_tmp7__length1 = array_length1;
_tmp8_ = gee_collection_remove_all_uchar_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (guchar*) _tmp7_, _tmp7__length1);
result = _tmp8_;
return result;
} else {
GType _tmp9_;
_tmp9_ = t;
if (_tmp9_ == G_TYPE_INT) {
gpointer* _tmp10_;
gint _tmp10__length1;
gboolean _tmp11_;
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = gee_collection_remove_all_int_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gint*) _tmp10_, _tmp10__length1);
result = _tmp11_;
return result;
} else {
GType _tmp12_;
_tmp12_ = t;
if (_tmp12_ == G_TYPE_UINT) {
gpointer* _tmp13_;
gint _tmp13__length1;
gboolean _tmp14_;
_tmp13_ = array;
_tmp13__length1 = array_length1;
_tmp14_ = gee_collection_remove_all_uint_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (guint*) _tmp13_, _tmp13__length1);
result = _tmp14_;
return result;
} else {
GType _tmp15_;
_tmp15_ = t;
if (_tmp15_ == G_TYPE_INT64) {
gpointer* _tmp16_;
gint _tmp16__length1;
gboolean _tmp17_;
_tmp16_ = array;
_tmp16__length1 = array_length1;
_tmp17_ = gee_collection_remove_all_int64_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gint64**) _tmp16_, _tmp16__length1);
result = _tmp17_;
return result;
} else {
GType _tmp18_;
_tmp18_ = t;
if (_tmp18_ == G_TYPE_UINT64) {
gpointer* _tmp19_;
gint _tmp19__length1;
gboolean _tmp20_;
_tmp19_ = array;
_tmp19__length1 = array_length1;
_tmp20_ = gee_collection_remove_all_uint64_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (guint64**) _tmp19_, _tmp19__length1);
result = _tmp20_;
return result;
} else {
GType _tmp21_;
_tmp21_ = t;
if (_tmp21_ == G_TYPE_LONG) {
gpointer* _tmp22_;
gint _tmp22__length1;
gboolean _tmp23_;
_tmp22_ = array;
_tmp22__length1 = array_length1;
_tmp23_ = gee_collection_remove_all_long_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (glong*) _tmp22_, _tmp22__length1);
result = _tmp23_;
return result;
} else {
GType _tmp24_;
_tmp24_ = t;
if (_tmp24_ == G_TYPE_ULONG) {
gpointer* _tmp25_;
gint _tmp25__length1;
gboolean _tmp26_;
_tmp25_ = array;
_tmp25__length1 = array_length1;
_tmp26_ = gee_collection_remove_all_ulong_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gulong*) _tmp25_, _tmp25__length1);
result = _tmp26_;
return result;
} else {
GType _tmp27_;
_tmp27_ = t;
if (_tmp27_ == G_TYPE_FLOAT) {
gpointer* _tmp28_;
gint _tmp28__length1;
gboolean _tmp29_;
_tmp28_ = array;
_tmp28__length1 = array_length1;
_tmp29_ = gee_collection_remove_all_float_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gfloat**) _tmp28_, _tmp28__length1);
result = _tmp29_;
return result;
} else {
GType _tmp30_;
_tmp30_ = t;
if (_tmp30_ == G_TYPE_DOUBLE) {
gpointer* _tmp31_;
gint _tmp31__length1;
gboolean _tmp32_;
_tmp31_ = array;
_tmp31__length1 = array_length1;
_tmp32_ = gee_collection_remove_all_double_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gdouble**) _tmp31_, _tmp31__length1);
result = _tmp32_;
return result;
} else {
gboolean _tmp33_ = FALSE;
GType _tmp34_;
gboolean _tmp35_;
_tmp34_ = t;
_tmp35_ = G_TYPE_IS_ENUM (_tmp34_);
if (_tmp35_) {
_tmp33_ = TRUE;
} else {
GType _tmp36_;
gboolean _tmp37_;
_tmp36_ = t;
_tmp37_ = G_TYPE_IS_FLAGS (_tmp36_);
_tmp33_ = _tmp37_;
}
if (_tmp33_) {
gpointer* _tmp38_;
gint _tmp38__length1;
gboolean _tmp39_;
_tmp38_ = array;
_tmp38__length1 = array_length1;
_tmp39_ = gee_collection_remove_all_int_array (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection), (gint*) _tmp38_, _tmp38__length1);
result = _tmp39_;
return result;
} else {
gboolean changed = FALSE;
gpointer* _tmp40_;
gint _tmp40__length1;
changed = FALSE;
_tmp40_ = array;
_tmp40__length1 = array_length1;
{
gpointer* item_collection = NULL;
gint item_collection_length1 = 0;
gint _item_collection_size_ = 0;
gint item_it = 0;
item_collection = _tmp40_;
item_collection_length1 = _tmp40__length1;
for (item_it = 0; item_it < _tmp40__length1; item_it = item_it + 1) {
gconstpointer item = NULL;
item = item_collection[item_it];
{
gboolean _tmp41_;
gconstpointer _tmp42_;
gboolean _tmp43_;
_tmp41_ = changed;
_tmp42_ = item;
_tmp43_ = gee_collection_remove (self, _tmp42_);
changed = _tmp41_ | _tmp43_;
}
}
}
result = changed;
return result;
}
}
}
}
}
}
}
}
}
}
}
}
}
gboolean gee_collection_remove_all_array (GeeCollection* self, gpointer* array, int array_length1) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->remove_all_array (self, array, array_length1);
}
static Block5Data* block5_data_ref (Block5Data* _data5_) {
g_atomic_int_inc (&_data5_->_ref_count_);
return _data5_;
}
static void block5_data_unref (void * _userdata_) {
Block5Data* _data5_;
_data5_ = (Block5Data*) _userdata_;
if (g_atomic_int_dec_and_test (&_data5_->_ref_count_)) {
GeeCollection* self;
self = _data5_->self;
_g_object_unref0 (self);
g_slice_free (Block5Data, _data5_);
}
}
static gboolean __lambda37_ (Block5Data* _data5_, gpointer val) {
GeeCollection* self;
gboolean result = FALSE;
gconstpointer _tmp0_;
gboolean _tmp1_;
self = _data5_->self;
_tmp0_ = val;
_tmp1_ = gee_collection_add (self, _tmp0_);
_data5_->changed = _data5_->changed | _tmp1_;
result = TRUE;
((val == NULL) || (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) == NULL)) ? NULL : (val = (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) (val), NULL));
return result;
}
static gboolean ___lambda37__gee_forall_func (gpointer g, gpointer self) {
gboolean result;
result = __lambda37_ (self, g);
return result;
}
static gboolean gee_collection_real_add_all_iterator (GeeCollection* self, GeeIterator* iter) {
gboolean result = FALSE;
Block5Data* _data5_;
GeeIterator* _tmp0_;
g_return_val_if_fail (iter != NULL, FALSE);
_data5_ = g_slice_new0 (Block5Data);
_data5_->_ref_count_ = 1;
_data5_->self = g_object_ref (self);
_data5_->changed = FALSE;
_tmp0_ = iter;
gee_traversable_foreach ((GeeTraversable*) _tmp0_, ___lambda37__gee_forall_func, _data5_);
result = _data5_->changed;
block5_data_unref (_data5_);
_data5_ = NULL;
return result;
}
gboolean gee_collection_add_all_iterator (GeeCollection* self, GeeIterator* iter) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->add_all_iterator (self, iter);
}
static gboolean __lambda38_ (GeeCollection* self, gpointer val) {
gboolean result = FALSE;
gconstpointer _tmp0_;
gboolean _tmp1_;
_tmp0_ = val;
_tmp1_ = gee_collection_contains (self, _tmp0_);
result = _tmp1_;
((val == NULL) || (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) == NULL)) ? NULL : (val = (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) (val), NULL));
return result;
}
static gboolean ___lambda38__gee_forall_func (gpointer g, gpointer self) {
gboolean result;
result = __lambda38_ ((GeeCollection*) self, g);
return result;
}
static gboolean gee_collection_real_contains_all_iterator (GeeCollection* self, GeeIterator* iter) {
gboolean result = FALSE;
GeeIterator* _tmp0_;
gboolean _tmp1_;
g_return_val_if_fail (iter != NULL, FALSE);
_tmp0_ = iter;
_tmp1_ = gee_traversable_foreach ((GeeTraversable*) _tmp0_, ___lambda38__gee_forall_func, self);
result = _tmp1_;
return result;
}
gboolean gee_collection_contains_all_iterator (GeeCollection* self, GeeIterator* iter) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->contains_all_iterator (self, iter);
}
static Block6Data* block6_data_ref (Block6Data* _data6_) {
g_atomic_int_inc (&_data6_->_ref_count_);
return _data6_;
}
static void block6_data_unref (void * _userdata_) {
Block6Data* _data6_;
_data6_ = (Block6Data*) _userdata_;
if (g_atomic_int_dec_and_test (&_data6_->_ref_count_)) {
GeeCollection* self;
self = _data6_->self;
_g_object_unref0 (self);
g_slice_free (Block6Data, _data6_);
}
}
static gboolean __lambda39_ (Block6Data* _data6_, gpointer val) {
GeeCollection* self;
gboolean result = FALSE;
gconstpointer _tmp0_;
gboolean _tmp1_;
self = _data6_->self;
_tmp0_ = val;
_tmp1_ = gee_collection_remove (self, _tmp0_);
_data6_->changed = _data6_->changed | _tmp1_;
result = TRUE;
((val == NULL) || (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) == NULL)) ? NULL : (val = (GEE_COLLECTION_GET_INTERFACE (self)->get_g_destroy_func (self) (val), NULL));
return result;
}
static gboolean ___lambda39__gee_forall_func (gpointer g, gpointer self) {
gboolean result;
result = __lambda39_ (self, g);
return result;
}
static gboolean gee_collection_real_remove_all_iterator (GeeCollection* self, GeeIterator* iter) {
gboolean result = FALSE;
Block6Data* _data6_;
GeeIterator* _tmp0_;
gboolean _tmp1_;
g_return_val_if_fail (iter != NULL, FALSE);
_data6_ = g_slice_new0 (Block6Data);
_data6_->_ref_count_ = 1;
_data6_->self = g_object_ref (self);
_data6_->changed = FALSE;
_tmp0_ = iter;
_tmp1_ = gee_traversable_foreach ((GeeTraversable*) _tmp0_, ___lambda39__gee_forall_func, _data6_);
result = _tmp1_;
block6_data_unref (_data6_);
_data6_ = NULL;
return result;
}
gboolean gee_collection_remove_all_iterator (GeeCollection* self, GeeIterator* iter) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->remove_all_iterator (self, iter);
}
/**
* Returns an immutable empty collection.
*
* @return an immutable empty collection
*/
GeeCollection* gee_collection_empty (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func) {
GeeCollection* result = NULL;
GeeHashSet* _tmp0_;
GeeHashSet* _tmp1_;
GeeSet* _tmp2_;
GeeSet* _tmp3_;
GeeCollection* _tmp4_;
_tmp0_ = gee_hash_set_new (g_type, (GBoxedCopyFunc) g_dup_func, (GDestroyNotify) g_destroy_func, NULL, NULL, NULL, NULL, NULL, NULL);
_tmp1_ = _tmp0_;
_tmp2_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp1_);
_tmp3_ = _tmp2_;
_tmp4_ = (GeeCollection*) _tmp3_;
_g_object_unref0 (_tmp1_);
result = _tmp4_;
return result;
}
static gboolean* gee_collection_to_bool_array (GeeCollection* coll, int* result_length1) {
gboolean* result = NULL;
gboolean* array = NULL;
GeeCollection* _tmp0_;
gint _tmp1_;
gint _tmp2_;
gboolean* _tmp3_;
gint array_length1;
gint _array_size_;
gint index = 0;
gboolean* _tmp14_;
gint _tmp14__length1;
g_return_val_if_fail (coll != NULL, NULL);
_tmp0_ = coll;
_tmp1_ = gee_collection_get_size (_tmp0_);
_tmp2_ = _tmp1_;
_tmp3_ = g_new0 (gboolean, _tmp2_);
array = _tmp3_;
array_length1 = _tmp2_;
_array_size_ = array_length1;
index = 0;
{
GeeIterator* _element_it = NULL;
GeeCollection* _tmp4_;
GeeIterator* _tmp5_;
_tmp4_ = coll;
_tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
_element_it = _tmp5_;
while (TRUE) {
GeeIterator* _tmp6_;
gboolean _tmp7_;
gboolean element = FALSE;
GeeIterator* _tmp8_;
gpointer _tmp9_;
gboolean* _tmp10_;
gint _tmp10__length1;
gint _tmp11_;
gboolean _tmp12_;
gboolean _tmp13_;
_tmp6_ = _element_it;
_tmp7_ = gee_iterator_next (_tmp6_);
if (!_tmp7_) {
break;
}
_tmp8_ = _element_it;
_tmp9_ = gee_iterator_get (_tmp8_);
element = (gboolean) ((gintptr) _tmp9_);
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = index;
index = _tmp11_ + 1;
_tmp12_ = element;
_tmp10_[_tmp11_] = _tmp12_;
_tmp13_ = _tmp10_[_tmp11_];
}
_g_object_unref0 (_element_it);
}
_tmp14_ = array;
_tmp14__length1 = array_length1;
if (result_length1) {
*result_length1 = _tmp14__length1;
}
result = _tmp14_;
return result;
}
static gchar* gee_collection_to_char_array (GeeCollection* coll, int* result_length1) {
gchar* result = NULL;
gchar* array = NULL;
GeeCollection* _tmp0_;
gint _tmp1_;
gint _tmp2_;
gchar* _tmp3_;
gint array_length1;
gint _array_size_;
gint index = 0;
gchar* _tmp14_;
gint _tmp14__length1;
g_return_val_if_fail (coll != NULL, NULL);
_tmp0_ = coll;
_tmp1_ = gee_collection_get_size (_tmp0_);
_tmp2_ = _tmp1_;
_tmp3_ = g_new0 (gchar, _tmp2_);
array = _tmp3_;
array_length1 = _tmp2_;
_array_size_ = array_length1;
index = 0;
{
GeeIterator* _element_it = NULL;
GeeCollection* _tmp4_;
GeeIterator* _tmp5_;
_tmp4_ = coll;
_tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
_element_it = _tmp5_;
while (TRUE) {
GeeIterator* _tmp6_;
gboolean _tmp7_;
gchar element = '\0';
GeeIterator* _tmp8_;
gpointer _tmp9_;
gchar* _tmp10_;
gint _tmp10__length1;
gint _tmp11_;
gchar _tmp12_;
gchar _tmp13_;
_tmp6_ = _element_it;
_tmp7_ = gee_iterator_next (_tmp6_);
if (!_tmp7_) {
break;
}
_tmp8_ = _element_it;
_tmp9_ = gee_iterator_get (_tmp8_);
element = (gchar) ((gintptr) _tmp9_);
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = index;
index = _tmp11_ + 1;
_tmp12_ = element;
_tmp10_[_tmp11_] = _tmp12_;
_tmp13_ = _tmp10_[_tmp11_];
}
_g_object_unref0 (_element_it);
}
_tmp14_ = array;
_tmp14__length1 = array_length1;
if (result_length1) {
*result_length1 = _tmp14__length1;
}
result = _tmp14_;
return result;
}
static guchar* gee_collection_to_uchar_array (GeeCollection* coll, int* result_length1) {
guchar* result = NULL;
guchar* array = NULL;
GeeCollection* _tmp0_;
gint _tmp1_;
gint _tmp2_;
guchar* _tmp3_;
gint array_length1;
gint _array_size_;
gint index = 0;
guchar* _tmp14_;
gint _tmp14__length1;
g_return_val_if_fail (coll != NULL, NULL);
_tmp0_ = coll;
_tmp1_ = gee_collection_get_size (_tmp0_);
_tmp2_ = _tmp1_;
_tmp3_ = g_new0 (guchar, _tmp2_);
array = _tmp3_;
array_length1 = _tmp2_;
_array_size_ = array_length1;
index = 0;
{
GeeIterator* _element_it = NULL;
GeeCollection* _tmp4_;
GeeIterator* _tmp5_;
_tmp4_ = coll;
_tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
_element_it = _tmp5_;
while (TRUE) {
GeeIterator* _tmp6_;
gboolean _tmp7_;
guchar element = '\0';
GeeIterator* _tmp8_;
gpointer _tmp9_;
guchar* _tmp10_;
gint _tmp10__length1;
gint _tmp11_;
guchar _tmp12_;
guchar _tmp13_;
_tmp6_ = _element_it;
_tmp7_ = gee_iterator_next (_tmp6_);
if (!_tmp7_) {
break;
}
_tmp8_ = _element_it;
_tmp9_ = gee_iterator_get (_tmp8_);
element = (guchar) ((guintptr) _tmp9_);
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = index;
index = _tmp11_ + 1;
_tmp12_ = element;
_tmp10_[_tmp11_] = _tmp12_;
_tmp13_ = _tmp10_[_tmp11_];
}
_g_object_unref0 (_element_it);
}
_tmp14_ = array;
_tmp14__length1 = array_length1;
if (result_length1) {
*result_length1 = _tmp14__length1;
}
result = _tmp14_;
return result;
}
static gint* gee_collection_to_int_array (GeeCollection* coll, int* result_length1) {
gint* result = NULL;
gint* array = NULL;
GeeCollection* _tmp0_;
gint _tmp1_;
gint _tmp2_;
gint* _tmp3_;
gint array_length1;
gint _array_size_;
gint index = 0;
gint* _tmp14_;
gint _tmp14__length1;
g_return_val_if_fail (coll != NULL, NULL);
_tmp0_ = coll;
_tmp1_ = gee_collection_get_size (_tmp0_);
_tmp2_ = _tmp1_;
_tmp3_ = g_new0 (gint, _tmp2_);
array = _tmp3_;
array_length1 = _tmp2_;
_array_size_ = array_length1;
index = 0;
{
GeeIterator* _element_it = NULL;
GeeCollection* _tmp4_;
GeeIterator* _tmp5_;
_tmp4_ = coll;
_tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
_element_it = _tmp5_;
while (TRUE) {
GeeIterator* _tmp6_;
gboolean _tmp7_;
gint element = 0;
GeeIterator* _tmp8_;
gpointer _tmp9_;
gint* _tmp10_;
gint _tmp10__length1;
gint _tmp11_;
gint _tmp12_;
gint _tmp13_;
_tmp6_ = _element_it;
_tmp7_ = gee_iterator_next (_tmp6_);
if (!_tmp7_) {
break;
}
_tmp8_ = _element_it;
_tmp9_ = gee_iterator_get (_tmp8_);
element = (gint) ((gintptr) _tmp9_);
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = index;
index = _tmp11_ + 1;
_tmp12_ = element;
_tmp10_[_tmp11_] = _tmp12_;
_tmp13_ = _tmp10_[_tmp11_];
}
_g_object_unref0 (_element_it);
}
_tmp14_ = array;
_tmp14__length1 = array_length1;
if (result_length1) {
*result_length1 = _tmp14__length1;
}
result = _tmp14_;
return result;
}
static guint* gee_collection_to_uint_array (GeeCollection* coll, int* result_length1) {
guint* result = NULL;
guint* array = NULL;
GeeCollection* _tmp0_;
gint _tmp1_;
gint _tmp2_;
guint* _tmp3_;
gint array_length1;
gint _array_size_;
gint index = 0;
guint* _tmp14_;
gint _tmp14__length1;
g_return_val_if_fail (coll != NULL, NULL);
_tmp0_ = coll;
_tmp1_ = gee_collection_get_size (_tmp0_);
_tmp2_ = _tmp1_;
_tmp3_ = g_new0 (guint, _tmp2_);
array = _tmp3_;
array_length1 = _tmp2_;
_array_size_ = array_length1;
index = 0;
{
GeeIterator* _element_it = NULL;
GeeCollection* _tmp4_;
GeeIterator* _tmp5_;
_tmp4_ = coll;
_tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
_element_it = _tmp5_;
while (TRUE) {
GeeIterator* _tmp6_;
gboolean _tmp7_;
guint element = 0U;
GeeIterator* _tmp8_;
gpointer _tmp9_;
guint* _tmp10_;
gint _tmp10__length1;
gint _tmp11_;
guint _tmp12_;
guint _tmp13_;
_tmp6_ = _element_it;
_tmp7_ = gee_iterator_next (_tmp6_);
if (!_tmp7_) {
break;
}
_tmp8_ = _element_it;
_tmp9_ = gee_iterator_get (_tmp8_);
element = (guint) ((guintptr) _tmp9_);
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = index;
index = _tmp11_ + 1;
_tmp12_ = element;
_tmp10_[_tmp11_] = _tmp12_;
_tmp13_ = _tmp10_[_tmp11_];
}
_g_object_unref0 (_element_it);
}
_tmp14_ = array;
_tmp14__length1 = array_length1;
if (result_length1) {
*result_length1 = _tmp14__length1;
}
result = _tmp14_;
return result;
}
static gint64** gee_collection_to_int64_array (GeeCollection* coll, int* result_length1) {
gint64** result = NULL;
gint64** array = NULL;
GeeCollection* _tmp0_;
gint _tmp1_;
gint _tmp2_;
gint64** _tmp3_;
gint array_length1;
gint _array_size_;
gint index = 0;
gint64** _tmp14_;
gint _tmp14__length1;
g_return_val_if_fail (coll != NULL, NULL);
_tmp0_ = coll;
_tmp1_ = gee_collection_get_size (_tmp0_);
_tmp2_ = _tmp1_;
_tmp3_ = g_new0 (gint64*, _tmp2_);
array = _tmp3_;
array_length1 = _tmp2_;
_array_size_ = array_length1;
index = 0;
{
GeeIterator* _element_it = NULL;
GeeCollection* _tmp4_;
GeeIterator* _tmp5_;
_tmp4_ = coll;
_tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
_element_it = _tmp5_;
while (TRUE) {
GeeIterator* _tmp6_;
gboolean _tmp7_;
gint64* element = NULL;
GeeIterator* _tmp8_;
gpointer _tmp9_;
gint64** _tmp10_;
gint _tmp10__length1;
gint _tmp11_;
gint64* _tmp12_;
gint64* _tmp13_;
_tmp6_ = _element_it;
_tmp7_ = gee_iterator_next (_tmp6_);
if (!_tmp7_) {
break;
}
_tmp8_ = _element_it;
_tmp9_ = gee_iterator_get (_tmp8_);
element = (gint64*) _tmp9_;
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = index;
index = _tmp11_ + 1;
_tmp12_ = element;
element = NULL;
_g_free0 (_tmp10_[_tmp11_]);
_tmp10_[_tmp11_] = _tmp12_;
_tmp13_ = _tmp10_[_tmp11_];
_g_free0 (element);
}
_g_object_unref0 (_element_it);
}
_tmp14_ = array;
_tmp14__length1 = array_length1;
if (result_length1) {
*result_length1 = _tmp14__length1;
}
result = _tmp14_;
return result;
}
static guint64** gee_collection_to_uint64_array (GeeCollection* coll, int* result_length1) {
guint64** result = NULL;
guint64** array = NULL;
GeeCollection* _tmp0_;
gint _tmp1_;
gint _tmp2_;
guint64** _tmp3_;
gint array_length1;
gint _array_size_;
gint index = 0;
guint64** _tmp14_;
gint _tmp14__length1;
g_return_val_if_fail (coll != NULL, NULL);
_tmp0_ = coll;
_tmp1_ = gee_collection_get_size (_tmp0_);
_tmp2_ = _tmp1_;
_tmp3_ = g_new0 (guint64*, _tmp2_);
array = _tmp3_;
array_length1 = _tmp2_;
_array_size_ = array_length1;
index = 0;
{
GeeIterator* _element_it = NULL;
GeeCollection* _tmp4_;
GeeIterator* _tmp5_;
_tmp4_ = coll;
_tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
_element_it = _tmp5_;
while (TRUE) {
GeeIterator* _tmp6_;
gboolean _tmp7_;
guint64* element = NULL;
GeeIterator* _tmp8_;
gpointer _tmp9_;
guint64** _tmp10_;
gint _tmp10__length1;
gint _tmp11_;
guint64* _tmp12_;
guint64* _tmp13_;
_tmp6_ = _element_it;
_tmp7_ = gee_iterator_next (_tmp6_);
if (!_tmp7_) {
break;
}
_tmp8_ = _element_it;
_tmp9_ = gee_iterator_get (_tmp8_);
element = (guint64*) _tmp9_;
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = index;
index = _tmp11_ + 1;
_tmp12_ = element;
element = NULL;
_g_free0 (_tmp10_[_tmp11_]);
_tmp10_[_tmp11_] = _tmp12_;
_tmp13_ = _tmp10_[_tmp11_];
_g_free0 (element);
}
_g_object_unref0 (_element_it);
}
_tmp14_ = array;
_tmp14__length1 = array_length1;
if (result_length1) {
*result_length1 = _tmp14__length1;
}
result = _tmp14_;
return result;
}
static glong* gee_collection_to_long_array (GeeCollection* coll, int* result_length1) {
glong* result = NULL;
glong* array = NULL;
GeeCollection* _tmp0_;
gint _tmp1_;
gint _tmp2_;
glong* _tmp3_;
gint array_length1;
gint _array_size_;
gint index = 0;
glong* _tmp14_;
gint _tmp14__length1;
g_return_val_if_fail (coll != NULL, NULL);
_tmp0_ = coll;
_tmp1_ = gee_collection_get_size (_tmp0_);
_tmp2_ = _tmp1_;
_tmp3_ = g_new0 (glong, _tmp2_);
array = _tmp3_;
array_length1 = _tmp2_;
_array_size_ = array_length1;
index = 0;
{
GeeIterator* _element_it = NULL;
GeeCollection* _tmp4_;
GeeIterator* _tmp5_;
_tmp4_ = coll;
_tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
_element_it = _tmp5_;
while (TRUE) {
GeeIterator* _tmp6_;
gboolean _tmp7_;
glong element = 0L;
GeeIterator* _tmp8_;
gpointer _tmp9_;
glong* _tmp10_;
gint _tmp10__length1;
gint _tmp11_;
glong _tmp12_;
glong _tmp13_;
_tmp6_ = _element_it;
_tmp7_ = gee_iterator_next (_tmp6_);
if (!_tmp7_) {
break;
}
_tmp8_ = _element_it;
_tmp9_ = gee_iterator_get (_tmp8_);
element = (glong) ((gintptr) _tmp9_);
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = index;
index = _tmp11_ + 1;
_tmp12_ = element;
_tmp10_[_tmp11_] = _tmp12_;
_tmp13_ = _tmp10_[_tmp11_];
}
_g_object_unref0 (_element_it);
}
_tmp14_ = array;
_tmp14__length1 = array_length1;
if (result_length1) {
*result_length1 = _tmp14__length1;
}
result = _tmp14_;
return result;
}
static gulong* gee_collection_to_ulong_array (GeeCollection* coll, int* result_length1) {
gulong* result = NULL;
gulong* array = NULL;
GeeCollection* _tmp0_;
gint _tmp1_;
gint _tmp2_;
gulong* _tmp3_;
gint array_length1;
gint _array_size_;
gint index = 0;
gulong* _tmp14_;
gint _tmp14__length1;
g_return_val_if_fail (coll != NULL, NULL);
_tmp0_ = coll;
_tmp1_ = gee_collection_get_size (_tmp0_);
_tmp2_ = _tmp1_;
_tmp3_ = g_new0 (gulong, _tmp2_);
array = _tmp3_;
array_length1 = _tmp2_;
_array_size_ = array_length1;
index = 0;
{
GeeIterator* _element_it = NULL;
GeeCollection* _tmp4_;
GeeIterator* _tmp5_;
_tmp4_ = coll;
_tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
_element_it = _tmp5_;
while (TRUE) {
GeeIterator* _tmp6_;
gboolean _tmp7_;
gulong element = 0UL;
GeeIterator* _tmp8_;
gpointer _tmp9_;
gulong* _tmp10_;
gint _tmp10__length1;
gint _tmp11_;
gulong _tmp12_;
gulong _tmp13_;
_tmp6_ = _element_it;
_tmp7_ = gee_iterator_next (_tmp6_);
if (!_tmp7_) {
break;
}
_tmp8_ = _element_it;
_tmp9_ = gee_iterator_get (_tmp8_);
element = (gulong) ((guintptr) _tmp9_);
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = index;
index = _tmp11_ + 1;
_tmp12_ = element;
_tmp10_[_tmp11_] = _tmp12_;
_tmp13_ = _tmp10_[_tmp11_];
}
_g_object_unref0 (_element_it);
}
_tmp14_ = array;
_tmp14__length1 = array_length1;
if (result_length1) {
*result_length1 = _tmp14__length1;
}
result = _tmp14_;
return result;
}
static gfloat** gee_collection_to_float_array (GeeCollection* coll, int* result_length1) {
gfloat** result = NULL;
gfloat** array = NULL;
GeeCollection* _tmp0_;
gint _tmp1_;
gint _tmp2_;
gfloat** _tmp3_;
gint array_length1;
gint _array_size_;
gint index = 0;
gfloat** _tmp14_;
gint _tmp14__length1;
g_return_val_if_fail (coll != NULL, NULL);
_tmp0_ = coll;
_tmp1_ = gee_collection_get_size (_tmp0_);
_tmp2_ = _tmp1_;
_tmp3_ = g_new0 (gfloat*, _tmp2_);
array = _tmp3_;
array_length1 = _tmp2_;
_array_size_ = array_length1;
index = 0;
{
GeeIterator* _element_it = NULL;
GeeCollection* _tmp4_;
GeeIterator* _tmp5_;
_tmp4_ = coll;
_tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
_element_it = _tmp5_;
while (TRUE) {
GeeIterator* _tmp6_;
gboolean _tmp7_;
gfloat* element = NULL;
GeeIterator* _tmp8_;
gpointer _tmp9_;
gfloat** _tmp10_;
gint _tmp10__length1;
gint _tmp11_;
gfloat* _tmp12_;
gfloat* _tmp13_;
_tmp6_ = _element_it;
_tmp7_ = gee_iterator_next (_tmp6_);
if (!_tmp7_) {
break;
}
_tmp8_ = _element_it;
_tmp9_ = gee_iterator_get (_tmp8_);
element = (gfloat*) _tmp9_;
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = index;
index = _tmp11_ + 1;
_tmp12_ = element;
element = NULL;
_g_free0 (_tmp10_[_tmp11_]);
_tmp10_[_tmp11_] = _tmp12_;
_tmp13_ = _tmp10_[_tmp11_];
_g_free0 (element);
}
_g_object_unref0 (_element_it);
}
_tmp14_ = array;
_tmp14__length1 = array_length1;
if (result_length1) {
*result_length1 = _tmp14__length1;
}
result = _tmp14_;
return result;
}
static gdouble** gee_collection_to_double_array (GeeCollection* coll, int* result_length1) {
gdouble** result = NULL;
gdouble** array = NULL;
GeeCollection* _tmp0_;
gint _tmp1_;
gint _tmp2_;
gdouble** _tmp3_;
gint array_length1;
gint _array_size_;
gint index = 0;
gdouble** _tmp14_;
gint _tmp14__length1;
g_return_val_if_fail (coll != NULL, NULL);
_tmp0_ = coll;
_tmp1_ = gee_collection_get_size (_tmp0_);
_tmp2_ = _tmp1_;
_tmp3_ = g_new0 (gdouble*, _tmp2_);
array = _tmp3_;
array_length1 = _tmp2_;
_array_size_ = array_length1;
index = 0;
{
GeeIterator* _element_it = NULL;
GeeCollection* _tmp4_;
GeeIterator* _tmp5_;
_tmp4_ = coll;
_tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
_element_it = _tmp5_;
while (TRUE) {
GeeIterator* _tmp6_;
gboolean _tmp7_;
gdouble* element = NULL;
GeeIterator* _tmp8_;
gpointer _tmp9_;
gdouble** _tmp10_;
gint _tmp10__length1;
gint _tmp11_;
gdouble* _tmp12_;
gdouble* _tmp13_;
_tmp6_ = _element_it;
_tmp7_ = gee_iterator_next (_tmp6_);
if (!_tmp7_) {
break;
}
_tmp8_ = _element_it;
_tmp9_ = gee_iterator_get (_tmp8_);
element = (gdouble*) _tmp9_;
_tmp10_ = array;
_tmp10__length1 = array_length1;
_tmp11_ = index;
index = _tmp11_ + 1;
_tmp12_ = element;
element = NULL;
_g_free0 (_tmp10_[_tmp11_]);
_tmp10_[_tmp11_] = _tmp12_;
_tmp13_ = _tmp10_[_tmp11_];
_g_free0 (element);
}
_g_object_unref0 (_element_it);
}
_tmp14_ = array;
_tmp14__length1 = array_length1;
if (result_length1) {
*result_length1 = _tmp14__length1;
}
result = _tmp14_;
return result;
}
static gboolean gee_collection_add_all_bool_array (GeeCollection* coll, gboolean* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gboolean* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gboolean* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gboolean el = FALSE;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gboolean _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_add (_tmp2_, (gpointer) ((gintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_add_all_char_array (GeeCollection* coll, gchar* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gchar* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gchar* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gchar el = '\0';
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gchar _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_add (_tmp2_, (gpointer) ((gintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_add_all_uchar_array (GeeCollection* coll, guchar* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
guchar* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
guchar* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
guchar el = '\0';
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
guchar _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_add (_tmp2_, (gpointer) ((guintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_add_all_int_array (GeeCollection* coll, gint* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gint* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gint* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gint el = 0;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gint _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_add (_tmp2_, (gpointer) ((gintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_add_all_uint_array (GeeCollection* coll, guint* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
guint* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
guint* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
guint el = 0U;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
guint _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_add (_tmp2_, (gpointer) ((guintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_add_all_int64_array (GeeCollection* coll, gint64** arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gint64** _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gint64** el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gint64* el = NULL;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gint64* _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_add (_tmp2_, _tmp3_);
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_add_all_uint64_array (GeeCollection* coll, guint64** arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
guint64** _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
guint64** el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
guint64* el = NULL;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
guint64* _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_add (_tmp2_, _tmp3_);
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_add_all_long_array (GeeCollection* coll, glong* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
glong* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
glong* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
glong el = 0L;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
glong _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_add (_tmp2_, (gpointer) ((gintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_add_all_ulong_array (GeeCollection* coll, gulong* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gulong* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gulong* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gulong el = 0UL;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gulong _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_add (_tmp2_, (gpointer) ((guintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_add_all_float_array (GeeCollection* coll, gfloat** arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gfloat** _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gfloat** el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gfloat* el = NULL;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gfloat* _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_add (_tmp2_, _tmp3_);
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_add_all_double_array (GeeCollection* coll, gdouble** arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gdouble** _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gdouble** el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gdouble* el = NULL;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gdouble* _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_add (_tmp2_, _tmp3_);
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_contains_all_bool_array (GeeCollection* coll, gboolean* arr, int arr_length1) {
gboolean result = FALSE;
gboolean* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gboolean* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gboolean el = FALSE;
el = el_collection[el_it];
{
GeeCollection* _tmp1_;
gboolean _tmp2_;
gboolean _tmp3_;
_tmp1_ = coll;
_tmp2_ = el;
_tmp3_ = gee_collection_contains (_tmp1_, (gpointer) ((gintptr) _tmp2_));
if (!_tmp3_) {
result = FALSE;
return result;
}
}
}
}
result = TRUE;
return result;
}
static gboolean gee_collection_contains_all_char_array (GeeCollection* coll, gchar* arr, int arr_length1) {
gboolean result = FALSE;
gchar* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gchar* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gchar el = '\0';
el = el_collection[el_it];
{
GeeCollection* _tmp1_;
gchar _tmp2_;
gboolean _tmp3_;
_tmp1_ = coll;
_tmp2_ = el;
_tmp3_ = gee_collection_contains (_tmp1_, (gpointer) ((gintptr) _tmp2_));
if (!_tmp3_) {
result = FALSE;
return result;
}
}
}
}
result = TRUE;
return result;
}
static gboolean gee_collection_contains_all_uchar_array (GeeCollection* coll, guchar* arr, int arr_length1) {
gboolean result = FALSE;
guchar* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
guchar* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
guchar el = '\0';
el = el_collection[el_it];
{
GeeCollection* _tmp1_;
guchar _tmp2_;
gboolean _tmp3_;
_tmp1_ = coll;
_tmp2_ = el;
_tmp3_ = gee_collection_contains (_tmp1_, (gpointer) ((guintptr) _tmp2_));
if (!_tmp3_) {
result = FALSE;
return result;
}
}
}
}
result = TRUE;
return result;
}
static gboolean gee_collection_contains_all_int_array (GeeCollection* coll, gint* arr, int arr_length1) {
gboolean result = FALSE;
gint* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gint* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gint el = 0;
el = el_collection[el_it];
{
GeeCollection* _tmp1_;
gint _tmp2_;
gboolean _tmp3_;
_tmp1_ = coll;
_tmp2_ = el;
_tmp3_ = gee_collection_contains (_tmp1_, (gpointer) ((gintptr) _tmp2_));
if (!_tmp3_) {
result = FALSE;
return result;
}
}
}
}
result = TRUE;
return result;
}
static gboolean gee_collection_contains_all_uint_array (GeeCollection* coll, guint* arr, int arr_length1) {
gboolean result = FALSE;
guint* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
guint* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
guint el = 0U;
el = el_collection[el_it];
{
GeeCollection* _tmp1_;
guint _tmp2_;
gboolean _tmp3_;
_tmp1_ = coll;
_tmp2_ = el;
_tmp3_ = gee_collection_contains (_tmp1_, (gpointer) ((guintptr) _tmp2_));
if (!_tmp3_) {
result = FALSE;
return result;
}
}
}
}
result = TRUE;
return result;
}
static gboolean gee_collection_contains_all_int64_array (GeeCollection* coll, gint64** arr, int arr_length1) {
gboolean result = FALSE;
gint64** _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gint64** el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gint64* el = NULL;
el = el_collection[el_it];
{
GeeCollection* _tmp1_;
gint64* _tmp2_;
gboolean _tmp3_;
_tmp1_ = coll;
_tmp2_ = el;
_tmp3_ = gee_collection_contains (_tmp1_, _tmp2_);
if (!_tmp3_) {
result = FALSE;
return result;
}
}
}
}
result = TRUE;
return result;
}
static gboolean gee_collection_contains_all_uint64_array (GeeCollection* coll, guint64** arr, int arr_length1) {
gboolean result = FALSE;
guint64** _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
guint64** el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
guint64* el = NULL;
el = el_collection[el_it];
{
GeeCollection* _tmp1_;
guint64* _tmp2_;
gboolean _tmp3_;
_tmp1_ = coll;
_tmp2_ = el;
_tmp3_ = gee_collection_contains (_tmp1_, _tmp2_);
if (!_tmp3_) {
result = FALSE;
return result;
}
}
}
}
result = TRUE;
return result;
}
static gboolean gee_collection_contains_all_long_array (GeeCollection* coll, glong* arr, int arr_length1) {
gboolean result = FALSE;
glong* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
glong* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
glong el = 0L;
el = el_collection[el_it];
{
GeeCollection* _tmp1_;
glong _tmp2_;
gboolean _tmp3_;
_tmp1_ = coll;
_tmp2_ = el;
_tmp3_ = gee_collection_contains (_tmp1_, (gpointer) ((gintptr) _tmp2_));
if (!_tmp3_) {
result = FALSE;
return result;
}
}
}
}
result = TRUE;
return result;
}
static gboolean gee_collection_contains_all_ulong_array (GeeCollection* coll, gulong* arr, int arr_length1) {
gboolean result = FALSE;
gulong* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gulong* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gulong el = 0UL;
el = el_collection[el_it];
{
GeeCollection* _tmp1_;
gulong _tmp2_;
gboolean _tmp3_;
_tmp1_ = coll;
_tmp2_ = el;
_tmp3_ = gee_collection_contains (_tmp1_, (gpointer) ((guintptr) _tmp2_));
if (!_tmp3_) {
result = FALSE;
return result;
}
}
}
}
result = TRUE;
return result;
}
static gboolean gee_collection_contains_all_float_array (GeeCollection* coll, gfloat** arr, int arr_length1) {
gboolean result = FALSE;
gfloat** _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gfloat** el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gfloat* el = NULL;
el = el_collection[el_it];
{
GeeCollection* _tmp1_;
gfloat* _tmp2_;
gboolean _tmp3_;
_tmp1_ = coll;
_tmp2_ = el;
_tmp3_ = gee_collection_contains (_tmp1_, _tmp2_);
if (!_tmp3_) {
result = FALSE;
return result;
}
}
}
}
result = TRUE;
return result;
}
static gboolean gee_collection_contains_all_double_array (GeeCollection* coll, gdouble** arr, int arr_length1) {
gboolean result = FALSE;
gdouble** _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gdouble** el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gdouble* el = NULL;
el = el_collection[el_it];
{
GeeCollection* _tmp1_;
gdouble* _tmp2_;
gboolean _tmp3_;
_tmp1_ = coll;
_tmp2_ = el;
_tmp3_ = gee_collection_contains (_tmp1_, _tmp2_);
if (!_tmp3_) {
result = FALSE;
return result;
}
}
}
}
result = TRUE;
return result;
}
static gboolean gee_collection_remove_all_bool_array (GeeCollection* coll, gboolean* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gboolean* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gboolean* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gboolean el = FALSE;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gboolean _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_remove (_tmp2_, (gpointer) ((gintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_remove_all_char_array (GeeCollection* coll, gchar* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gchar* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gchar* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gchar el = '\0';
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gchar _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_remove (_tmp2_, (gpointer) ((gintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_remove_all_uchar_array (GeeCollection* coll, guchar* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
guchar* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
guchar* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
guchar el = '\0';
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
guchar _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_remove (_tmp2_, (gpointer) ((guintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_remove_all_int_array (GeeCollection* coll, gint* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gint* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gint* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gint el = 0;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gint _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_remove (_tmp2_, (gpointer) ((gintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_remove_all_uint_array (GeeCollection* coll, guint* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
guint* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
guint* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
guint el = 0U;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
guint _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_remove (_tmp2_, (gpointer) ((guintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_remove_all_int64_array (GeeCollection* coll, gint64** arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gint64** _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gint64** el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gint64* el = NULL;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gint64* _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_remove (_tmp2_, _tmp3_);
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_remove_all_uint64_array (GeeCollection* coll, guint64** arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
guint64** _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
guint64** el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
guint64* el = NULL;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
guint64* _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_remove (_tmp2_, _tmp3_);
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_remove_all_long_array (GeeCollection* coll, glong* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
glong* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
glong* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
glong el = 0L;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
glong _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_remove (_tmp2_, (gpointer) ((gintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_remove_all_ulong_array (GeeCollection* coll, gulong* arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gulong* _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gulong* el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gulong el = 0UL;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gulong _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_remove (_tmp2_, (gpointer) ((guintptr) _tmp3_));
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_remove_all_float_array (GeeCollection* coll, gfloat** arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gfloat** _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gfloat** el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gfloat* el = NULL;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gfloat* _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_remove (_tmp2_, _tmp3_);
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
static gboolean gee_collection_remove_all_double_array (GeeCollection* coll, gdouble** arr, int arr_length1) {
gboolean result = FALSE;
gboolean changed = FALSE;
gdouble** _tmp0_;
gint _tmp0__length1;
g_return_val_if_fail (coll != NULL, FALSE);
changed = FALSE;
_tmp0_ = arr;
_tmp0__length1 = arr_length1;
{
gdouble** el_collection = NULL;
gint el_collection_length1 = 0;
gint _el_collection_size_ = 0;
gint el_it = 0;
el_collection = _tmp0_;
el_collection_length1 = _tmp0__length1;
for (el_it = 0; el_it < _tmp0__length1; el_it = el_it + 1) {
gdouble* el = NULL;
el = el_collection[el_it];
{
gboolean _tmp1_;
GeeCollection* _tmp2_;
gdouble* _tmp3_;
gboolean _tmp4_;
_tmp1_ = changed;
_tmp2_ = coll;
_tmp3_ = el;
_tmp4_ = gee_collection_remove (_tmp2_, _tmp3_);
changed = _tmp1_ | _tmp4_;
}
}
}
result = changed;
return result;
}
gint gee_collection_get_size (GeeCollection* self) {
g_return_val_if_fail (self != NULL, 0);
return GEE_COLLECTION_GET_INTERFACE (self)->get_size (self);
}
gboolean gee_collection_get_is_empty (GeeCollection* self) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->get_is_empty (self);
}
static gboolean gee_collection_real_get_is_empty (GeeCollection* base) {
gboolean result;
GeeCollection* self;
gint _tmp0_;
gint _tmp1_;
self = base;
_tmp0_ = gee_collection_get_size (self);
_tmp1_ = _tmp0_;
result = _tmp1_ == 0;
return result;
}
gboolean gee_collection_get_read_only (GeeCollection* self) {
g_return_val_if_fail (self != NULL, FALSE);
return GEE_COLLECTION_GET_INTERFACE (self)->get_read_only (self);
}
GeeCollection* gee_collection_get_read_only_view (GeeCollection* self) {
g_return_val_if_fail (self != NULL, NULL);
return GEE_COLLECTION_GET_INTERFACE (self)->get_read_only_view (self);
}
static void gee_collection_base_init (GeeCollectionIface * iface) {
static gboolean initialized = FALSE;
if (!initialized) {
initialized = TRUE;
/**
* The number of items in this collection.
*/
g_object_interface_install_property (iface, g_param_spec_int ("size", "size", "size", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
/**
* Specifies whether this collection can change - i.e. wheather {@link add},
* {@link remove} etc. are legal operations.
*/
g_object_interface_install_property (iface, g_param_spec_boolean ("read-only", "read-only", "read-only", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
/**
* The read-only view of this collection.
*/
g_object_interface_install_property (iface, g_param_spec_object ("read-only-view", "read-only-view", "read-only-view", GEE_TYPE_COLLECTION, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
iface->add_all = gee_collection_real_add_all;
iface->contains_all = gee_collection_real_contains_all;
iface->remove_all = gee_collection_real_remove_all;
iface->retain_all = gee_collection_real_retain_all;
iface->to_array = gee_collection_real_to_array;
iface->add_all_array = gee_collection_real_add_all_array;
iface->contains_all_array = gee_collection_real_contains_all_array;
iface->remove_all_array = gee_collection_real_remove_all_array;
iface->add_all_iterator = gee_collection_real_add_all_iterator;
iface->contains_all_iterator = gee_collection_real_contains_all_iterator;
iface->remove_all_iterator = gee_collection_real_remove_all_iterator;
iface->get_is_empty = gee_collection_real_get_is_empty;
}
}
/**
* A generic collection of objects.
*/
GType gee_collection_get_type (void) {
static volatile gsize gee_collection_type_id__volatile = 0;
if (g_once_init_enter (&gee_collection_type_id__volatile)) {
static const GTypeInfo g_define_type_info = { sizeof (GeeCollectionIface), (GBaseInitFunc) gee_collection_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
GType gee_collection_type_id;
gee_collection_type_id = g_type_register_static (G_TYPE_INTERFACE, "GeeCollection", &g_define_type_info, 0);
g_type_interface_add_prerequisite (gee_collection_type_id, GEE_TYPE_ITERABLE);
g_once_init_leave (&gee_collection_type_id__volatile, gee_collection_type_id);
}
return gee_collection_type_id__volatile;
}
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
if ((array != NULL) && (destroy_func != NULL)) {
int i;
for (i = 0; i < array_length; i = i + 1) {
if (((gpointer*) array)[i] != NULL) {
destroy_func (((gpointer*) array)[i]);
}
}
}
}
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
_vala_array_destroy (array, array_length, destroy_func);
g_free (array);
}