/* gee-0.8.vapi generated by valac 0.18.0, do not modify. */ [CCode (gir_namespace = "Gee", gir_version = "0.8")] namespace Gee { namespace Functions { [CCode (cheader_filename = "gee.h")] public static GLib.CompareDataFunc get_compare_func_for (GLib.Type t); [CCode (cheader_filename = "gee.h")] public static Gee.EqualDataFunc get_equal_func_for (GLib.Type t); [CCode (cheader_filename = "gee.h")] public static Gee.HashDataFunc get_hash_func_for (GLib.Type t); } [CCode (cheader_filename = "gee.h")] public abstract class AbstractBidirList : Gee.AbstractList, Gee.BidirList { public AbstractBidirList (); public abstract Gee.BidirListIterator bidir_list_iterator (); public virtual Gee.BidirList read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] public abstract class AbstractBidirSortedMap : Gee.AbstractSortedMap, Gee.BidirSortedMap { public AbstractBidirSortedMap (); public abstract Gee.BidirMapIterator bidir_map_iterator (); public virtual Gee.BidirSortedMap read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] public abstract class AbstractBidirSortedSet : Gee.AbstractSortedSet, Gee.BidirSortedSet { public AbstractBidirSortedSet (); public abstract Gee.BidirIterator bidir_iterator (); public virtual Gee.BidirSortedSet read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] public abstract class AbstractCollection : GLib.Object, Gee.Traversable, Gee.Iterable, Gee.Collection { public AbstractCollection (); public abstract bool add (G item); public abstract void clear (); public abstract bool contains (G item); public virtual bool @foreach (Gee.ForallFunc f); public abstract Gee.Iterator iterator (); public abstract bool remove (G item); public abstract bool read_only { get; } public virtual Gee.Collection read_only_view { owned get; } public abstract int size { get; } } [CCode (cheader_filename = "gee.h")] public abstract class AbstractList : Gee.AbstractCollection, Gee.List { public AbstractList (); public abstract new G @get (int index); public abstract int index_of (G item); public abstract void insert (int index, G item); public abstract Gee.ListIterator list_iterator (); public abstract G remove_at (int index); public abstract new void @set (int index, G item); public abstract Gee.List? slice (int start, int stop); public virtual Gee.List read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] public abstract class AbstractMap : GLib.Object, Gee.Traversable>, Gee.Iterable>, Gee.Map { public AbstractMap (); public abstract void clear (); public virtual bool @foreach (Gee.ForallFunc> f); public abstract new V @get (K key); public abstract bool has (K key, V value); public abstract bool has_key (K key); public abstract Gee.MapIterator map_iterator (); public abstract new void @set (K key, V value); public virtual Gee.Iterator stream (owned Gee.StreamFunc,A> f); public abstract bool unset (K key, out V value = null); public abstract Gee.Set> entries { owned get; } public abstract Gee.Set keys { owned get; } public abstract bool read_only { get; } public virtual Gee.Map read_only_view { owned get; } public abstract int size { get; } public abstract Gee.Collection values { owned get; } } [CCode (cheader_filename = "gee.h")] public abstract class AbstractMultiMap : GLib.Object, Gee.MultiMap { protected Gee.Map> _storage_map; public AbstractMultiMap (Gee.Map> storage_map); protected abstract Gee.MultiSet create_multi_key_set (); protected abstract Gee.Collection create_value_storage (); protected abstract Gee.EqualDataFunc get_value_equal_func (); public virtual Gee.MultiMap read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] public abstract class AbstractMultiSet : Gee.AbstractCollection, Gee.MultiSet { protected Gee.Map _storage_map; public AbstractMultiSet (Gee.Map storage_map); public override bool add (G item); public override void clear (); public override bool contains (G item); public override Gee.Iterator iterator (); public override bool remove (G item); public override bool read_only { get; } public virtual Gee.MultiSet read_only_view { owned get; } public override int size { get; } } [CCode (cheader_filename = "gee.h")] public abstract class AbstractQueue : Gee.AbstractCollection, Gee.Queue { public AbstractQueue (); public abstract G peek (); public abstract G poll (); public abstract int capacity { get; } public abstract bool is_full { get; } public abstract int remaining_capacity { get; } } [CCode (cheader_filename = "gee.h")] public abstract class AbstractSet : Gee.AbstractCollection, Gee.Set { public AbstractSet (); public virtual Gee.Set read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] public abstract class AbstractSortedMap : Gee.AbstractMap, Gee.SortedMap { public AbstractSortedMap (); public abstract Gee.SortedMap head_map (K before); public abstract Gee.SortedMap sub_map (K before, K after); public abstract Gee.SortedMap tail_map (K after); public abstract Gee.SortedSet> ascending_entries { owned get; } public abstract Gee.SortedSet ascending_keys { owned get; } } [CCode (cheader_filename = "gee.h")] public abstract class AbstractSortedSet : Gee.AbstractSet, Gee.SortedSet { public AbstractSortedSet (); public abstract G ceil (G element); public abstract G first (); public abstract G floor (G element); public abstract Gee.SortedSet head_set (G before); public abstract G higher (G element); public abstract Gee.Iterator? iterator_at (G element); public abstract G last (); public abstract G lower (G element); public abstract Gee.SortedSet sub_set (G from, G to); public abstract Gee.SortedSet tail_set (G after); public virtual Gee.SortedSet read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] public class ArrayList : Gee.AbstractBidirList { public ArrayList (owned Gee.EqualDataFunc? equal_func = null); public override bool add (G item); public bool add_all (Gee.Collection collection); public override Gee.BidirListIterator bidir_list_iterator (); public override void clear (); public override bool contains (G item); public override bool @foreach (Gee.ForallFunc f); public override G @get (int index); public override int index_of (G item); public override void insert (int index, G item); public override Gee.Iterator iterator (); public override Gee.ListIterator list_iterator (); public override bool remove (G item); public override G remove_at (int index); public override void @set (int index, G item); public override Gee.List? slice (int start, int stop); public ArrayList.wrap (owned G[] items, owned Gee.EqualDataFunc? equal_func = null); [CCode (notify = false)] public Gee.EqualDataFunc equal_func { get; private set; } public override bool read_only { get; } public override int size { get; } } [CCode (cheader_filename = "gee.h")] public class ArrayQueue : Gee.AbstractQueue, Gee.Deque { public ArrayQueue (owned Gee.EqualDataFunc? equal_func = null); public override bool add (G element); public override void clear (); public override bool contains (G item); public override Gee.Iterator iterator (); public override G peek (); public override G poll (); public override bool remove (G item); public override int capacity { get; } [CCode (notify = false)] public Gee.EqualDataFunc equal_func { get; private set; } public bool is_empty { get; } public override bool is_full { get; } public override bool read_only { get; } public override int remaining_capacity { get; } public override int size { get; } } [CCode (cheader_filename = "gee.h")] public class ConcurrentList : Gee.AbstractList { public ConcurrentList (owned Gee.EqualDataFunc? equal_func = null); public override bool add (G item); public override void clear (); public override bool contains (G item); public override G @get (int index); public override int index_of (G item); public override void insert (int index, G item); public override Gee.Iterator iterator (); public override Gee.ListIterator list_iterator (); public override bool remove (G item); public override G remove_at (int index); public override void @set (int index, G item); public override Gee.List? slice (int start, int end); [CCode (notify = false)] public Gee.EqualDataFunc equal_func { get; private set; } public bool is_empty { get; } public override bool read_only { get; } public override int size { get; } } [CCode (cheader_filename = "gee.h")] public class ConcurrentSet : Gee.AbstractSortedSet { public enum RangeType { HEAD, TAIL, BOUNDED, EMPTY } public ConcurrentSet (owned GLib.CompareDataFunc? compare_func = null); public override bool add (G key); public override G ceil (G element); public override void clear (); public override bool contains (G key); public override G first (); public override G floor (G element); public override Gee.SortedSet head_set (G before); public override G higher (G element); public override Gee.Iterator iterator (); public override Gee.Iterator? iterator_at (G element); public override G last (); public override G lower (G element); public override bool remove (G item); public override Gee.SortedSet sub_set (G from, G to); public override Gee.SortedSet tail_set (G after); public override bool read_only { get; } public override int size { get; } } [CCode (cheader_filename = "gee.h")] public class HashMap : Gee.AbstractMap { public HashMap (owned Gee.HashDataFunc? key_hash_func = null, owned Gee.EqualDataFunc? key_equal_func = null, owned Gee.EqualDataFunc? value_equal_func = null); public override void clear (); public override V @get (K key); public override bool has (K key, V value); public override bool has_key (K key); public override Gee.MapIterator map_iterator (); public override void @set (K key, V value); public override bool unset (K key, out V value = null); public override Gee.Set> entries { owned get; } [CCode (notify = false)] public Gee.EqualDataFunc key_equal_func { get; private set; } [CCode (notify = false)] public Gee.HashDataFunc key_hash_func { get; private set; } public override Gee.Set keys { owned get; } public override bool read_only { get; } public override int size { get; } [CCode (notify = false)] public Gee.EqualDataFunc value_equal_func { get; private set; } public override Gee.Collection values { owned get; } } [CCode (cheader_filename = "gee.h")] public class HashMultiMap : Gee.AbstractMultiMap { public HashMultiMap (owned Gee.HashDataFunc? key_hash_func = null, owned Gee.EqualDataFunc? key_equal_func = null, owned Gee.HashDataFunc? value_hash_func = null, owned Gee.EqualDataFunc? value_equal_func = null); protected override Gee.MultiSet create_multi_key_set (); protected override Gee.Collection create_value_storage (); protected override Gee.EqualDataFunc get_value_equal_func (); public Gee.EqualDataFunc key_equal_func { get; } public Gee.HashDataFunc key_hash_func { get; } [CCode (notify = false)] public Gee.EqualDataFunc value_equal_func { get; private set; } [CCode (notify = false)] public Gee.HashDataFunc value_hash_func { get; private set; } } [CCode (cheader_filename = "gee.h")] public class HashMultiSet : Gee.AbstractMultiSet { public HashMultiSet (Gee.HashDataFunc? hash_func = null, Gee.EqualDataFunc? equal_func = null); public Gee.EqualDataFunc equal_func { get; } public Gee.HashDataFunc hash_func { get; } } [CCode (cheader_filename = "gee.h")] public class HashSet : Gee.AbstractSet { public HashSet (owned Gee.HashDataFunc? hash_func = null, owned Gee.EqualDataFunc? equal_func = null); public override bool add (G key); public override void clear (); public override bool contains (G key); public override Gee.Iterator iterator (); public override bool remove (G key); [CCode (notify = false)] public Gee.EqualDataFunc equal_func { get; private set; } [CCode (notify = false)] public Gee.HashDataFunc hash_func { get; private set; } public override bool read_only { get; } public override int size { get; } } [CCode (cheader_filename = "gee.h")] [Compact] public class HazardPointer { [Compact] public class Context { public Context (Gee.HazardPointer.Policy? policy = null); public void free_all (); public void release (); public void try_free (); public void try_release (); } public enum Policy { DEFAULT, THREAD_EXIT, TRY_FREE, FREE, TRY_RELEASE, RELEASE; public bool is_concrete (); public bool is_blocking (); public bool is_safe (); public Gee.HazardPointer.Policy to_concrete (); } public enum ReleasePolicy { HELPER_THREAD, MAIN_LOOP; } public delegate void DestroyNotify (void* ptr); public HazardPointer (G* ptr); public static bool compare_and_exchange_pointer (G** aptr, G old_ptr, owned G _new_ptr, size_t mask = 0, size_t old_mask = 0, size_t new_mask = 0); public static Gee.HazardPointer? exchange_hazard_pointer (G** aptr, owned G new_ptr, size_t mask = 0, size_t new_mask = 0, out size_t old_mask = null); public static G exchange_pointer (G** aptr, owned G new_ptr, size_t mask = 0, size_t new_mask = 0, out size_t old_mask = null); public new unowned G @get (bool other_thread = false); public static Gee.HazardPointer? get_hazard_pointer (G** aptr, size_t mask = 0, out size_t mask_out = null); public static G get_pointer (G** aptr, size_t mask = 0, out size_t mask_out = null); public void release (owned Gee.HazardPointer.DestroyNotify notify); public static void set_default_policy (Gee.HazardPointer.Policy policy); public static void set_pointer (G** aptr, owned G new_ptr, size_t mask = 0, size_t new_mask = 0); public static bool set_release_policy (Gee.HazardPointer.ReleasePolicy policy); public static void set_thread_exit_policy (Gee.HazardPointer.Policy policy); } [CCode (cheader_filename = "gee.h")] public class Lazy { public Lazy (owned Gee.LazyFunc func); public void eval (); public Lazy.from_value (G item); public new G @get (); public G value { get; } } [CCode (cheader_filename = "gee.h")] public class LinkedList : Gee.AbstractBidirList, Gee.Queue, Gee.Deque { public LinkedList (owned Gee.EqualDataFunc? equal_func = null); public override bool add (G item); public override Gee.BidirListIterator bidir_list_iterator (); public override void clear (); public override bool contains (G item); public G first (); public override bool @foreach (Gee.ForallFunc f); public override G @get (int index); public override int index_of (G item); public override void insert (int index, G item); public override Gee.Iterator iterator (); public G last (); public override Gee.ListIterator list_iterator (); public override bool remove (G item); public override G remove_at (int index); public override void @set (int index, G item); public override Gee.List? slice (int start, int stop); [CCode (notify = false)] public Gee.EqualDataFunc equal_func { get; private set; } public override bool read_only { get; } public override int size { get; } } [CCode (cheader_filename = "gee.h")] public class PriorityQueue : Gee.AbstractQueue { public PriorityQueue (owned GLib.CompareDataFunc? compare_func = null); public override bool add (G item); public override void clear (); public override bool contains (G item); public int drain (Gee.Collection recipient, int amount = -1); public override Gee.Iterator iterator (); public bool offer (G element); public override G peek (); public override G poll (); public override bool remove (G item); public override int capacity { get; } [CCode (notify = false)] public GLib.CompareDataFunc compare_func { get; private set; } public override bool is_full { get; } public override bool read_only { get; } public override int remaining_capacity { get; } public override int size { get; } } [CCode (cheader_filename = "gee.h")] public class TreeMap : Gee.AbstractBidirSortedMap { public TreeMap (owned GLib.CompareDataFunc? key_compare_func = null, owned Gee.EqualDataFunc? value_equal_func = null); public override Gee.BidirMapIterator bidir_map_iterator (); public override void clear (); public override V @get (K key); public override bool has (K key, V value); public override bool has_key (K key); public override Gee.SortedMap head_map (K before); public override Gee.MapIterator map_iterator (); public override void @set (K key, V value); public override Gee.SortedMap sub_map (K after, K before); public override Gee.SortedMap tail_map (K after); public override bool unset (K key, out V value = null); public override Gee.SortedSet> ascending_entries { owned get; } public override Gee.SortedSet ascending_keys { owned get; } public override Gee.Set> entries { owned get; } [CCode (notify = false)] public GLib.CompareDataFunc key_compare_func { get; private set; } public override Gee.Set keys { owned get; } public override bool read_only { get; } public override int size { get; } [CCode (notify = false)] public Gee.EqualDataFunc value_equal_func { get; private set; } public override Gee.Collection values { owned get; } } [CCode (cheader_filename = "gee.h")] public class TreeMultiMap : Gee.AbstractMultiMap { public TreeMultiMap (owned GLib.CompareDataFunc? key_compare_func = null, owned GLib.CompareDataFunc? value_compare_func = null); protected override Gee.MultiSet create_multi_key_set (); protected override Gee.Collection create_value_storage (); protected override Gee.EqualDataFunc get_value_equal_func (); public GLib.CompareDataFunc key_compare_func { get; } [CCode (notify = false)] public GLib.CompareDataFunc value_compare_func { get; private set; } } [CCode (cheader_filename = "gee.h")] public class TreeMultiSet : Gee.AbstractMultiSet { public TreeMultiSet (owned GLib.CompareDataFunc? compare_func = null); public GLib.CompareDataFunc compare_func { get; } } [CCode (cheader_filename = "gee.h")] public class TreeSet : Gee.AbstractBidirSortedSet { public TreeSet (owned GLib.CompareDataFunc? compare_func = null); public override bool add (G item); public override Gee.BidirIterator bidir_iterator (); public override G ceil (G item); public override void clear (); public override bool contains (G item); public override G first (); public override G floor (G item); public override Gee.SortedSet head_set (G before); public override G higher (G item); public override Gee.Iterator iterator (); public override Gee.Iterator? iterator_at (G item); public override G last (); public override G lower (G item); public override bool remove (G item); public override Gee.SortedSet sub_set (G after, G before); public override Gee.SortedSet tail_set (G after); [CCode (notify = false)] public GLib.CompareDataFunc compare_func { get; private set; } public override bool read_only { get; } public override int size { get; } } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface BidirIterator : Gee.Iterator { public abstract bool first (); public abstract bool has_previous (); public abstract bool last (); public abstract bool previous (); } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface BidirList : Gee.List { public abstract new Gee.BidirListIterator bidir_list_iterator (); public abstract Gee.BidirList read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface BidirListIterator : Gee.BidirIterator, Gee.ListIterator { public abstract void insert (G item); } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface BidirMapIterator : Gee.MapIterator { public abstract bool first (); public abstract bool has_previous (); public abstract bool last (); public abstract bool previous (); } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface BidirSortedMap : Gee.SortedMap { public abstract Gee.BidirMapIterator bidir_map_iterator (); public static Gee.BidirSortedMap empty (); public abstract Gee.BidirSortedMap read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface BidirSortedSet : Gee.SortedSet { public abstract Gee.BidirIterator bidir_iterator (); public static Gee.BidirSortedSet empty (); public abstract Gee.BidirSortedSet read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface Collection : Gee.Iterable { public abstract bool add (G item); public virtual bool add_all (Gee.Collection collection); public bool add_all_array (G[] array); public abstract void clear (); public abstract bool contains (G item); public virtual bool contains_all (Gee.Collection collection); public bool contains_all_array (G[] array); public static Gee.Collection empty (); public abstract bool remove (G item); public virtual bool remove_all (Gee.Collection collection); public bool remove_all_array (G[] array); public virtual bool retain_all (Gee.Collection collection); public virtual G[] to_array (); public virtual bool is_empty { get; } public abstract bool read_only { get; } public abstract Gee.Collection read_only_view { owned get; } public abstract int size { get; } } [CCode (cheader_filename = "gee.h")] public interface Comparable : GLib.Object { public abstract int compare_to (G object); } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface Deque : Gee.Queue { public abstract int drain_head (Gee.Collection recipient, int amount = -1); public abstract int drain_tail (Gee.Collection recipient, int amount = -1); public abstract bool offer_head (G element); public abstract bool offer_tail (G element); public abstract G peek_head (); public abstract G peek_tail (); public abstract G poll_head (); public abstract G poll_tail (); } [CCode (cheader_filename = "gee.h")] public interface Hashable : GLib.Object { public abstract bool equal_to (G object); public abstract uint hash (); } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface Iterable : GLib.Object, Gee.Traversable { public abstract Gee.Iterator iterator (); } [CCode (cheader_filename = "gee.h")] public interface Iterator : GLib.Object, Gee.Traversable { public static Gee.Iterator concat (Gee.Iterator> iters); public abstract G @get (); public abstract bool has_next (); public abstract bool next (); public abstract void remove (); public static Gee.Iterator unfold (owned Gee.UnfoldFunc f, owned Gee.Lazy? current = null); public abstract bool read_only { get; } public abstract bool valid { get; } } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface List : Gee.Collection { public static Gee.List empty (); public virtual G first (); public abstract G @get (int index); public abstract int index_of (G item); public abstract void insert (int index, G item); public virtual void insert_all (int index, Gee.Collection collection); public virtual G last (); public abstract new Gee.ListIterator list_iterator (); public abstract G remove_at (int index); public abstract void @set (int index, G item); public abstract Gee.List? slice (int start, int stop); public virtual void sort (owned GLib.CompareDataFunc? compare_func = null); public abstract Gee.List read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] public interface ListIterator : Gee.Iterator { public abstract void add (G item); public abstract int index (); public abstract void @set (G item); } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface Map : GLib.Object, Gee.Iterable> { public abstract class Entry : GLib.Object { public Entry (); public abstract K key { get; } public abstract bool read_only { get; } public abstract V value { get; set; } } public abstract void clear (); [Deprecated (replacement = "Map.has_key")] public bool contains (K key); [Deprecated (replacement = "Map.has_all")] public bool contains_all (Gee.Map map); public static Gee.Map empty (); public abstract V @get (K key); public abstract bool has (K key, V value); public virtual bool has_all (Gee.Map map); public abstract bool has_key (K key); public abstract Gee.MapIterator map_iterator (); [Deprecated (replacement = "Map.unset")] public bool remove (K key, out V value = null); [Deprecated (replacement = "Map.unset_all")] public bool remove_all (Gee.Map map); public abstract void @set (K key, V value); public virtual void set_all (Gee.Map map); public abstract bool unset (K key, out V value = null); public virtual bool unset_all (Gee.Map map); public abstract Gee.Set> entries { owned get; } public virtual bool is_empty { get; } public GLib.Type key_type { get; } public abstract Gee.Set keys { owned get; } public abstract bool read_only { get; } public abstract Gee.Map read_only_view { owned get; } public abstract int size { get; } public GLib.Type value_type { get; } public abstract Gee.Collection values { owned get; } } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface MapIterator : GLib.Object { public virtual A fold (Gee.FoldMapFunc f, owned A seed); public virtual new bool @foreach (Gee.ForallMapFunc f); public abstract K get_key (); public abstract V get_value (); public abstract bool has_next (); public abstract bool next (); public abstract void set_value (V value); public abstract void unset (); public abstract bool mutable { get; } public abstract bool read_only { get; } public abstract bool valid { get; } } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface MultiMap : GLib.Object { public abstract void clear (); public abstract bool contains (K key); public abstract Gee.Collection @get (K key); public abstract Gee.MultiSet get_all_keys (); public abstract Gee.Set get_keys (); public abstract Gee.Collection get_values (); public abstract Gee.MapIterator map_iterator (); public abstract bool remove (K key, V value); public abstract bool remove_all (K key); public abstract void @set (K key, V value); public GLib.Type key_type { get; } public abstract bool read_only { get; } public virtual Gee.MultiMap read_only_view { owned get; } public abstract int size { get; } public GLib.Type value_type { get; } } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface MultiSet : Gee.Collection { public abstract int count (G item); public static Gee.Set empty (); public virtual Gee.MultiSet read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface Queue : Gee.Collection { public const int UNBOUNDED_CAPACITY; public virtual int drain (Gee.Collection recipient, int amount = -1); public virtual bool offer (G element); public abstract G peek (); public abstract G poll (); public abstract int capacity { get; } public abstract bool is_full { get; } public abstract int remaining_capacity { get; } } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface Set : Gee.Collection { public static Gee.Set empty (); public abstract Gee.Set read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] public interface SortedMap : Gee.Map { public static Gee.Map empty (); public abstract Gee.SortedMap head_map (K before); public abstract Gee.SortedMap sub_map (K before, K after); public abstract Gee.SortedMap tail_map (K after); public abstract Gee.SortedSet> ascending_entries { owned get; } public abstract Gee.SortedSet ascending_keys { owned get; } public abstract Gee.SortedMap read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface SortedSet : Gee.Set { public abstract G ceil (G element); public static Gee.SortedSet empty (); public abstract G first (); public abstract G floor (G element); public abstract Gee.SortedSet head_set (G before); public abstract G higher (G element); public abstract Gee.Iterator? iterator_at (G element); public abstract G last (); public abstract G lower (G element); public abstract Gee.SortedSet sub_set (G from, G to); public abstract Gee.SortedSet tail_set (G after); public abstract Gee.SortedSet read_only_view { owned get; } } [CCode (cheader_filename = "gee.h")] [GenericAccessors] public interface Traversable : GLib.Object { public enum Stream { YIELD, CONTINUE, END } public virtual Gee.Iterator chop (int offset, int length = -1); public virtual Gee.Iterator filter (owned Gee.Predicate pred); public virtual A fold (Gee.FoldFunc f, owned A seed); public abstract new bool @foreach (Gee.ForallFunc f); public virtual Gee.Iterator map (Gee.MapFunc f); public virtual Gee.Iterator scan (Gee.FoldFunc f, owned A seed); public virtual Gee.Iterator stream (owned Gee.StreamFunc f); public virtual GLib.Type element_type { get; } } [CCode (cheader_filename = "gee.h")] public delegate bool EqualDataFunc (T a, T b); [CCode (cheader_filename = "gee.h")] public delegate A FoldFunc (owned G g, owned A a); [CCode (cheader_filename = "gee.h")] public delegate A FoldMapFunc (K k, V v, owned A a); [CCode (cheader_filename = "gee.h")] public delegate bool ForallFunc (owned G g); [CCode (cheader_filename = "gee.h")] public delegate bool ForallMapFunc (K k, V v); [CCode (cheader_filename = "gee.h")] public delegate uint HashDataFunc (T v); [CCode (cheader_filename = "gee.h")] public delegate G LazyFunc (); [CCode (cheader_filename = "gee.h")] public delegate A MapFunc (owned G g); [CCode (cheader_filename = "gee.h")] public delegate bool Predicate (G g); [CCode (cheader_filename = "gee.h")] public delegate Gee.Traversable.Stream StreamFunc (Gee.Traversable.Stream state, owned Gee.Lazy? g, out Gee.Lazy? lazy); [CCode (cheader_filename = "gee.h")] public delegate Gee.Lazy? UnfoldFunc (); }