
From: "Jonathan Turkanis" <technews@kangaroologic.com>
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@sig.com Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;