|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r74210 - trunk/libs/chrono/example
From: vicente.botet_at_[hidden]
Date: 2011-09-03 12:12:29
Author: viboes
Date: 2011-09-03 12:12:27 EDT (Sat, 03 Sep 2011)
New Revision: 74210
URL: http://svn.boost.org/trac/boost/changeset/74210
Log:
Chrono: Move timer.hpp to the example directory
Added:
trunk/libs/chrono/example/timer.hpp (contents, props changed)
Text files modified:
trunk/libs/chrono/example/chrono_accuracy_test.cpp | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
Modified: trunk/libs/chrono/example/chrono_accuracy_test.cpp
==============================================================================
--- trunk/libs/chrono/example/chrono_accuracy_test.cpp (original)
+++ trunk/libs/chrono/example/chrono_accuracy_test.cpp 2011-09-03 12:12:27 EDT (Sat, 03 Sep 2011)
@@ -11,7 +11,7 @@
#include <boost/chrono/chrono.hpp>
#include <boost/chrono/process_cpu_clocks.hpp>
#include <boost/chrono/thread_clock.hpp>
-#include <boost/chrono/timer.hpp>
+#include "./timer.hpp"
#include <cstdlib> // for atol()
#include <iostream>
#include <sstream>
@@ -40,12 +40,12 @@
timeout_in_clock_t += (timeout_in_secs * CLOCKS_PER_SEC);
std::cout << "accuracy test. Timeout=" << timeout_in_clock_t << " ticks...";
- boost::chrono::system_timer sys;
+ boost_ex::chrono::system_timer sys;
#ifdef BOOST_CHRONO_HAS_CLOCK_STEADY
- boost::chrono::steady_timer mono;
+ boost_ex::chrono::steady_timer mono;
#endif
- boost::chrono::high_resolution_timer hires;
- boost::chrono::timer<boost::chrono::process_cpu_clock> process;
+ boost_ex::chrono::high_resolution_timer hires;
+ boost_ex::chrono::timer<boost::chrono::process_cpu_clock> process;
std::clock_t now;
do
@@ -53,11 +53,11 @@
now = std::clock();
} while ( now < timeout_in_clock_t );
- boost::chrono::system_timer::duration sys_dur = sys.elapsed();
+ boost_ex::chrono::system_timer::duration sys_dur = sys.elapsed();
#ifdef BOOST_CHRONO_HAS_CLOCK_STEADY
- boost::chrono::steady_timer::duration mono_dur = mono.elapsed();
+ boost_ex::chrono::steady_timer::duration mono_dur = mono.elapsed();
#endif
- boost::chrono::high_resolution_timer::duration hires_dur = hires.elapsed();
+ boost_ex::chrono::high_resolution_timer::duration hires_dur = hires.elapsed();
boost::chrono::process_cpu_clock::duration times;
times = process.elapsed();
std::cout << "accuracy test. Now=" << now << " ticks...";
Added: trunk/libs/chrono/example/timer.hpp
==============================================================================
--- (empty file)
+++ trunk/libs/chrono/example/timer.hpp 2011-09-03 12:12:27 EDT (Sat, 03 Sep 2011)
@@ -0,0 +1,62 @@
+// boost/chrono/timer.hpp ------------------------------------------------------------//
+
+// Copyright Beman Dawes 2008
+// Copyright 2009 Vicente J. Botet Escriba
+
+// 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)
+
+// See http://www.boost.org/libs/system for documentation.
+
+#ifndef BOOSTEX_CHRONO_TIMER_HPP
+#define BOOSTEX_CHRONO_TIMER_HPP
+
+#include <boost/chrono/chrono.hpp>
+#include <boost/system/error_code.hpp>
+
+namespace boost_ex
+{
+ namespace chrono
+ {
+
+//--------------------------------------------------------------------------------------//
+// timer //
+//--------------------------------------------------------------------------------------//
+
+ template <class Clock=boost::chrono::high_resolution_clock>
+ class timer
+ {
+ public:
+ typedef Clock clock;
+ typedef typename Clock::duration duration;
+ typedef typename Clock::time_point time_point;
+
+ explicit timer( boost::system::error_code & ec = BOOST_CHRONO_THROWS )
+ {
+ start(ec);
+ }
+
+ ~timer() {} // never throws
+
+ void start( boost::system::error_code & ec = BOOST_CHRONO_THROWS )
+ {
+ m_start = clock::now( ec );
+ }
+
+ duration elapsed( boost::system::error_code & ec = BOOST_CHRONO_THROWS )
+ { return clock::now( ec ) - m_start; }
+
+ private:
+ time_point m_start;
+ };
+
+ typedef chrono::timer< boost::chrono::system_clock > system_timer;
+#ifdef BOOST_CHRONO_HAS_CLOCK_STEADY
+ typedef chrono::timer< boost::chrono::steady_clock > steady_timer;
+#endif
+ typedef chrono::timer< boost::chrono::high_resolution_clock > high_resolution_timer;
+
+ } // namespace chrono
+} // namespace boost_ex
+
+#endif
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk