It's been a long time (since I used C++ in anger), so forgive my rustiness, please.

I'm comfortable enough with the new TexStream.h header file. (I even seem to remember that one must use typedef for templates, rather than forward declaring a TexStreamBase class ;-))

However, the TexStream c-tor definition in the .cpp file looks weird:

TexStream::TexStream(TexStreamBase * sbuf, TexRow * texrow)
: std::basic_ostream<char_type>(sbuf_ = new TexStreamBuffer(sbuf, texrow))
{}

I see *what* you're doing. You're initializing the base class, passing its c-tor a std::basic_streambuf<char_type> pointer which you're also using to initialize the sbuf_ member variable.

Is that safe? And, even if it is, why would you do that rather than initialize sbuf_ separately using the rdbuf member of the now-constructed base?

Incidentally, am I correct to say that this class isn't being used in anger yet?

Angus (who's being gently entertained by the continuing passions of this list ;-))

Reply via email to