Я кодировал с CppRESTsdk и получил Concurrency::streams::istream
из тела ответа, как следующий код:
web::http::http_response localVarResponse;
auto concurrencyStream = localVarResponse.body();
Я хочу преобразовать поток в std::istream
и использовать его внутри std::shared_ptr
, чтобы я мог передать его другим классам, например так:
std::istream stdStream = concurrencyStream;
auto istream_ptr = std::make_shared<std::istream>(stdStream);
Но я получил ошибки:
E0312 no suitable user-defined conversion from
"Concurrency::streams::istream" to "std::istream" exists
Как я могу преобразовать в std::istream
?
РЕДАКТИРОВАТЬ : косвенно через std :: streambuf это работает.
std::string str = localVarResponse.content_ready().get().extract_utf8string(true).get();
std::istringstream SStream(str);
std::istream inputStream(SStream.rdbuf());