[notmuch] [PATCH] Added regress option to tags iterator
Carl Worth
cworth at cworth.org
Mon Dec 21 17:23:55 PST 2009
On Wed, 09 Dec 2009 12:08:43 -0800, Carl Worth <cworth at cworth.org> wrote:
> On Wed, 9 Dec 2009 14:24:46 +0100, Ruben Pollan <meskio at sindominio.net> wrote:
> > Do you like to call them regress? Should I change that?
...
> > What about the functions notmuch_*_is_first? Is kind of reversed logic than
> > notmuch_*_has_more, the last are true when is not reach the limit but the
> > first ones are true when the limit is reached. But I think it make sense like
> > that.
It doesn't make sense in the case of trying to write a for loop that
iterates in the reverse order. The is_first semantic doesn't give you
what you want for the loop-control portion of the for loop.
> I'd like a more symmetric API here. Anyone have a favorite set of names
> for iterating a list in two directions?
In some recent coding I needed to implement a new iterator so I had the
chance to think about this some more. Here is what I came up with:
New function Corresponds to existing function (if any)
------------ -----------------------------------------
move_to_first <implicit in iterator creation>
has_next has_more
move_to_next advance
move_to_last <none>
has_previous <none>
move_to_previous <none>
get get
The semantics of those all seem clear enough to me. They provide what's
necessary for all three portions of a for loop, (in either direction),
and everything pairs nicely.
The only downside is that the function names are a bit long in some
cases, but I'm willing to live with that until someone comes up with
better.
Thoughts?
-Carl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20091221/e3d08c4e/attachment.pgp>
More information about the notmuch
mailing list