The last changes to range

Masahiro Nakagawa repeatedly at gmail.com
Sat May 29 14:19:09 PDT 2010


On Sun, 30 May 2010 01:45:54 +0900, Andrei Alexandrescu  
<SeeWebsiteForEmail at erdani.org> wrote:

> I plan to make two more (hopefully the last two) changes to the range  
> abstraction this morning.
>
> 1. First, I want to define this:
>
> // inside range type SomeRange
> @property SomeRange save();
>
> That simply returns a copy of the range. Most implementations look like  
> this:
>
> // inside range type SomeRange
> @property SomeRange save() { return this; }
>
> If SomeRange is a class or interface, you'd write:
>
> // inside range type SomeRange
> @property SomeRange save() { return this->clone(); }
>
> The idea is that save() provides a guaranteed means to take a snapshot  
> in a range's state. The notable absents are input ranges - they are  
> unable to define save(), and therefore some algorithms won't apply to  
> them.
>

I also want save.
It allows you to treat some ranges in a unified way.


Masahiro


More information about the Digitalmars-d mailing list