/* Copyright (c) 2002,2003 CrystalClear Software, Inc. * Use, modification and distribution is subject to the * Boost Software License, Version 1.0. (See accompanying * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) */ #include "boost/date_time/posix_time/posix_time.hpp" #include "boost/date_time/microsec_time_clock.hpp" #include "../testfrmwk.hpp" #if defined(BOOST_HAS_FTIME) #include #endif void sync_to_next_second() { using namespace boost::posix_time; ptime t_prev; ptime t_now = second_clock::local_time(); // Wait the next seconds do { t_prev = t_now; t_now = second_clock::local_time(); } while (t_now.time_of_day().seconds() == t_prev.time_of_day().seconds()); // Wait 300ms in order to avoid seconds of second_clock > microsec_clock. t_now = microsec_clock::local_time(); t_prev = t_now; do { t_now = microsec_clock::local_time(); } while (t_now - t_prev < milliseconds(300)); } int main() { #ifdef BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK using namespace boost::posix_time; std::cout << "Check local time of microsec_clock against second_clock" << std::endl; ptime last = microsec_clock::local_time(); int max = 30; for (int i=0; i