Read-only mirror of https://gitlab.gnome.org/GNOME/libgee
LGPL-2.1 License
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.