deprecating std.stream, std.cstream, std.socketstream

H. S. Teoh hsteoh at quickfur.ath.cx
Wed May 16 09:48:24 PDT 2012


On Wed, May 16, 2012 at 05:41:49PM +0100, Stewart Gordon wrote:
> On 16/05/2012 16:59, Walter Bright wrote:
> >On 5/16/2012 7:38 AM, Steven Schveighoffer wrote:
> >>On Wed, 16 May 2012 09:50:12 -0400, Walter Bright <newshound2 at digitalmars.com>
> >>wrote:
> >>
> >>>On 5/15/2012 3:34 PM, Nathan M. Swan wrote:
> >>>>I do agree for e.g. with binary data some data can't be read with
> >>>>ranges (when you need to read small chunks of varying size),
> >>>
> >>>I don't see why that should be true.
> >>
> >>How do you tell front and popFront how many bytes to read?
> >
> >std.byLine() does it.
> 
> And is what you want to do with a text file in many cases.
> 
> >In general, you can read n bytes by calling empty, front, and
> >popFront n times.
> 
> Why would anybody want to read a large binary file _one byte at a
> time_?
[...]

import std.range;
byte[] readNBytes(R)(R range, size_t n)
	if (isInputRange!R && hasSlicing!R)
{
	return R[0..n];
}


T

-- 
MAS = Mana Ada Sistem?


More information about the Digitalmars-d mailing list