libgee/README.md

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
  • 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.