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

Reply via email to