//// timer.cpp// ~~~~~~~~~//// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// Distributed under the Boost Software License, Version 1.0. (See accompanying// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)//#include<iostream>#include<boost/asio.hpp>#include<boost/bind.hpp>#include<boost/date_time/posix_time/posix_time.hpp>voidprint(constboost::system::error_code&/*e*/,boost::asio::deadline_timer*t,int*count){if(*count<5){std::cout<<*count<<std::endl;++(*count);t->expires_at(t->expires_at()+boost::posix_time::seconds(1));t->async_wait(boost::bind(print,boost::asio::placeholders::error,t,count));}}intmain(){boost::asio::io_serviceio;intcount=0;boost::asio::deadline_timert(io,boost::posix_time::seconds(1));t.async_wait(boost::bind(print,boost::asio::placeholders::error,&t,&count));io.run();std::cout<<"Final count is "<<count<<std::endl;return0;}
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.