-libgee is a collection library providing GObject-based interfaces and
+Libgee is a collection library providing GObject-based interfaces and
classes for commonly used data structures.
-libgee provides the following interfaces:
+Libgee provides the following interfaces:
- * Iterable
- * Collection
- * List
- * Set
- * Iterator
- * Map
+ * 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, HashSet, and HashMap classes provide a reasonable sample
-implementation of the List, Set, and Map interfaces. ReadOnlyCollection,
-ReadOnlyList, ReadOnlySet, and ReadOnlyMap are read-only wrapper classes
-that prevent modification of the underlying collection.
+The ArrayList, ArrauQueue, ConcurrentLinkedList 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.
-libgee is written in Vala and can be used like any GObject-based C library.
-It's planned to provide bindings for further languages.
+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.