905 B
libgee
Libgee is a collection library providing GObject-based interfaces and classes for commonly used data structures. Libgee provides the following interfaces:
- Iterable
- Collection
- List
- Set
- MultiSet
- Queue
- Deque
- Collection
- Iterator
- Map
- MultiMap
The ArrayList, 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.