У меня есть объект boost::asio::strand<boost::asio::io_context::executor_type>
и мне нужно получить его io_context
. Я думал, что могу использовать get_io_context()
, но это устарело. Тогда я подумал, что могу использовать context()
, но этот возвращает boost::asio::execution_context
.
Я не вижу, как я могу преобразовать это в экземпляр io_context
вместо этого...
Итак, как я могу получить io_context
нити в Boost 1.68?
Вызовите get_inner_executor
на экземпляре пряди, затем context
на исполнителе:
#include <boost/asio.hpp>
int main() {
boost::asio::io_context io;
boost::asio::strand<boost::asio::io_context::executor_type> strand{io.get_executor()};
boost::asio::io_context::executor_type executor = strand.get_inner_executor();
boost::asio::io_context& refIO = executor.context();
}