Jump to content
Compatible Support Forums
Sign in to follow this  
news

[ANNOUNCE] Libgee 0.5.0 - GObject collection library

Recommended Posts

We are very pleased to announce version 0.5.0 of Libgee, the GObject

collection library.

 

Libgee 0.5.0 is now available for download at:

http://download.gnome.org/sources/libgee/0.5/

 

 

Also please note that now Libgee has its own mailing-list

http://mail.gnome.org/mailman/listinfo/libgee-list

and its own #gee IRC channel.

 

 

New in 0.5.0

------------

 

* API changes

* Introduce Functions hash, equal and compare function factory

* Introduce Comparable interface

* Implementations provides defaults when constructed without function

* ReadOnly* made internal in favor of a `read_only_view` properties

* Iterator is now mutable and resettable

* Introduction of BidirIterator bidirectional iterators

* List.list_iterator () returns a specialized ListIterator

* Various API contracts clarifications and enhancements

* Introduce List.sort () with TimSort implementation

* Complete Map API rework

* Introduce Queue and Deque interfaces

* Introduce MultiSet and MultiMap interfaces (Ali Sabil)

* Introduce SortedSet interface (Maciej Pietchotka)

 

* New implementations

* HashMultiSet and HashMultiMap (Ali Sabil)

* TreeMultiSet and TreeMultiMap.

* PriorityQueue

* LinkedList now implements Deque

* TreeSet now implements SortedSet (Maciej Pietchotka)

 

* Infrastructure

* New test framework and complete tests refactoring (Julien Peters)

* New doc/ documentation directory (--enable-doc)

* Test coverage analysis using lcov (--enable-coverage)

* Basic benchmark framework and sort benchmark (--enable-benchmark)

* Use silent rules by default for users of automake 1.11

 

* Code Quality

* Many bug fixes

* Many optimizations

* Lots of additional documentation

* Better overall encapsulation, public setters have been removed

* Better test coverage (more than 90%)

 

 

For more information about the 0.5.0 release, see:

http://live.gnome.org/Libgee/NewAndNoteworthy-0.5

http://live.gnome.org/Libgee/Migration-0.5

 

 

Libgee is a collection library providing GObject-based interfaces and

classes for commonly used data structures.

 

Libgee provides the following interfaces:

 

* Iterable

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

 

 

More information about Vala is available at

 

http://live.gnome.org/Libgee

 

 

Didier 'Ptitjes' Villevalois

 

_______________________________________________

 

Share this post


Link to post

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×