Isn't using find with retro awkward?
Jonathan M Davis
jmdavisProg at gmx.com
Wed Feb 16 13:48:55 PST 2011
On Wednesday, February 16, 2011 13:36:54 Jonathan M Davis wrote:
> On Wednesday, February 16, 2011 13:00:13 Andrej Mitrovic wrote:
> > On 2/16/11, jam <gr0v3er+d at gmail.com> wrote:
> > > void main()
> > > {
> > >
> > > auto a = [5,1,2,3,4,5,1];
> > > auto index = countUntil(retro(a),5);
> > > writeln(a[a.length-1-index .. a.length]);
> > >
> > > }
> >
> > That works for random-access ranges.
> > But I was under the impression that bidirectional ranges don't
> > necessarily have a length property?
>
> I'm not sure. IIRC was assuming that they would and later someone pointed
> out a valid case where they wouldn't. So, in the long run, they probably
> won't but they may right now.
>
> Actually, I'll check... No. They don't require a range. They must be a
> forward range and then have popBack and back in addition, but length is
> not required.
Yikes. I should re-read my posts more. I meant to so that "IIRC, Andrei was
assuming that they would."
However, regardless of what was assumed before, bidirectional ranges do _not_
have to a length property.
- Jonathan M Davis
More information about the Digitalmars-d-learn
mailing list