35   : m_buf(reinterpret_cast<const uint8_t*>(string.data()))
    36   , m_size(string.size())
    41   : m_buf(buffer.data())
    42   , m_size(buffer.size())
    47 BufferSource::doPump()
    49   BOOST_ASSERT(
m_next != 
nullptr);
    51   const uint8_t* 
buf = m_buf;
    55     size_t nBytesWritten = 
m_next->write(buf, size);
    57     size -= nBytesWritten;
 
General-purpose automatically managed/resized buffer.