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

Re: [Vala] Gee tests and extension proposal



On Sun, Mar 23, 2008 at 11:52 PM, Quikee <quikee gmail com> wrote:
> Hello.
>
>  I have extended the tests in Gee library. Now they cover all methods
>  provided by the interfaces they extend so that future changes to the
>  library can be done without fear to break the behavior of those
>  methods. The extended tests are attached to this post.
>
>  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
>

Sorry. I hit the wrong button and sended an incomplete mail.

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

I have most of this already added to libgee however I want to discuss
this before I release a patch or anything.

Best regards,
Tomaz


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