
Andrey Semashev <andysem@mail.ru> writes: [snip]
From my point of view we have touched two problems in the discussion: the ability to easy and efficiently format things into text or octet strings and internationalization support. These two tasks are attempted to be solved by the current C++ IO implementation, but the attempt is suboptimal in various ways.
Well, there is also the lowest-level task, which is actually the primary task to be addressed by the new I/O library, of providing a general stream framework that supports bytes, arbitrary character encodings, and (as I think it should) arbitrary POD types even. This stream framework should include common filters, like converting between character encodings and newline conversion. Thus, the task of converting from e.g. a stream of UTF-16 encoded uint16_t to e.g. a stream of iso-8859-1 uint8_t is completely separate from the issue of formatting text. [snip]
Meantime, I can see now that we're heading a bit off-topic from the original post, since the initial discussion began on a new IO architecture proposal, which is a bit aside from the problems I mentioned above. Sorry, Sebastian.
I don't think it is entirely off topic, simply because it may be best for the text formatting facilities to be designed to output to any stream (where by stream I mean stream as defined by the new I/O library, which could, but need not, be constructed on top of a string), and similarly, the text parsing facilities should be designed to read from an arbitrary stream. -- Jeremy Maitin-Shepard