Boost logo

Boost :

From: Rob Stewart (stewart_at_[hidden])
Date: 2005-07-12 10:06:17


From: "Jonathan Turkanis" <technews_at_[hidden]>
>
> I'm trying to pick good names for the fundamental iostreams components
> streambuf_facade and stream_facade:

I'll comment in this thread since it will attact more attention
than our earlier discussion.

> template<typename Device ... >
> class streambuf_facade : public basic_streambuf< > {
> // Peform i/o using an instance of Device
> };
>
> template<typename Device ... >
> class stream_facade : public basic_[i][o]stream< > {
> // Peform i/o using an instance of Device
> };
>
> Here are the candidates:
>
> 1. streambuf_facade / stream_facade

As you pointed out in the other thread, these class templates
don't implement the Facade Pattern, so these names are not
appropriate.

> 2. generic_streambuf / generic_stream

I questioned the value of the "generic_" prefix. It adds no
information, though it does serve to distinguish them from
std::stream and std::streambuf.

> 3. streambuf / stream

While these would be in the boost::io namespace (IIRC), with a
using directive, for example, they will conflict with std::stream
and std::streambuf.

> 4. xstreambuf / xstream

The "x" was to convey "extended," not "eXperimental."

> 5. device_streambuf / device_stream

This is reasonably meaningful given the use of a Device and
serves to distinguish the names from those in std.

> 6. devbuf / devstream

This makes me think of "development" buf/stream.

Thus, I like #5.

-- 
Rob Stewart                           stewart_at_[hidden]
Software Engineer                     http://www.sig.com
Susquehanna International Group, LLP  using std::disclaimer;

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