stream == range ?

Nick Sabalausky via Digitalmars-d digitalmars-d at puremagic.com
Sun May 31 08:44:03 PDT 2015


On 05/30/2015 07:06 AM, short2cave wrote:
> Do the classic streams still make sense when we have Ranges ?
>

I've been thinking the same thing lately. In fact, I'd been meaning to 
make a post regarding that.

Phobos's std.stream has been slated for an overhaul for awhile now, but 
it seems to me that ranges are already 90% of the way to BEING a total 
std.stream replacement:

Output Streams: AFAICT, 100% covered by output ranges. Output streams 
exist as a place for sticking arbitrary amounts of sequential data. 
Output range's "put" does exactly that.

Input Streams: Input ranges are very nearly a match for this. AFAICT, 
The only thing missing here is the ability to "read" not just the one 
"front" value, but to read the front N values as a chunk, without an 
O(n) sequence of front/popFront. So we'd just need another "optional" 
range characteristic: hasFrontN (or some such).



More information about the Digitalmars-d mailing list