Re: [Vala] Libgee's Roadmap proposal



Dne 21. červenec 2009 17:06 Jiří Zárevúcky <zarevucky jiri gmail com> napsal(a):
2009/7/21 Julien Fontanet <julien fontanet isonoe net>:
Didier "Ptitjes" <ptitjes    > writes:

Jiří Zárevúcky wrote:
2009/7/20 Didier "Ptitjes" <ptitjes <at> free.fr>:
- Are there some things missing ?


Could you fit in making Map interface a Collection? It is technically
a collection of key-value pairs, and I see no reason why the interface
shouldn't reflect it. :)

Yeah. I agree on that, hence my question in the first mail about
exposing an interface for map entries (that key/value pairs).

How is that possible, the methods' signatures do not match:
 - Collection.add (G item) vs. Map.set (K key, V value)
 - Collection.contains (G item) vs. Map.contains (K key)
 - Collection.remove (K item) vs. Map.remove (K key)

Collection implements Iterable which provides this method: Iterator<G>
iterator () whereas it should be Iterator<Pair<K, V>> iterator () for Map.


The trick is that Map<K, V> would implement interface
Collection<Pair<K, V>>. Unless there is some serious bug in Vala, it
would work perfectly. The .NET framework does it this way and it
always worked perfectly for me.


Ah, I misunderstood your point. You mean that there already are
methods with different signatures then required by the interface.

Well, in that case, it's also simple. The colliding methods have to be
implemented explicitly. nobody would use contains and remove with Pair
on map anyway. I just don't know how is it with support for explicit
interface member implementations in Vala.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]