Some years ago, I wrote a email client using Boost asio library.
There are a abstract class ICON with four subclasses.
POP3conN to flat POP3 communications
POP3conS to secure POP3 communications
SMTPconN to flat SMTP communications
SMTPconS to secure SMTP communications
ICON has a member
boost::asio::ip::tcp::socket socket_
and two virtual procedures, defined in each subclass:
void SMTPconN::run() { socket_.get_io_service().run(); }
void SMTPconN::reset() { socket_.get_io_service().reset(); }
The application worked fine with boost_1_63_0. But when I try update to boost_1_70_0, the compiler (MS V Studio 2015) complains in both definitions:
class "boost::asio::ssl::stream<boost::asio::ip::tcp::socket>" has no member "get_io_service".
Because I want do the minimal change in what is a huge amount of code and complex logic: do is there some workaround to this missed method?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…