//// 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>classprinter{public:printer(boost::asio::io_service&io):timer_(io,boost::posix_time::seconds(1)),count_(0){timer_.async_wait(boost::bind(&printer::print,this));}~printer(){std::cout<<"Final count is "<<count_<<std::endl;}voidprint(){if(count_<5){std::cout<<count_<<std::endl;++count_;timer_.expires_at(timer_.expires_at()+boost::posix_time::seconds(1));timer_.async_wait(boost::bind(&printer::print,this));}}private:boost::asio::deadline_timertimer_;intcount_;};intmain(){boost::asio::io_serviceio;printerp(io);io.run();return0;}
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.