BTW, what's the differences between stream and stream_buffer, filtering_stream and filtering_streambuf besides different base classes they derived from ? Their members look all the same...