SeeWebsiteForEmail at erdani.org
Mon Jul 16 15:37:34 PDT 2012
On 7/16/12 5:55 PM, Steven Schveighoffer wrote:
> On Mon, 12 Jul 2010 23:48:05 -0400, Andrei Alexandrescu
> <SeeWebsiteForEmail at erdani.org> wrote:
>> Consider this:
>> T* getNext(R, T)(ref R range, ref T item);
> I see you still defending this concept from 2010, does it mean we may
> still get it? (it would make things easier for std.io for sure)
> If so, can we ditch the notion of forward+ ranges requiring save?
I'm not defending it, I recall last time I discussed it I mentioned its
issues. The main one is it makes it awkward to iterate ranges that don't
actually have elements in memory. The approach would be forced to return
the same pointer to a buffer, until the end when it returns null. User
code would have no ability to make the distinction.
On the other hand this is what e.g. byLine does, but with an array, not
If you feel strongly there are merits in the approach that overcome its
issues, why not design around it? Anyhow, it looks like this would be
too big a redesign of input ranges. Like it or not, .save is here to stay.
More information about the Digitalmars-d