|
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