platform/upstream/libgee.git
14 years agoMake the coverage analysis on Vala code insteead of C code
Didier 'Ptitjes [Sat, 26 Sep 2009 23:35:11 +0000 (01:35 +0200)]
Make the coverage analysis on Vala code insteead of C code

14 years agoFix TestCase against Vala master
Didier 'Ptitjes [Fri, 25 Sep 2009 20:16:43 +0000 (22:16 +0200)]
Fix TestCase against Vala master

14 years agoFix PriorityQueue implementation
Didier 'Ptitjes [Sat, 26 Sep 2009 05:15:12 +0000 (07:15 +0200)]
Fix PriorityQueue implementation

The implementation was broken. The unused code, because we do not provide
a queue merge operation, was put inside #if false directives and left in case we
want to support that in the future. The debug code was enhanced too.

14 years agoFix move_red_right and move_red_left in the Tree implementations
Maciej Piechotka [Sat, 19 Sep 2009 20:59:33 +0000 (22:59 +0200)]
Fix move_red_right and move_red_left in the Tree implementations

Fixes bug 595703.

Also:
 - For simplification move to 2-3 LLRB tree.
 - Add CONSTSTENCY_CHECK and DEBUG options

14 years agoAdd more add and remove tests
Maciej Piechotka [Sat, 26 Sep 2009 05:14:06 +0000 (07:14 +0200)]
Add more add and remove tests

14 years agoFix a bug in PriorityQueue's iterator
Didier 'Ptitjes [Fri, 25 Sep 2009 20:14:47 +0000 (22:14 +0200)]
Fix a bug in PriorityQueue's iterator

14 years agoFix warnings due to comparison to strcmp
Didier 'Ptitjes [Fri, 25 Sep 2009 20:04:41 +0000 (22:04 +0200)]
Fix warnings due to comparison to strcmp

14 years agoUse silent rules for users of automake 1.11
Didier 'Ptitjes [Fri, 25 Sep 2009 20:03:42 +0000 (22:03 +0200)]
Use silent rules for users of automake 1.11

14 years agoFix some missing pointer casts
Didier 'Ptitjes [Fri, 25 Sep 2009 13:29:39 +0000 (15:29 +0200)]
Fix some missing pointer casts

14 years agoFix item count decrementation on removal in AbstractMultiSet
Didier 'Ptitjes [Wed, 23 Sep 2009 22:57:51 +0000 (00:57 +0200)]
Fix item count decrementation on removal in AbstractMultiSet

14 years agoIntroduce Map.key_type and Map.value_type
Didier 'Ptitjes [Wed, 23 Sep 2009 22:51:55 +0000 (00:51 +0200)]
Introduce Map.key_type and Map.value_type

14 years agoIntroduce immutable empty collection, list, set and map
Didier 'Ptitjes [Wed, 23 Sep 2009 22:41:14 +0000 (00:41 +0200)]
Introduce immutable empty collection, list, set and map

14 years agoMake Map<K,V> be an Iterable<Map.Entry<K,V>>
Didier 'Ptitjes [Wed, 23 Sep 2009 21:57:42 +0000 (23:57 +0200)]
Make Map<K,V> be an Iterable<Map.Entry<K,V>>

14 years agoImplement TreeMultiSet
Didier 'Ptitjes [Wed, 23 Sep 2009 21:08:16 +0000 (23:08 +0200)]
Implement TreeMultiSet

Fixes bug 594940.

14 years agoExtract AbstractMultiSet from HashMultiSet
Didier 'Ptitjes [Wed, 23 Sep 2009 20:54:23 +0000 (22:54 +0200)]
Extract AbstractMultiSet from HashMultiSet

14 years agoIntroduce MapIterator<K,V> and implement it in HashMap and TreeMap
Didier 'Ptitjes [Wed, 23 Sep 2009 20:33:04 +0000 (22:33 +0200)]
Introduce MapIterator<K,V> and implement it in HashMap and TreeMap

14 years agoFix the iterators of the TreeMap and TreeSet implementations
Maciej Piechotka [Wed, 16 Sep 2009 18:42:58 +0000 (20:42 +0200)]
Fix the iterators of the TreeMap and TreeSet implementations

14 years agoEnhance the tests for the ReadOnly* implementations
Didier 'Ptitjes [Sun, 20 Sep 2009 01:03:00 +0000 (03:03 +0200)]
Enhance the tests for the ReadOnly* implementations

14 years agoReuse the keys, values and entries view instances where possible
Didier 'Ptitjes [Sun, 20 Sep 2009 15:19:17 +0000 (17:19 +0200)]
Reuse the keys, values and entries view instances where possible

We use the same mechanism as for the read-only views.

14 years agoIntroduce the Map.Entry<K,V> class and the Map.entries property
Didier 'Ptitjes [Sun, 20 Sep 2009 14:25:17 +0000 (16:25 +0200)]
Introduce the Map.Entry<K,V> class and the Map.entries property

We also use Map.entries to optimize the implementations of
set_all, has_all and HashMultiMap by avoiding the common pattern:
iterate on keys and for each key get the associated value.

14 years agoIntroduce the Map.has (K key, V value) method
Didier 'Ptitjes [Sun, 20 Sep 2009 14:23:51 +0000 (16:23 +0200)]
Introduce the Map.has (K key, V value) method

Also we use Map.has to fix the implementation of has_all.

14 years agoModify the Map interface API
Didier 'Ptitjes [Sun, 20 Sep 2009 14:00:39 +0000 (16:00 +0200)]
Modify the Map interface API

We do apply the following renaming:
 - remove to unset
 - contains to has_key
 - remove_all to unset_all
 - contains_all to has_all

Old methods are documented as deprecated.

Also get_keys() and get_values() are transformed into properties.

14 years agoFix fix_up method in the TreeSet and TreeMap implementations
Maciej Piechotka [Sat, 19 Sep 2009 20:59:33 +0000 (22:59 +0200)]
Fix fix_up method in the TreeSet and TreeMap implementations

Fixes bug 595703.

14 years agoAdd a dependency to gee's vapi in tests' Makefile
Didier 'Ptitjes [Sun, 20 Sep 2009 01:14:31 +0000 (03:14 +0200)]
Add a dependency to gee's vapi in tests' Makefile

14 years agoIntroduce the Comparable interface and provide a CompareFunc for it
Didier 'Ptitjes [Sun, 20 Sep 2009 00:53:17 +0000 (02:53 +0200)]
Introduce the Comparable interface and provide a CompareFunc for it

14 years agoRemove unusefull private setter only and construct only properties
Didier 'Ptitjes [Sat, 19 Sep 2009 15:40:13 +0000 (17:40 +0200)]
Remove unusefull private setter only and construct only properties

14 years agoFix first() and last() signatures in AbstractList
Didier 'Ptitjes [Sat, 19 Sep 2009 15:18:22 +0000 (17:18 +0200)]
Fix first() and last() signatures in AbstractList

14 years agoRefactor the Set implementations' tests
Didier 'Ptitjes [Tue, 15 Sep 2009 23:46:58 +0000 (01:46 +0200)]
Refactor the Set implementations' tests

Fixes bug 594241.

14 years agoFix some bugs in TreeSet implementation
Didier 'Ptitjes [Tue, 15 Sep 2009 23:51:28 +0000 (01:51 +0200)]
Fix some bugs in TreeSet implementation

Fixes part of bug 594868.

The access to child nodes two level deeper does not check that the
child at the intermediate level is not null.
Also has_next was incorrectly handled in case of an empty set.

14 years agoRemove construct block in HashSet
Didier 'Ptitjes [Tue, 15 Sep 2009 23:48:23 +0000 (01:48 +0200)]
Remove construct block in HashSet

Removing construct block enables the use of Vala's constructor chain up.

14 years agoMake Functions class a namespace and fix copyright and authorship
Didier 'Ptitjes [Tue, 15 Sep 2009 23:53:38 +0000 (01:53 +0200)]
Make Functions class a namespace and fix copyright and authorship

14 years agoIntroduce the ListIterator interface and make lists implement it
Didier 'Ptitjes [Tue, 15 Sep 2009 11:33:29 +0000 (13:33 +0200)]
Introduce the ListIterator interface and make lists implement it

14 years agoIntroduce the BidirIterator interface
Maciej Piechotka [Mon, 14 Sep 2009 18:09:43 +0000 (20:09 +0200)]
Introduce the BidirIterator interface

14 years agoIntroduce remove method to the Iterator interface
Didier 'Ptitjes [Tue, 15 Sep 2009 15:07:36 +0000 (17:07 +0200)]
Introduce remove method to the Iterator interface

14 years agoAdd has_next and first methods to the Iterator interface
Didier 'Ptitjes [Mon, 14 Sep 2009 18:51:06 +0000 (20:51 +0200)]
Add has_next and first methods to the Iterator interface

14 years agoFix and improve the TreeMap and TreeSet implementations
Maciej Piechotka [Mon, 14 Sep 2009 10:32:28 +0000 (12:32 +0200)]
Fix and improve the TreeMap and TreeSet implementations

14 years agoFix read-only view unique instance test
Didier 'Ptitjes [Mon, 14 Sep 2009 21:06:14 +0000 (23:06 +0200)]
Fix read-only view unique instance test

14 years agoFix benchmark's build with vala master
Didier 'Ptitjes [Mon, 14 Sep 2009 21:05:01 +0000 (23:05 +0200)]
Fix benchmark's build with vala master

14 years agoFix build with vala master
Jürg Billeter [Mon, 14 Sep 2009 20:16:06 +0000 (22:16 +0200)]
Fix build with vala master

14 years agoAdd some tests for List.slice
Didier 'Ptitjes [Mon, 14 Sep 2009 17:15:18 +0000 (19:15 +0200)]
Add some tests for List.slice

14 years agoFix List.get API contract and fix implementations accordingly
Didier 'Ptitjes [Mon, 14 Sep 2009 17:09:53 +0000 (19:09 +0200)]
Fix List.get API contract and fix implementations accordingly

14 years agoAdd tests for GObject properties
Didier 'Ptitjes [Mon, 14 Sep 2009 16:55:58 +0000 (18:55 +0200)]
Add tests for GObject properties

14 years agoIntroduce PriorityQueue implementation of the Queue interface
Didier 'Ptitjes [Fri, 11 Sep 2009 22:09:36 +0000 (00:09 +0200)]
Introduce PriorityQueue implementation of the Queue interface

14 years agoUse non-nullable capacities and a constant to specify unbounded
Didier 'Ptitjes [Mon, 14 Sep 2009 16:34:09 +0000 (18:34 +0200)]
Use non-nullable capacities and a constant to specify unbounded

14 years agoMake Slice<G> a private inner class of TimSort<G>
Didier 'Ptitjes [Mon, 14 Sep 2009 13:50:23 +0000 (15:50 +0200)]
Make Slice<G> a private inner class of TimSort<G>

Inline methods are now inlined correctly by gcc.

14 years agoRefactor the Map implementations' tests
Julien Peeters [Fri, 11 Sep 2009 19:03:09 +0000 (21:03 +0200)]
Refactor the Map implementations' tests

Fixes part of bug 594241.

14 years agoFix a bug in TreeMap implementation
Julien Peeters [Fri, 11 Sep 2009 19:01:27 +0000 (21:01 +0200)]
Fix a bug in TreeMap implementation

Fixes part of bug 594868.

The access to child nodes two level deeper does not check that the
child at the intermediate level is not null.

14 years agoChange the Iterator.get method signature and fix implementations
Julien Peeters [Fri, 11 Sep 2009 14:04:08 +0000 (16:04 +0200)]
Change the Iterator.get method signature and fix implementations

Fixes part of bug 594868.

Change the return type of the Iterator.get method from G? to G and
apply those changes to implementations: ArrayList, HashMap,
HashMultiSet, HashSet, LinkedList, TreeMap, TreeSet.

14 years agoImprove the access to first and last elements in LinkedList
Julien Peeters [Fri, 11 Sep 2009 11:41:16 +0000 (13:41 +0200)]
Improve the access to first and last elements in LinkedList

Fixes part of bug 594868.

The signature of first and last properties in List did not take in account the
fact that lists permit null elements. Their type has been changed from G? to G
to reflect this.

Also we optimized the access to first and last elements in LinkedList, which can
be made through head and tail pointers directly.

14 years agoImprove the read-only view property by using weak pointers
Julien Peeters [Thu, 10 Sep 2009 16:15:13 +0000 (18:15 +0200)]
Improve the read-only view property by using weak pointers

Fixes bug 594758.

By using weak pointers the read-only view is destroyed when there is no
references to it anymore.

14 years agoIntroduce Queue and Deque interfaces, and implement them in LinkedList
Didier 'Ptitjes [Fri, 11 Sep 2009 08:05:00 +0000 (10:05 +0200)]
Introduce Queue and Deque interfaces, and implement them in LinkedList

14 years agoMake List.remove_at return the removed element
Didier 'Ptitjes [Fri, 11 Sep 2009 07:49:54 +0000 (09:49 +0200)]
Make List.remove_at return the removed element

14 years agoDÃefinitiely remove trailing whitespaces
Didier 'Ptitjes [Fri, 11 Sep 2009 16:06:53 +0000 (18:06 +0200)]
DÃefinitiely remove trailing whitespaces

14 years agoMake TimSort a GObject
Didier 'Ptitjes [Thu, 10 Sep 2009 14:52:32 +0000 (16:52 +0200)]
Make TimSort a GObject

14 years agoSetup test code coverage with lcov
Didier 'Ptitjes [Thu, 10 Sep 2009 14:31:29 +0000 (16:31 +0200)]
Setup test code coverage with lcov

Code coverage analysis is enabled with --enable-coverage.

14 years agoAdd missing --library in addition to --vapi in gee/Makefile
Didier 'Ptitjes [Wed, 9 Sep 2009 23:24:50 +0000 (01:24 +0200)]
Add missing --library in addition to --vapi in gee/Makefile

The --gir option is not activated is --library is missing.

14 years agoHide read-only views and make them accessible through a property
Julien Peeters [Tue, 8 Sep 2009 23:00:20 +0000 (01:00 +0200)]
Hide read-only views and make them accessible through a property

Fixes bug 594578.

A new read_only_view property is introduced in the Collection, List, Set and Map
interfaces. The AbstractSet class is introduced to put the common code for the
read_only_view property.

14 years agoIntroduce benchmarks
Didier 'Ptitjes [Wed, 9 Sep 2009 20:06:26 +0000 (22:06 +0200)]
Introduce benchmarks

14 years agoIntroduce TimSort and the public sorting API
Didier 'Ptitjes [Wed, 9 Sep 2009 20:25:00 +0000 (22:25 +0200)]
Introduce TimSort and the public sorting API

14 years agoRemove possibility of passing null to constructors of ReadOnly* classes
Maciej Piechotka [Sun, 6 Sep 2009 22:47:57 +0000 (00:47 +0200)]
Remove possibility of passing null to constructors of ReadOnly* classes

Fixes bug 590305.

14 years agoChange ReadOnlySet to inherit from ReadOnlyCollection.
Tomaž Vajngerl [Mon, 3 Aug 2009 20:09:24 +0000 (22:09 +0200)]
Change ReadOnlySet to inherit from ReadOnlyCollection.

Fixes part of bug 590677.

14 years agoChange ReadOnlyList to inherit from ReadOnlyCollection.
Tomaž Vajngerl [Mon, 3 Aug 2009 20:10:48 +0000 (22:10 +0200)]
Change ReadOnlyList to inherit from ReadOnlyCollection.

Fixes part of bug 590677.

14 years agoFix ReadOnlyCollection and ReadOnlyMap encapsulation failure
Didier 'Ptitjes [Sun, 6 Sep 2009 22:38:53 +0000 (00:38 +0200)]
Fix ReadOnlyCollection and ReadOnlyMap encapsulation failure

14 years agoAdd tests for ReadOnlyCollection and ReadOnlyList
Tomaž Vajngerl [Sun, 6 Sep 2009 20:37:00 +0000 (22:37 +0200)]
Add tests for ReadOnlyCollection and ReadOnlyList

Fixes part of bug 590677.

Contains missing tests for ReadOnlyCollection and ReadOnlyList following
the new tests implementation.

14 years agoIntroduce the MultiMap interface and its hash based implementation
Ali Sabil [Sun, 6 Sep 2009 19:24:35 +0000 (21:24 +0200)]
Introduce the MultiMap interface and its hash based implementation

14 years agoIntroduce the MultiSet interface and its hash based implementation
Ali Sabil [Sun, 6 Sep 2009 18:35:53 +0000 (20:35 +0200)]
Introduce the MultiSet interface and its hash based implementation

14 years agoReuse generic Collection and List tests for LinkedList
Julien Peeters [Sun, 6 Sep 2009 18:47:17 +0000 (20:47 +0200)]
Reuse generic Collection and List tests for LinkedList

LinkedList tests now follow the same way of testing than ArrayList ones.
LinkedList tests inherit from the ListTests.

14 years agoFix misunderstanding about ArrayList.{retain,remove}_all semantics
Julien Peeters [Sun, 6 Sep 2009 18:38:25 +0000 (20:38 +0200)]
Fix misunderstanding about ArrayList.{retain,remove}_all semantics

These methods did not match the semantic of the Collection interface ones.
Then they are deleted in order to use the implementation in
AbstractCollection.

By the way, few optimization could probably be found for these methods in
the case of ArrayList.

14 years agoAdd generic tests for collections and lists and refactor ArrayListTests
Julien Peeters [Sat, 5 Sep 2009 16:29:58 +0000 (18:29 +0200)]
Add generic tests for collections and lists and refactor ArrayListTests

Fixes part of bug 594241.

14 years agoSome more enhancements to the test infrastructure
Julien Peeters [Sat, 5 Sep 2009 14:25:54 +0000 (16:25 +0200)]
Some more enhancements to the test infrastructure

TestCase is a more appropriate name, and so are set_up and tear_down.

14 years agoAdding a short descriptive introduction for each implementation class.
Julien Peeters [Sat, 5 Sep 2009 09:21:29 +0000 (11:21 +0200)]
Adding a short descriptive introduction for each implementation class.

Generally this introduction consists of a implementation description and
few word about comparison with other structures.

14 years agoAdding a first very basic documentation to data types implementations.
Julien Peeters [Fri, 4 Sep 2009 16:07:08 +0000 (18:07 +0200)]
Adding a first very basic documentation to data types implementations.

When a data type method is already documented in a super class or
in an interface the '@inheritDoc' parameter is set.

14 years agoInitial documentation infrastructure import
Didier 'Ptitjes [Fri, 4 Sep 2009 00:44:48 +0000 (02:44 +0200)]
Initial documentation infrastructure import

14 years agoFixing generics typo in HashMap's Value collection
Didier 'Ptitjes [Thu, 3 Sep 2009 22:14:53 +0000 (00:14 +0200)]
Fixing generics typo in HashMap's Value collection

14 years agoChange inner classes' properties from construct to private set
Didier 'Ptitjes [Thu, 3 Sep 2009 18:57:00 +0000 (20:57 +0200)]
Change inner classes' properties from construct to private set

Removing construct properties enables the use of Vala's constructor chain up.

14 years agoProvide sane defaults for equal, hash and compare functions
Didier 'Ptitjes [Wed, 26 Aug 2009 13:41:53 +0000 (15:41 +0200)]
Provide sane defaults for equal, hash and compare functions

14 years agoChange *_func properties from construct to private set
Didier 'Ptitjes [Wed, 26 Aug 2009 13:38:49 +0000 (15:38 +0200)]
Change *_func properties from construct to private set

Removing construct properties enables to use Vala's constructor chain up.

14 years agoPost-release version bump
Didier 'Ptitjes [Wed, 5 Aug 2009 11:07:11 +0000 (13:07 +0200)]
Post-release version bump

14 years agoRelease 0.3.0 LIBGEE_0_3_0
Didier 'Ptitjes [Wed, 5 Aug 2009 11:04:30 +0000 (13:04 +0200)]
Release 0.3.0

14 years agoEnhanced Map removal to optionally retrieve removed value
Didier 'Ptitjes [Wed, 5 Aug 2009 08:26:07 +0000 (10:26 +0200)]
Enhanced Map removal to optionally retrieve removed value

Fixes bug 587134.

14 years agoRemove invalid to_array implementation and re-enable test
Didier 'Ptitjes [Tue, 4 Aug 2009 23:20:23 +0000 (01:20 +0200)]
Remove invalid to_array implementation and re-enable test

14 years agoBump library's version info
Didier 'Ptitjes [Mon, 3 Aug 2009 09:48:27 +0000 (11:48 +0200)]
Bump library's version info

15 years agoTemporarily disable to_array test
Didier 'Ptitjes [Fri, 31 Jul 2009 16:15:16 +0000 (18:15 +0200)]
Temporarily disable to_array test

15 years agoAdd Map.is_empty|set_all|remove_all|contains_all and AbstractMap implementations
Tomaž Vajngerl [Sun, 26 Jul 2009 10:49:27 +0000 (12:49 +0200)]
Add Map.is_empty|set_all|remove_all|contains_all and AbstractMap implementations

Fixes bug 589902.

15 years agoAdd List.first|last|insert_all methods and AbstractList implementations
Tomaž Vajngerl [Sun, 26 Jul 2009 10:33:49 +0000 (12:33 +0200)]
Add List.first|last|insert_all methods and AbstractList implementations

Fixes bug 589894.

15 years agoAdded Collection.is_empty|add_all|contains_all|remove_all|retain_all
Tomaž Vajngerl [Sat, 25 Jul 2009 15:24:41 +0000 (17:24 +0200)]
Added Collection.is_empty|add_all|contains_all|remove_all|retain_all

Fixes bug 589690.

15 years agoMake Iterable.get_element_type a property
Maciej Piechotka [Fri, 31 Jul 2009 12:59:01 +0000 (14:59 +0200)]
Make Iterable.get_element_type a property

Fixes bug 589551.

15 years agoRemove unused inherited interface declarations
Didier 'Ptitjes [Fri, 31 Jul 2009 12:50:47 +0000 (14:50 +0200)]
Remove unused inherited interface declarations

15 years agoFix list of maintainers
Didier 'Ptitjes [Fri, 31 Jul 2009 10:23:11 +0000 (12:23 +0200)]
Fix list of maintainers

15 years agoFix invalid test commit
Didier 'Ptitjes [Mon, 27 Jul 2009 21:46:34 +0000 (23:46 +0200)]
Fix invalid test commit

15 years agoMake TestFixture's setup and teardown methods virtual
Julien Peeters [Mon, 27 Jul 2009 20:50:00 +0000 (22:50 +0200)]
Make TestFixture's setup and teardown methods virtual

15 years agoInitial rework for tests
Didier 'Ptitjes [Mon, 27 Jul 2009 20:39:32 +0000 (22:39 +0200)]
Initial rework for tests

15 years agoFix AbstractCollection.to_array method
Didier 'Ptitjes [Mon, 27 Jul 2009 20:16:54 +0000 (22:16 +0200)]
Fix AbstractCollection.to_array method

15 years agoAdd test fixture helper
Julien Peeters [Mon, 27 Jul 2009 20:09:21 +0000 (22:09 +0200)]
Add test fixture helper

15 years agoIntroduce Collection.to_array() method
Didier 'Ptitjes [Thu, 23 Jul 2009 22:41:03 +0000 (00:41 +0200)]
Introduce Collection.to_array() method

A default naive implementation is provided in AbstractCollection. This
implementation is overriden in ArrayList in order to take benefit of its array
nature.

15 years agoIntroduce AbstractCollection base class
Didier 'Ptitjes [Thu, 23 Jul 2009 12:05:31 +0000 (14:05 +0200)]
Introduce AbstractCollection base class

All collection implementations now have a common AbstractCollection base class
and now share the implementation of the get_element_type() method.

15 years agoRemove unused variable in tests
Didier 'Ptitjes [Thu, 23 Jul 2009 12:17:27 +0000 (14:17 +0200)]
Remove unused variable in tests

15 years agoFix generic parameter typo
Didier 'Ptitjes [Thu, 23 Jul 2009 11:42:46 +0000 (13:42 +0200)]
Fix generic parameter typo

15 years agoAdd doubly linked list implementation
Mark Lee [Thu, 23 Jul 2009 08:15:27 +0000 (10:15 +0200)]
Add doubly linked list implementation

Fixes bug 584032.

15 years agoMake func and wrappee properties non-updatable
Maciej Piechotka [Sun, 24 May 2009 14:37:07 +0000 (16:37 +0200)]
Make func and wrappee properties non-updatable

Fixes bug 583723.

Signed-off-by: Didier 'Ptitjes <ptitjes@free.fr>