Apparently boost::asio::async_read doesn\'t like strings, as the only overload of boost::asio::buffer allows me to create const_buffer
boost::asio::async_read
boost::asio::buffer
const_buffer
One can also obtain the characters from asio::streambuf using std::basic_streambuf::sgetn:
asio::streambuf
std::basic_streambuf::sgetn
asio::streambuf in; // ... char cbuf[in.size()+1]; int rc = in.sgetn (cbuf, sizeof cbuf); cbuf[rc] = 0; std::string str (cbuf, rc);