Retrieving the traversed range
Peter Alexander
peter.alexander.au at gmail.com
Wed Aug 25 01:08:00 PDT 2010
Maybe I'm missing something, but I can't think of anyway *at all* to do
this generically.
Lets say I have some arbitrary bidirectional range, R, and I want to
find the first element that satisfies some predicate. After that, I want
to reverse the part of the range up to that element.
Essentially, I'd like to do something along the lines of:
reverse(until!(pred)(R));
but Until is (correctly) not bidirectional, so I can't do that.
Use indexing and slicing is not an option because the range isn't
necessary random-access.
This isn't about what std.algorithm and std.range can do -- I can't even
think of a way to do this using primitive range operations.
Also note that popping off from the back of the range is not an option
either because the range could be arbitrarily long and the predicate is
usually satisfied very early in the range.
Thanks in advance.
More information about the Digitalmars-d
mailing list