[libgee] Use generics for HashDataFunc and EqualDataFunc, fixes bug 680491
- From: Maciej Marcin Piechotka <mpiechotka src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgee] Use generics for HashDataFunc and EqualDataFunc, fixes bug 680491
- Date: Mon, 6 Aug 2012 01:31:24 +0000 (UTC)
commit 5af26e45281b9ac518d9fcdde4b0bb4cf8563bdf
Author: Evan Nemerson <evan coeus-group com>
Date: Mon Jul 23 15:00:20 2012 -0700
Use generics for HashDataFunc and EqualDataFunc, fixes bug 680491
gee/abstractmultimap.vala | 2 +-
gee/arraylist.vala | 4 ++--
gee/arrayqueue.vala | 4 ++--
gee/concurrentlist.vala | 4 ++--
gee/hashmap.vala | 6 +++---
gee/hashmultimap.vala | 4 ++--
gee/hashmultiset.vala | 6 +++---
gee/hashset.vala | 4 ++--
gee/linkedlist.vala | 4 ++--
gee/treemap.vala | 4 ++--
10 files changed, 21 insertions(+), 21 deletions(-)
---
diff --git a/gee/abstractmultimap.vala b/gee/abstractmultimap.vala
index 61f8a01..1581629 100644
--- a/gee/abstractmultimap.vala
+++ b/gee/abstractmultimap.vala
@@ -49,7 +49,7 @@ public abstract class Gee.AbstractMultiMap<K,V> : Object, MultiMap<K,V> {
protected abstract MultiSet<K> create_multi_key_set ();
- protected abstract EqualDataFunc get_value_equal_func ();
+ protected abstract EqualDataFunc<V> get_value_equal_func ();
public Set<K> get_keys () {
return _storage_map.keys;
diff --git a/gee/arraylist.vala b/gee/arraylist.vala
index 3f7018e..17c9f6b 100644
--- a/gee/arraylist.vala
+++ b/gee/arraylist.vala
@@ -55,7 +55,7 @@ public class Gee.ArrayList<G> : AbstractBidirList<G> {
/**
* The elements' equality testing function.
*/
- public EqualDataFunc equal_func { private set; get; }
+ public EqualDataFunc<G> equal_func { private set; get; }
internal G[] _items = new G[4];
internal int _size;
@@ -71,7 +71,7 @@ public class Gee.ArrayList<G> : AbstractBidirList<G> {
*
* @param equal_func an optional element equality testing function
*/
- public ArrayList (owned EqualDataFunc? equal_func = null) {
+ public ArrayList (owned EqualDataFunc<G>? equal_func = null) {
if (equal_func == null) {
equal_func = Functions.get_equal_func_for (typeof (G));
}
diff --git a/gee/arrayqueue.vala b/gee/arrayqueue.vala
index 2ab16b4..4e08623 100644
--- a/gee/arrayqueue.vala
+++ b/gee/arrayqueue.vala
@@ -40,7 +40,7 @@ public class Gee.ArrayQueue<G> : Gee.AbstractQueue<G>, Deque<G> {
*
* @param equal_func an optional element equality testing function
*/
- public ArrayQueue (owned EqualDataFunc? equal_func = null) {
+ public ArrayQueue (owned EqualDataFunc<G>? equal_func = null) {
if (equal_func == null) {
equal_func = Functions.get_equal_func_for (typeof (G));
}
@@ -48,7 +48,7 @@ public class Gee.ArrayQueue<G> : Gee.AbstractQueue<G>, Deque<G> {
this._items = new G[10];
}
- public EqualDataFunc equal_func { private set; get; }
+ public EqualDataFunc<G> equal_func { private set; get; }
/**
* { inheritDoc}
diff --git a/gee/concurrentlist.vala b/gee/concurrentlist.vala
index e57c7ec..6d8e468 100644
--- a/gee/concurrentlist.vala
+++ b/gee/concurrentlist.vala
@@ -32,7 +32,7 @@ public class Gee.ConcurrentList<G> : AbstractList<G> {
/**
* The elements' equality testing function.
*/
- public Gee.EqualDataFunc equal_func { private set; get; }
+ public Gee.EqualDataFunc<G> equal_func { private set; get; }
/**
* Construct new, empty single linked list
@@ -42,7 +42,7 @@ public class Gee.ConcurrentList<G> : AbstractList<G> {
*
* @param equal_func an optional element equality testing function
*/
- public ConcurrentList (owned Gee.EqualDataFunc? equal_func = null) {
+ public ConcurrentList (owned Gee.EqualDataFunc<G>? equal_func = null) {
if (equal_func == null)
equal_func = Gee.Functions.get_equal_func_for (typeof (G));
this.equal_func = (owned)equal_func;
diff --git a/gee/hashmap.vala b/gee/hashmap.vala
index 15e60f1..16234c8 100644
--- a/gee/hashmap.vala
+++ b/gee/hashmap.vala
@@ -101,12 +101,12 @@ public class Gee.HashMap<K,V> : Gee.AbstractMap<K,V> {
/**
* The keys' equality testing function.
*/
- public EqualDataFunc key_equal_func { private set; get; }
+ public EqualDataFunc<K> key_equal_func { private set; get; }
/**
* The values' equality testing function.
*/
- public EqualDataFunc value_equal_func { private set; get; }
+ public EqualDataFunc<V> value_equal_func { private set; get; }
private int _array_size;
private int _nnodes;
@@ -132,7 +132,7 @@ public class Gee.HashMap<K,V> : Gee.AbstractMap<K,V> {
* @param key_equal_func an optional key equality testing function
* @param value_equal_func an optional value equality testing function
*/
- public HashMap (owned HashDataFunc? key_hash_func = null, owned EqualDataFunc? key_equal_func = null, owned EqualDataFunc? value_equal_func = null) {
+ public HashMap (owned HashDataFunc<K>? key_hash_func = null, owned EqualDataFunc<K>? key_equal_func = null, owned EqualDataFunc<V>? value_equal_func = null) {
if (key_hash_func == null) {
key_hash_func = Functions.get_hash_func_for (typeof (K));
}
diff --git a/gee/hashmultimap.vala b/gee/hashmultimap.vala
index 5be67bd..08fc5cd 100644
--- a/gee/hashmultimap.vala
+++ b/gee/hashmultimap.vala
@@ -28,13 +28,13 @@ public class Gee.HashMultiMap<K,V> : AbstractMultiMap<K,V> {
get { return ((HashMap<K, Set<V>>) _storage_map).key_hash_func; }
}
- public EqualDataFunc key_equal_func {
+ public EqualDataFunc<K> key_equal_func {
get { return ((HashMap<K, Set<V>>) _storage_map).key_equal_func; }
}
public HashDataFunc<V> value_hash_func { private set; get; }
- public EqualDataFunc value_equal_func { private set; get; }
+ public EqualDataFunc<V> value_equal_func { private set; get; }
/**
* Constructs a new, empty hash multimap.
diff --git a/gee/hashmultiset.vala b/gee/hashmultiset.vala
index 76d7954..2e59c07 100644
--- a/gee/hashmultiset.vala
+++ b/gee/hashmultiset.vala
@@ -24,11 +24,11 @@
* Hash table implementation of the { link MultiSet} interface.
*/
public class Gee.HashMultiSet<G> : AbstractMultiSet<G> {
- public HashDataFunc hash_func {
+ public HashDataFunc<G> hash_func {
get { return ((HashMap<G, int>) _storage_map).key_hash_func; }
}
- public EqualDataFunc equal_func {
+ public EqualDataFunc<G> equal_func {
get { return ((HashMap<G, int>) _storage_map).key_equal_func; }
}
@@ -41,7 +41,7 @@ public class Gee.HashMultiSet<G> : AbstractMultiSet<G> {
* @param hash_func an optional element hash function
* @param equal_func an optional element equality testing function
*/
- public HashMultiSet (HashDataFunc? hash_func = null, EqualDataFunc? equal_func = null) {
+ public HashMultiSet (HashDataFunc<G>? hash_func = null, EqualDataFunc<G>? equal_func = null) {
base (new HashMap<G, int> (hash_func, equal_func));
}
}
diff --git a/gee/hashset.vala b/gee/hashset.vala
index 9272aa2..427e84e 100644
--- a/gee/hashset.vala
+++ b/gee/hashset.vala
@@ -25,8 +25,8 @@
using GLib;
namespace Gee {
- public delegate uint HashDataFunc (void* v);
- public delegate bool EqualDataFunc (void* a, void* b);
+ public delegate uint HashDataFunc<T> (T v);
+ public delegate bool EqualDataFunc<T> (T a, T b);
}
/**
diff --git a/gee/linkedlist.vala b/gee/linkedlist.vala
index 575c63b..7f7ef8a 100644
--- a/gee/linkedlist.vala
+++ b/gee/linkedlist.vala
@@ -41,7 +41,7 @@ public class Gee.LinkedList<G> : AbstractBidirList<G>, Queue<G>, Deque<G> {
/**
* The elements' equality testing function.
*/
- public EqualDataFunc equal_func { private set; get; }
+ public EqualDataFunc<G> equal_func { private set; get; }
/**
* Constructs a new, empty linked list.
@@ -51,7 +51,7 @@ public class Gee.LinkedList<G> : AbstractBidirList<G>, Queue<G>, Deque<G> {
*
* @param equal_func an optional element equality testing function
*/
- public LinkedList (owned EqualDataFunc? equal_func = null) {
+ public LinkedList (owned EqualDataFunc<G>? equal_func = null) {
if (equal_func == null) {
equal_func = Functions.get_equal_func_for (typeof (G));
}
diff --git a/gee/treemap.vala b/gee/treemap.vala
index 942778c..236b839 100644
--- a/gee/treemap.vala
+++ b/gee/treemap.vala
@@ -96,7 +96,7 @@ public class Gee.TreeMap<K,V> : Gee.AbstractBidirSortedMap<K,V> {
/**
* The values' equality testing function.
*/
- public EqualDataFunc value_equal_func { private set; get; }
+ public EqualDataFunc<V> value_equal_func { private set; get; }
private int _size = 0;
@@ -114,7 +114,7 @@ public class Gee.TreeMap<K,V> : Gee.AbstractBidirSortedMap<K,V> {
* @param key_compare_func an optional key comparator function
* @param value_equal_func an optional values equality testing function
*/
- public TreeMap (owned CompareDataFunc<K>? key_compare_func = null, owned EqualDataFunc? value_equal_func = null) {
+ public TreeMap (owned CompareDataFunc<K>? key_compare_func = null, owned EqualDataFunc<V>? value_equal_func = null) {
if (key_compare_func == null) {
key_compare_func = Functions.get_compare_func_for (typeof (K));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]