По-видимому, boost::asio::async_read
не любит строки, так как единственная перегрузка boost::asio::buffer
позволяет мне создавать const_buffer
, так что мне приходится читать все в streambuf.
Теперь я хочу скопировать содержимое streambuf в строку, но по-видимому, он поддерживает только запись в char* (sgetn()
), создание istream с помощью streambuf и использование getline()
.
Есть ли другой способ создать строку с содержимым streambufs без чрезмерного копирования?