Chris Frey wrote:
> The iostream classes were designed with inheritance in mind,
To an extent, yes. Clearly IOStreams is a class hierarchy, with base
classes designed to be derived from. What I dispute is whether it's a
good idea to derive from the leaf classes. For one thing, stringstream
has no virtual functions.
What we're inheriting here is primarily interface, not implementation.
We could start inheriting far up the tree -- from basic_ostream perhaps
-- and still work with all existing end-user code. Query could maintain
a basic_stringbuf member, and would work just the same.
I admit, I latched onto Dale's problem report just hoping that it was
more reason to make this change, and it turns out that it isn't. But
the recent VC++ problems alone are enough to keep me nervous about
continuing on this path.
> The reason to get rid of stream inheritance would be the copying that
> Query objects might do,
Can you clarify that, please?