OStringStream rewind probably not behaving as expected
The rewind only repositions the output pointer, but does not truncate the output buffer. Eg,
OStringStream os;
os << "1234567890";
os.rewind();
os << "abc";
produces "abc4567890" as output, not "abc" as may be expected.
Suggested recourse, provide explicit reset()
method to reposition output pointer and buffer.