Hi Tomaž,
Quikee wrote:
> Hi,
>
> A little more than a year ago I have made a proposal to extend LibGee
> when I rewrote the tests for it, but at that time there was not much
> interest in the changes. It may be good to repeat what I had in mind
> at that time:
>
>> I would also like to propose an extension to the interfaces in form of
>> additional convenient / often used methods. What I had in mind is this:
>>
>> Collection interface:
>> - void add_all(Collection) - Adds all items from the input collection to
>> this collection. Convenient for joining collections. Java also has this on
>> the interface of Collection.
>> - bool contains_all(Collection) - Checks if all items in the input
>> collection are present in this collection. Convenient for checking items for
>> example if "a" AND "b" exist in collection.
>> - bool contains_any(Collection) - Checks if any items in the input
>> collection are present in this collection. Convenient for checking items for
>> example if "a" OR "b" exist in collection.
>> - bool is_empty() - special state of a collection when it doesn't contain
>> any value. Added because it is clearer as list.size == 0.
>>
>> List interface
>> - G first()
>> - G last() - First and last items are often special - it adds better clarity
>> to the algorithm if they don't need to be "addressed" as list.get(0) or
>> worse list.get(list.size -1).
>>
>> Set interface
>>
>> Map interface
>> - void set_all(Map) - Same as add_all for collections.
>> - expose Node<K,V> and make it possible to iterate through Nodes:
>> foreach (Node<int,int> item in map.get_nodes()) {
>> }
>>
>> Iterators
>> - It would be convenient to have a reverse iterator for lists which would
>> also allow to iterate backwards.
>> - class with special iterators/iterables that can iterate Forward /
>> Backwards, skip elements, iterate through enumerated list, generators
>
> Some of the things have already been proposed and there are other
> things on my mind that could be done.
Indeed all those would be very nice contributions!!
> I still have the code of the changes (including tests) somewhere - I
> will seek them out and merge them with the latest libgee version.
I hope you mean rebase :)
> Maybe it would be a good thing to add on the libgee wiki a subpage
> with proposed changes/additions so that all this things aren't
> forgotten.
That would be a good idea, yeah.
Best regards, Didier.
_______________________________________________
Vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list