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).
