Overhauling the notion of output range

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sun Jul 11 19:00:23 PDT 2010


On 07/11/2010 08:34 PM, dsimcha wrote:
> 1.  What happens if you run out of space in the input range variety?  I guess it
> throws?

It's up to the range. Most will throw.

> 2.  Would there be a "standard" way of signaling how much stuff was written to the
> input range variety?  I guess that since functions that output their results via
> output ranges would usually return void, they could return an integer instead
> indicating how much stuff was written.

There is no standard way at the moment. I think not throwing implies all 
passed data has been written.

> 3.  While we're on the subject of improving output ranges, I was just thinking
> before I read your post that it would be nice to have a Tee type in std.range,
> since outputting to exactly one output range is kind of inflexible.  Such a type
> would itself be an output range.  It would take in N output ranges where N>  1 as
> instantiation parameters, and pass any input received to all of the underlying
> ranges.

Yah, tee would be great.

> The use case I thought of for this is when I'm generating tons of data through a
> monte carlo simulation and don't want to store it all in memory.  Both Summary in
> dstats and Histogram in dflplot can be used as output ranges.  I'd love to write a
> function that outputs results to an output range and use Tee to get both summary
> statistics and a histogram.

... and checkpoint all that to a file.


Andrei


More information about the Digitalmars-d mailing list