<div dir="ltr">Hi all,<div>  I spent some time wondering whether we could reduce</div><div>code duplication by making SBuf implement the Packable interface,</div><div>and replacing SBufStream with PackableStream.</div><div><br></div><div>The interface changes seem rather minimal, SBuf already implements</div><div>append(const char*, int) and vappendf; the main difference there is</div><div>that SBuf returns *this.</div><div>These methods are of course virtual, which is a price to pay, but besides</div><div>the vtbl size, maybe there is a way to not pay their cost when not used</div><div><br></div><div>What do you think?</div><div><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">    Francesco</div></div></div>