On 07/05/2010 12:37 AM, Andrei Alexandrescu wrote:
- Input streams have the read primitive. What is wrong with an input
range of ubyte[]? Then accessing front() gives you a buffer and
popFront reads in a new buffer.
How do you handle heterogeneous reads? e.g.
ubyte[] x = new ubyte[](4);
inp.read(x);
ubyte[] y = new ubyte[](100);
inp.read(y);
- What's the purpose of StreamWrapper?
Having input stream types which aren't runtime type compatible is kind
of a sucky situation. That's what the interfaces are for, and that's
what the wrapper provides for e.g. input streams which are structs.
And why is it reading in the write() primitive?
heh heh
- ByLine is a bit awkward because it needs to read buffers of size 1.
Clearly there is some problem there. The right way is to build
ByLine!Char on top of a stream of Char, not a stream of Char[].
(Speaking of which, I just checked in BlockingInputReader. It does
read one character at a time but it has an inefficiency caused by the
FILE* interface.)
- What does FileStream do that File doesn't or can't do?
Let me know of what you think.
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos