summaryrefslogtreecommitdiff
path: root/gee
diff options
context:
space:
mode:
authorJuerg Billeter <j@bitron.ch>2008-01-22 13:18:05 +0000
committerJürg Billeter <juergbi@src.gnome.org>2008-01-22 13:18:05 +0000
commit635faebfffee0f3edad72ae6bd85ab5318567f13 (patch)
treeec1e55922277f0c9ceea49870f28ac54b4016239 /gee
parentdab08557dd573d1350b8db94539aa63e30d04aa1 (diff)
downloadvala-635faebfffee0f3edad72ae6bd85ab5318567f13.tar.gz
add get_element_type method to Gee.Iterable
2008-01-22 Juerg Billeter <j@bitron.ch> * gee/arraylist.vala, gee/hashmap.vala, gee/hashset.vala, gee/iterable.vala, gee/readonlycollection.vala, gee/readonlylist.vala, gee/readonlyset.vala: add get_element_type method to Gee.Iterable svn path=/trunk/; revision=882
Diffstat (limited to 'gee')
-rw-r--r--gee/arraylist.vala6
-rw-r--r--gee/hashmap.vala8
-rw-r--r--gee/hashset.vala4
-rw-r--r--gee/iterable.vala6
-rw-r--r--gee/readonlycollection.vala6
-rw-r--r--gee/readonlylist.vala6
-rw-r--r--gee/readonlyset.vala6
7 files changed, 37 insertions, 5 deletions
diff --git a/gee/arraylist.vala b/gee/arraylist.vala
index b5e83da65..4a49b48e2 100644
--- a/gee/arraylist.vala
+++ b/gee/arraylist.vala
@@ -2,7 +2,7 @@
*
* Copyright (C) 2004-2005 Novell, Inc
* Copyright (C) 2005 David Waite
- * Copyright (C) 2007 Jürg Billeter
+ * Copyright (C) 2007-2008 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -46,6 +46,10 @@ public class Gee.ArrayList<G> : Object, Iterable<G>, Collection<G>, List<G> {
public ArrayList (construct EqualFunc equal_func = GLib.direct_equal) {
}
+ public Type get_element_type () {
+ return typeof (G);
+ }
+
public Gee.Iterator<G> iterator () {
return new Iterator<G> (this);
}
diff --git a/gee/hashmap.vala b/gee/hashmap.vala
index 2de53250f..c6cd0f940 100644
--- a/gee/hashmap.vala
+++ b/gee/hashmap.vala
@@ -188,6 +188,10 @@ public class Gee.HashMap<K,V> : Object, Map<K,V> {
public KeySet (construct HashMap! map) {
}
+ public Type get_element_type () {
+ return typeof (K);
+ }
+
public Iterator<K> iterator () {
return new KeyIterator<K,V> (_map);
}
@@ -261,6 +265,10 @@ public class Gee.HashMap<K,V> : Object, Map<K,V> {
public ValueCollection (construct HashMap! map) {
}
+ public Type get_element_type () {
+ return typeof (V);
+ }
+
public Iterator<V> iterator () {
return new ValueIterator<K,V> (_map);
}
diff --git a/gee/hashset.vala b/gee/hashset.vala
index ad076bd4f..afa674d1d 100644
--- a/gee/hashset.vala
+++ b/gee/hashset.vala
@@ -75,6 +75,10 @@ public class Gee.HashSet<G> : Object, Iterable<G>, Collection<G>, Set<G> {
return (*node != null);
}
+ public Type get_element_type () {
+ return typeof (G);
+ }
+
public Gee.Iterator<G> iterator () {
return new Iterator<G> (this);
}
diff --git a/gee/iterable.vala b/gee/iterable.vala
index 2b9176df6..ca13109c2 100644
--- a/gee/iterable.vala
+++ b/gee/iterable.vala
@@ -1,6 +1,6 @@
/* iterable.vala
*
- * Copyright (C) 2007 Jürg Billeter
+ * Copyright (C) 2007-2008 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -20,11 +20,15 @@
* Jürg Billeter <j@bitron.ch>
*/
+using GLib;
+
/**
* Implemented by classes that support a simple iteration over instances of the
* collection.
*/
public interface Gee.Iterable<G> : GLib.Object {
+ public abstract Type get_element_type ();
+
/**
* Returns a Iterator that can be used for simple iteration over a
* collection.
diff --git a/gee/readonlycollection.vala b/gee/readonlycollection.vala
index ecf900293..eaee2b0e0 100644
--- a/gee/readonlycollection.vala
+++ b/gee/readonlycollection.vala
@@ -1,6 +1,6 @@
/* readonlycollection.vala
*
- * Copyright (C) 2007 Jürg Billeter
+ * Copyright (C) 2007-2008 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -39,6 +39,10 @@ public class Gee.ReadOnlyCollection<G> : Object, Iterable<G>, Collection<G> {
public ReadOnlyCollection (construct Collection<G> collection = null) {
}
+ public Type get_element_type () {
+ return typeof (G);
+ }
+
public Gee.Iterator<G> iterator () {
if (_collection == null) {
return new Iterator<G> ();
diff --git a/gee/readonlylist.vala b/gee/readonlylist.vala
index 4f8741f5f..a7b187a28 100644
--- a/gee/readonlylist.vala
+++ b/gee/readonlylist.vala
@@ -1,6 +1,6 @@
/* readonlylist.vala
*
- * Copyright (C) 2007 Jürg Billeter
+ * Copyright (C) 2007-2008 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -39,6 +39,10 @@ public class Gee.ReadOnlyList<G> : Object, Iterable<G>, Collection<G>, List<G> {
public ReadOnlyList (construct List<G> list = null) {
}
+ public Type get_element_type () {
+ return typeof (G);
+ }
+
public Gee.Iterator<G> iterator () {
if (_list == null) {
return new Iterator<G> ();
diff --git a/gee/readonlyset.vala b/gee/readonlyset.vala
index edd8a06f8..492ec80b4 100644
--- a/gee/readonlyset.vala
+++ b/gee/readonlyset.vala
@@ -1,6 +1,6 @@
/* readonlyset.vala
*
- * Copyright (C) 2007 Jürg Billeter
+ * Copyright (C) 2007-2008 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -39,6 +39,10 @@ public class Gee.ReadOnlySet<G> : Object, Iterable<G>, Collection<G>, Set<G> {
public ReadOnlySet (construct Set<G> set = null) {
}
+ public Type get_element_type () {
+ return typeof (G);
+ }
+
public Gee.Iterator<G> iterator () {
if (_set == null) {
return new Iterator<G> ();