Boost logo

Boost :

From: Sebastian Redl (sebastian.redl_at_[hidden])
Date: 2007-06-24 17:24:17


Sascha Seewald wrote:
> When I heard about iostreams for the very first time I thought: "Wow!
> C++ even has build-in support for streams, filters, sources and sinks!"
> I did not want to use std::iostreams for basic io. I thought it'd be a
> nice thing to build - say - an audio synthesizer on top of.
>
> Unfortunately I had to recognize that std::iostreams are about
> *character* streams and not about streams of arbitrary (user defined)
> data.[...]
>
> So, when thinking about the design of an universal IO library I suggest
> to define a list of operational aspects first and thereby make clear
> distinction between general stream functionality (transportation,
> buffering, filtering, ...) and functionality that is specific to
> character streams (formatting, locals, cin/cout, ...).
>
Streams of arbitrary, used-defined data. Hmm ...
I'm somewhat afraid of the semantical complexity that such freedom
introduces. It's very important to me to keep the system simple, despite
everything. I'm also afraid of a "one size fits none" system that tries
to do everything and accomplishes nothing.

What would be your requirements on such a stream system? How much
flexibility to you need to accomplish your goals? This information would
help me in evaluating how far my fears are justified.
> The latter ('character streams') could then be build on-top of the low
> level stream functionality ('data streams' or 'object streams'). Think
> of it as a two-layer OSI model for io. ;)
>
That's exactly what I'm doing.

Sebastian Redl


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk