platform/upstream/libgee.git
14 years agoFix shared library build on Windows
Yaakov Selkowitz [Fri, 2 Apr 2010 20:21:45 +0000 (22:21 +0200)]
Fix shared library build on Windows

Fixes bug 601629.

14 years agoFix count equal in *MultiSet
Maciej Piechotka [Wed, 30 Sep 2009 12:55:37 +0000 (14:55 +0200)]
Fix count equal in *MultiSet

Fixes bug 596869.

14 years agoFix remove in MapIterator
Maciej Piechotka [Wed, 30 Sep 2009 10:55:23 +0000 (12:55 +0200)]
Fix remove in MapIterator

Fixes bug 596851.

14 years agoTests are not terminated when they fail in trap
Maciej Piechotka [Tue, 29 Sep 2009 06:01:01 +0000 (08:01 +0200)]
Tests are not terminated when they fail in trap

When code in trap succeeds subprocess should be terminated - not only
test case.

Fixes bug 596703.

14 years agoFixes checking for emptiness of subsets when master set is empty
Maciej Piechotka [Mon, 28 Sep 2009 21:31:40 +0000 (23:31 +0200)]
Fixes checking for emptiness of subsets when master set is empty

Fixes bug 596671.

14 years agoFix documentation comments
Florian Brosch [Fri, 2 Apr 2010 18:59:49 +0000 (20:59 +0200)]
Fix documentation comments

14 years agoFix build with vala master
Jürg Billeter [Sun, 21 Mar 2010 18:49:28 +0000 (19:49 +0100)]
Fix build with vala master

15 years agoPost-release version bump
Didier 'Ptitjes [Sat, 24 Oct 2009 02:00:34 +0000 (04:00 +0200)]
Post-release version bump

15 years agoTimSort: Fix sort of reference counted items
Didier 'Ptitjes [Sat, 24 Oct 2009 01:52:51 +0000 (03:52 +0200)]
TimSort: Fix sort of reference counted items

15 years agoRelease 0.5.0 LIBGEE_0_5_0
Didier 'Ptitjes [Mon, 28 Sep 2009 18:57:58 +0000 (20:57 +0200)]
Release 0.5.0

15 years agoUpdate library's interface to 2:0:0
Didier 'Ptitjes [Mon, 28 Sep 2009 18:57:09 +0000 (20:57 +0200)]
Update library's interface to 2:0:0

15 years agoFix the documentation of all implementations' constructor
Didier 'Ptitjes [Mon, 28 Sep 2009 17:44:32 +0000 (19:44 +0200)]
Fix the documentation of all implementations' constructor

Fixes bug 592817.

15 years agoUpdate .gitignore
Didier 'Ptitjes [Mon, 28 Sep 2009 17:25:29 +0000 (19:25 +0200)]
Update .gitignore

15 years agoSome more documentation enhancements
Didier 'Ptitjes [Mon, 28 Sep 2009 17:22:25 +0000 (19:22 +0200)]
Some more documentation enhancements

15 years agoMake some style consistence enhancements
Didier 'Ptitjes [Mon, 28 Sep 2009 16:45:58 +0000 (18:45 +0200)]
Make some style consistence enhancements

15 years agoReplace old-style asserts in tests
Maciej Piechotka [Sun, 27 Sep 2009 23:50:02 +0000 (01:50 +0200)]
Replace old-style asserts in tests

15 years agoAdd tests for Map.entries
Maciej Piechotka [Sun, 27 Sep 2009 23:41:53 +0000 (01:41 +0200)]
Add tests for Map.entries

15 years agoImplement TreeMultiMap
Didier 'Ptitjes [Mon, 28 Sep 2009 11:57:52 +0000 (13:57 +0200)]
Implement TreeMultiMap

15 years agoEnhance multimap's tests
Didier 'Ptitjes [Mon, 28 Sep 2009 11:33:54 +0000 (13:33 +0200)]
Enhance multimap's tests

15 years agoExtract AbstractMultiMap from HashMultiMap
Didier 'Ptitjes [Mon, 28 Sep 2009 11:07:44 +0000 (13:07 +0200)]
Extract AbstractMultiMap from HashMultiMap

15 years agoVarious documentation enhancements
Didier 'Ptitjes [Sat, 26 Sep 2009 21:32:53 +0000 (23:32 +0200)]
Various documentation enhancements

15 years agoFix {@inheritDoc} tags
Didier 'Ptitjes [Sat, 26 Sep 2009 16:11:43 +0000 (18:11 +0200)]
Fix {@inheritDoc} tags

15 years agoFix filenames in file headers
Didier 'Ptitjes [Sun, 27 Sep 2009 08:22:23 +0000 (10:22 +0200)]
Fix filenames in file headers

15 years agoIntroduce the SortedSet interface and implement it in TreeSet
Maciej Piechotka [Mon, 14 Sep 2009 18:09:43 +0000 (20:09 +0200)]
Introduce the SortedSet interface and implement it in TreeSet

15 years agoAdd missing DEBUG section
Maciej Piechotka [Sun, 27 Sep 2009 13:59:56 +0000 (15:59 +0200)]
Add missing DEBUG section

15 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

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

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

15 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

15 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

15 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

15 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

15 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

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

15 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

15 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

15 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

15 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>>

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

Fixes bug 594940.

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

15 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

15 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

15 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

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

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

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

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

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

15 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

15 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

15 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

15 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

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

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

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

15 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

15 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

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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

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

15 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

15 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

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

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

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

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

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

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

15 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

15 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

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

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

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

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

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

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

15 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

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

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

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

15 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

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

15 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

15 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

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

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

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

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

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

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

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

15 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

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