Libgee is a collection library providing GObject-based interfaces and classes for commonly used data structures. Libgee provides the following interfaces: * Traversable o Iterable + Collection # List * BidirList # Set * SortedSet o BidirSortedSet # MultiSet # Queue * Deque + Map # SortedMap * BidirSortedMap o Iterator + BidirIterator # BidirListIterator + ListIterator # BidirListIterator * MultiMap * Future The ArrayList, ArrauQueue, ConcurrentLinkedList, ConcurrentSet, HashSet, HashMap, HashMultiSet, HashMultiMap, LinkedList, PriorityQueue, TreeSet, TreeMap, TreeMultiSet, and TreeMultiMap classes provide a reasonable sample implementation of those interfaces. In addition, a set of abstract classes are provided to ease the implementation of new collections. Around that, the API provide means to retrieve read-only views, efficient sort algorithms, simple, bi-directional or index-based mutable iterators depending on the collection type. Libgee is written in Vala and can be used like any GObject-based C library. It's planned to provide bindings for further languages.