diff options
author | Juerg Billeter <j@bitron.ch> | 2008-01-22 13:18:05 +0000 |
---|---|---|
committer | Jürg Billeter <juergbi@src.gnome.org> | 2008-01-22 13:18:05 +0000 |
commit | 635faebfffee0f3edad72ae6bd85ab5318567f13 (patch) | |
tree | ec1e55922277f0c9ceea49870f28ac54b4016239 /gee | |
parent | dab08557dd573d1350b8db94539aa63e30d04aa1 (diff) | |
download | vala-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.vala | 6 | ||||
-rw-r--r-- | gee/hashmap.vala | 8 | ||||
-rw-r--r-- | gee/hashset.vala | 4 | ||||
-rw-r--r-- | gee/iterable.vala | 6 | ||||
-rw-r--r-- | gee/readonlycollection.vala | 6 | ||||
-rw-r--r-- | gee/readonlylist.vala | 6 | ||||
-rw-r--r-- | gee/readonlyset.vala | 6 |
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> (); |