summaryrefslogtreecommitdiff
path: root/README
blob: 802318c66976d2a30ed5d5d6f2332cd7cf2c5ba8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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

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.