README 1.47 KB
Newer Older
Maciej (Matthew) Piechotka's avatar
Maciej (Matthew) Piechotka committed
1
Libgee is a collection library providing GObject-based interfaces and 
Jürg Billeter's avatar
Jürg Billeter committed
2
3
classes for commonly used data structures.

Maciej (Matthew) Piechotka's avatar
Maciej (Matthew) Piechotka committed
4
Libgee provides the following interfaces:
Jürg Billeter's avatar
Jürg Billeter committed
5

Maciej (Matthew) Piechotka's avatar
Maciej (Matthew) Piechotka committed
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
     * Traversable
           o Iterable
                 + Collection
                       # List
                             * BidirList
                       # Set
                             * SortedSet
                                 o BidirSortedSet
                       # MultiSet
                       # Queue
                             * Deque
                 + Map
                       # SortedMap
                             * BidirSortedMap
           o Iterator
                 + BidirIterator
                       # BidirListIterator
                 + ListIterator
                       # BidirListIterator
     * MultiMap
26
     * Future
Jürg Billeter's avatar
Jürg Billeter committed
27

Maciej (Matthew) Piechotka's avatar
Maciej (Matthew) Piechotka committed
28
29
30
The ArrayList, ArrauQueue, ConcurrentLinkedList, ConcurrentSet, HashSet,
HashMap, HashMultiSet, HashMultiMap, LinkedList, PriorityQueue, TreeSet,
TreeMap, TreeMultiSet, and TreeMultiMap classes provide a reasonable sample
Maciej (Matthew) Piechotka's avatar
Maciej (Matthew) Piechotka committed
31
32
implementation of those interfaces. In addition, a set of abstract
classes are provided to ease the implementation of new collections.
Jürg Billeter's avatar
Jürg Billeter committed
33

Maciej (Matthew) Piechotka's avatar
Maciej (Matthew) Piechotka committed
34
35
36
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.
Jürg Billeter's avatar
Jürg Billeter committed
37

Maciej (Matthew) Piechotka's avatar
Maciej (Matthew) Piechotka committed
38
39
Libgee is written in Vala and can be used like any GObject-based C 
library. It's planned to provide bindings for further languages.