#include <iostream>
#include <boost/asio.hpp>
#include <boost/bind.hpp>
#include <boost/asio/steady_timer.hpp>
void print(const boost::system::error_code& e, int& count);
boost::asio::io_context io_ctx;
boost::asio::steady_timer t(io_ctx);
void print(const boost::system::error_code& e, int& count)
{
std::cout << "Hello!" <<"count:"<<count<<std::endl;
++count;
t.expires_from_now(std::chrono::seconds(1));
t.async_wait(std::bind(print, std::placeholders::_1, count));
}
int main()
{
int count = 0;
t.expires_from_now(std::chrono::seconds(1));
t.async_wait(std::bind(print, std::placeholders::_1,count));
io_ctx.run();
std::cout << "timer: " << count << std::endl;
return 0;
}