Boost C++ Libraries: Ticket #11913: free functions should support StreamBuffer concept https://svn.boost.org/trac10/ticket/11913 <p> Functions like <code></code><code>boost::asio::read</code><code></code> which take <code></code><code>boost::asio::basic_streambuf&lt;&gt;</code><code></code> as parameters should instead take the stream buffer by template argument. A new concept <code></code><code>StreamBuffer</code><code></code> should be added under "Type Requirements" in the reference. </p> <p> Rationale: boost free functions should work with user defined stream buffers that meet the requirements. The asio reference alludes to this functionality in the description for <code></code><code>basic_streambuf</code><code></code>: </p> <p> "The basic_streambuf class's public interface is intended to permit the following implementation strategies:..." </p> <p> However without support for types that meet the requirements, user defined stream buffers cannot provide alternate implementation strategies that work with asio free functions. </p> <p> Example of a user defined streambuf with a compatible interface: <a class="ext-link" href="https://github.com/ripple/rippled/blob/develop/src/beast/beast/asio/streambuf.h#L38"><span class="icon">​</span>https://github.com/ripple/rippled/blob/develop/src/beast/beast/asio/streambuf.h#L38</a> </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11913 Trac 1.4.3