如何让boost::asio::use_future返回boost::future而非std::future
要让Boost.Asio异步操作返回boost::future类型,只需将传入的Completion Token从默认的boost::asio::use_future替换为boost::asio::use_boost_future即可,修改后的示例代码如下:
boost::future<std::size_t> my_future = my_socket.async_read_some(my_buffer, boost::asio::use_boost_future);
版本兼容说明
如果使用的Boost版本低于1.70,框架未提供预定义的use_boost_future常量,可手动实例化use_future_t模板指定boost::future特化,写法如下:
boost::future<std::size_t> my_future = my_socket.async_read_some(my_buffer, boost::asio::use_future_t<boost::future<>>());
内容的提问来源于stack exchange,提问作者Spongman
相关产品推荐
相关产品推荐

