eliminate writeln et comp?
Michel Fortin
michel.fortin at michelf.com
Tue Mar 17 20:47:45 PDT 2009
On 2009-03-17 20:26:16 -0400, Andrei Alexandrescu
<SeeWebsiteForEmail at erdani.org> said:
> Interesting. Should I do the same in phobos?
>
> stdout("wyda");
>
> I'd like that particularly because write() is too common a name to
> place at namespace level for my taste. So then we'd have:
>
> stdout("wyda"); // no newline
> stdout("wyda\n"); // newline but no flushing on binary stream
> stdout("wyda", newline); // write'n'flush
> stdout.writeln("wyda"); // same
>
> If we go that route I'll even drop writeln and rely on passing newline.
> For formatting there'd be stdout.format and stdout.formatln or
> something.
Seems nice. Can this work symmetrically for stdin?
int i;
stdin(i); // reads an integer and place it in i.
That would make things interesting, as with some streams you could use
the same code to serialize and unserialize a data structures.
stream(x, y, z); // either write or read the values depending on the stream.
This reminds me of boost serialization which use a similar trick
allowing you to have a single function template to both serialize and
unserialize a given data type.
But that probably couldn't work with the standard text stream types.
--
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/
More information about the Digitalmars-d
mailing list