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

Reply via email to