Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r59220 - in sandbox/chrono/libs/chrono: doc doc/html doc/html/boost_chrono doc/html/boost_chrono/appendices doc/html/boost_chrono/overview doc/html/boost_chrono/reference doc/html/boost_chrono/users_guide test
From: vicente.botet_at_[hidden]
Date: 2010-01-22 04:35:14


Author: viboes
Date: 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
New Revision: 59220
URL: http://svn.boost.org/trac/boost/changeset/59220

Log:
Boost.Chrono: Version 0.3.2,
* rename suspendable by suspendible
* Documment SuspendibleClock
Added:
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/other_clocks.html (contents, props changed)
   sandbox/chrono/libs/chrono/test/test_suspendible_clock.cpp (contents, props changed)
Text files modified:
   sandbox/chrono/libs/chrono/doc/chrono.qbk | 315 +++++++++++++++++++++++++++++++--------
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices.html | 3
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/faq.html | 6
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/history.html | 36 +++
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/rationale.html | 8
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tests.html | 177 ++++++++++++++++++++++
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tickets.html | 184 +++++++++++++++++++++++
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/todo.html | 4
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview.html | 17 ++
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/motivation.html | 14
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference.html | 19 +
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/cpp0x.html | 65 ++++----
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/stopwatch_reporters.html | 8
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/stopwatches.html | 133 ++++++++--------
   sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/getting_started.html | 16 +-
   sandbox/chrono/libs/chrono/doc/html/index.html | 5
   sandbox/chrono/libs/chrono/doc/html/standalone_HTML.manifest | 2
   sandbox/chrono/libs/chrono/test/Jamfile.v2 | 10
   sandbox/chrono/libs/chrono/test/test_suspendable_clock.cpp | 32 ++-
   19 files changed, 823 insertions(+), 231 deletions(-)

Modified: sandbox/chrono/libs/chrono/doc/chrono.qbk
==============================================================================
--- sandbox/chrono/libs/chrono/doc/chrono.qbk (original)
+++ sandbox/chrono/libs/chrono/doc/chrono.qbk 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -63,6 +63,11 @@
     * `process_system_CPU_clocks`, capturing system-CPU times.
     * `process_cpu_clock`, tuple-like class capturing at once real, user-CPU, and system-CPU times.
 
+* Suspendible Clock
+ * Suspendible Clock concept
+ * template class suspendible_clock<>
+ * Added scope_suspend which do suspend/resume if the Clock is a model of Suspendible Clock concept, and nothing otherwise.
+
 * Stopwatches:
     * `stopwatch`, capturing elapsed Clock times.
     * `stopwatch_accumulator`, capturing cummulated elapsed Clock times.
@@ -985,9 +990,11 @@
 [section:chrono_hpp Header `<boost/chrono.hpp>`]
 [/=============================================]
 
-This file is a redirection to `boost/chrono/chrono.hpp`
+This file is a redirection to `boost/chrono/chrono.hpp` including in addition registration for `duration<>` and `timepoint<>` class templates to Boost.Typeof.
+
 
     #include <boost/chrono/chrono.hpp>
+ #include <boost/chrono/typeof/boost/chrono/chrono.hpp>
 
 [endsect]
 
@@ -1155,16 +1162,16 @@
     struct duration_values
     {
     public:
- static BOOST_CONSTEXPR Rep zero();
- static BOOST_CONSTEXPR Rep max();
- static BOOST_CONSTEXPR Rep min();
+ static BOOST_CHRONO_CONSTEXPR Rep zero();
+ static BOOST_CHRONO_CONSTEXPR Rep max();
+ static BOOST_CHRONO_CONSTEXPR Rep min();
     };
 
 The `duration` template uses the `duration_values` trait to construct special values of the `duration`s representation (`Rep`). This is done because the representation might be a class type with behavior which requires some other implementation to return these special values. In that case, the author of that class type should specialize `duration_values` to return the indicated values.
 
-[section:zero Static member function`zero()`]
+[section:zero Static member Function `zero()`]
 
- static BOOST_CONSTEXPR Rep zero();
+ static BOOST_CHRONO_CONSTEXPR Rep zero();
 
 [*Returns:] `Rep(0)`. [*Note:] `Rep(0)` is specified instead of `Rep()` since `Rep()` may have some other meaning, such as an uninitialized value.
 
@@ -1173,7 +1180,7 @@
 [endsect]
 [section:max Static member function `max()`]
 
- static BOOST_CONSTEXPR Rep max();
+ static BOOST_CHRONO_CONSTEXPR Rep max();
 
 [*Returns:] `numeric_limits<Rep>::max()`.
 
@@ -1182,7 +1189,7 @@
 [endsect]
 [section:min Static member function `min()`]
 
- static BOOST_CONSTEXPR Rep min();
+ static BOOST_CHRONO_CONSTEXPR Rep min();
 
 [*Returns:] `numeric_limits<Rep>::lowest()`.
 
@@ -1231,9 +1238,9 @@
         private:
             rep rep_; // exposition only
         public:
- BOOST_CONSTEXPR duration() {} // = default;
+ BOOST_CHRONO_CONSTEXPR duration() {} // = default;
             template <class Rep2>
- BOOST_CONSTEXPR explicit duration(const Rep2& r,
+ BOOST_CHRONO_CONSTEXPR explicit duration(const Rep2& r,
                   typename boost::enable_if_c
                   <
                   boost::is_convertible<Rep2, rep>::value
@@ -1243,7 +1250,7 @@
>::type* = 0);
 
             template <class Rep2, class Period2>
- BOOST_CONSTEXPR duration(const duration<Rep2, Period2>& d,
+ BOOST_CHRONO_CONSTEXPR duration(const duration<Rep2, Period2>& d,
                   typename boost::enable_if_c
                   <
                       treat_as_floating_point<rep>::value
@@ -1255,10 +1262,10 @@
             //duration(const duration&) = default;
             //duration& operator=(const duration&) = default;
 
- BOOST_CONSTEXPR rep count() const;
+ BOOST_CHRONO_CONSTEXPR rep count() const;
 
- BOOST_CONSTEXPR duration operator+();
- BOOST_CONSTEXPR duration operator-();
+ BOOST_CHRONO_CONSTEXPR duration operator+();
+ BOOST_CHRONO_CONSTEXPR duration operator-();
             duration& operator++();
             duration operator++(int);
             duration& operator--();
@@ -1272,9 +1279,9 @@
             duration& operator%=(const rep& rhs);
             duration& operator%=(const duration& rhs);
 
- static BOOST_CONSTEXPR duration zero();
- static BOOST_CONSTEXPR duration min();
- static BOOST_CONSTEXPR duration max();
+ static BOOST_CHRONO_CONSTEXPR duration zero();
+ static BOOST_CHRONO_CONSTEXPR duration min();
+ static BOOST_CHRONO_CONSTEXPR duration max();
         };
 
     }}
@@ -1298,7 +1305,7 @@
 [section:duration_c_1 Constructor `duration(const Rep2&)`]
 
     template <class Rep2>
- BOOST_CONSTEXPR explicit duration(const Rep2& r);
+ BOOST_CHRONO_CONSTEXPR explicit duration(const Rep2& r);
 
 [*Remarks:] `Rep2` is implicitly convertible to `rep`, and
 
@@ -1320,7 +1327,7 @@
 [section:duration_c_2 Constructor `duration(const duration&)`]
 
     template <class Rep2, class Period2>
- BOOST_CONSTEXPR duration(const duration<Rep2, Period2>& d);
+ BOOST_CHRONO_CONSTEXPR duration(const duration<Rep2, Period2>& d);
 
 [*Remarks:] `treat_as_floating_point<rep>::value`, or `ratio_divide<Period2, period>::type::den == 1`, else this constructor shall not participate in overload resolution. [*note] This requirement prevents implicit truncation error when converting between integral-based `duration`s. Such a construction could easily lead to confusion about the value of the `duration`.
 
@@ -1335,21 +1342,21 @@
 [endsect]
 [section:count Member function `count() const`]
 
- BOOST_CONSTEXPR rep count() const;
+ BOOST_CHRONO_CONSTEXPR rep count() const;
 
 [*Returns:] `rep_v.
 
 [endsect]
 [section:duration_operator_p Member function `operator+() const`]
 
- BOOST_CONSTEXPR duration operator+() const;
+ BOOST_CHRONO_CONSTEXPR duration operator+() const;
 
 [*Returns:] `*this`.
 
 [endsect]
 [section:duration_operator_m Member function `operator+() const`]
 
- BOOST_CONSTEXPR duration operator-() const;
+ BOOST_CHRONO_CONSTEXPR duration operator-() const;
 
 [*Returns:] `duration(-rep_)`.
 
@@ -1666,8 +1673,8 @@
 
         // special values
 
- static BOOST_CONSTEXPR time_point min();
- static BOOST_CONSTEXPR time_point max();
+ static BOOST_CHRONO_CONSTEXPR time_point min();
+ static BOOST_CHRONO_CONSTEXPR time_point max();
     };
 
 Clock must meet the Clock Requirements.
@@ -1725,14 +1732,14 @@
 [endsect]
 [section:time_point_min Static Member function `min`]
 
- static BOOST_CONSTEXPR time_point min();
+ static BOOST_CHRONO_CONSTEXPR time_point min();
 
 [*Returns:] `time_point(duration::min())`.
 
 [endsect]
 [section:time_point_max Static Member function `max`]
 
- static BOOST_CONSTEXPR time_point max();
+ static BOOST_CHRONO_CONSTEXPR time_point max();
 
 [*Returns:] `time_point(duration::max())`.
 
@@ -1928,7 +1935,7 @@
 [endsect]
 [endsect]
 
-[section Process CPU related]
+[section Other clocks]
 
 [/==================================================================]
 [section:process_cpu_clocks_hpp Header `<boost/chrono/process_cpu_clocks.hpp>`]
@@ -2006,9 +2013,9 @@
 
 [section Class `process_cpu_clock`]
 
-`process_clocks` can be considered as a `tuple<process_real_cpu_clock, process_user_cpu_clock, process_system_cpu_clock>`.
+`process_cpu_clock` can be considered as a `tuple<process_real_cpu_clock, process_user_cpu_clock, process_system_cpu_clock>`.
 
-`process_clocks` provides a thin wrapper around the operating system's process timer API. For POSIX-like systems, that's the times() function, while for Windows, it's the GetProcessTimes() function.
+`process_cpu_clock` provides a thin wrapper around the operating system's process timer API. For POSIX-like systems, that's the times() function, while for Windows, it's the GetProcessTimes() function.
 
 The process relative real, user and system current time can be obtained at once by calling `process_clocks::now()`.
 
@@ -2028,15 +2035,13 @@
     };
 
     template <>
- struct duration_values<process_cpu_clock::times>
- {
- static process_cpu_clock::times zero();
- static process_cpu_clock::times max();
- static process_cpu_clock::times min();
- };
+ struct duration_values<process_cpu_clock::times>;
+
 
 [section Class `times`]
 
+This class is the representation of the process_cpu_clock::duration class. As such it needs to implements the arithmetic operators.
+
         struct times : arithmetic<times>, less_than_comparable<times>
         {
             process_real_cpu_clock::rep real; // real (i.e wall clock) time
@@ -2060,18 +2065,173 @@
 
 [endsect]
 
+[section `duration_values` specialization for `times`]
+
+ template <>
+ struct duration_values<process_cpu_clock::times>
+ {
+ static process_cpu_clock::times zero();
+ static process_cpu_clock::times max();
+ static process_cpu_clock::times min();
+ };
+
+The `times` specific functions `zero()`, `max()` and `min()` uses the relative functions on the representation of each component.
+
+[endsect]
+
+[endsect]
+
+[endsect]
+
+[section:suspendible_clock_req `SuspendibleClock` requirements]
+
+A `SuspendibleClock` is a Clock that in addition support for `suspend`/`resume` operations.
+
+A `SuspendibleClock` must meet the requirements in the following Table.
+
+In this table `C` denote `clock` types.
+
+[table SuspendibleClock Requirements
+ [[expression] [return type] [operational semantics]]
+ [[`C::suspend()`] [`void`] [Suspends the time counting of the clock C.]]
+ [[`C::resume()`] [`void`] [Resumes the time counting of the clock C.]]
+ [[`C::suspended()`] [`duration`] [Returns the delay(duration during which the clock has been suspended.]]
+]
+
+[section:SuspendibleClock_suspend Static Member Function `suspend()`]
+
+ void suspend( system::error_code & ec = system::throws );
+
+[*Effect:] Suspends the SuspendibleClock.
+
+[*Throw:] Any exception the `Clock::now(ec)` function can throw. Otherwise `ec` is set with the correspoding error code set by `Clock::now(ec)`.
+
+[endsect]
+[section:SuspendibleClock_resume Static Member Function `resume()`]
+
+ void resume( system::error_code & ec = system::throws );
+
+[*Effect:] Resumes the `SuspendibleClock`.
+
+[*Throw:] Any exception the `Clock::now(ec)` can throw. Otherwise `ec` is set with the correspoding error code set by `Clock::now(ec)`.
+
+[endsect]
+
+[section:SuspendibleClock_suspended Static Member Function `suspended()`]
+
+ duration suspended( system::error_code & ec = system::throws );
+
+[*Returns:] the cumalative elapsed duration during which the `SuspendibleClock` has been suspendeed.
+
+[*Throw:] Any exception the Clock::now function can throw if `ec == system::throws`. Otherwise `ec` is set with the correspoding error code set by `Clock::now(ec)`.
+
+[endsect]
+
+[endsect]
+
+[/==================================================================]
+[section:scoped_suspend_hpp Header `<boost/chrono/scoped_suspend.hpp>`]
+[/==================================================================]
+
+ namespace boost { namespace chrono {
+ template <class Clock> struct is_suspendible;
+ template <class Clock> class scoped_suspend;
+ }}
+
+[section Meta Function Class `is_suspendible`]
+
+ template <class Clock>
+ struct is_suspendible : mpl:: false_ {};
+
+[endsect]
+
+[section Template Class `scoped_suspend`]
+
+ template <class Clock>
+ class scoped_suspend {
+ public:
+ scoped_suspend(system::error_code & ec = system::throws) {}
+ ~scoped_suspend() {}
+ private:
+ scoped_suspend(); // = delete;
+ scoped_suspend(const scoped_suspend&); // = delete;
+ scoped_suspend& operator=(const scoped_suspend&); // = delete;
+ };
+
+[endsect]
+
 [endsect]
 
 
+[/==================================================================]
+[section:suspendible_clock_hpp Header `<boost/chrono/suspendible_clock.hpp>`]
+[/==================================================================]
+
+ namespace boost { namespace chrono {
+
+ template <class Clock>
+ class suspendible_clock;
+
+ template <class Clock>
+ struct is_suspendible<suspendible_clock<Clock> > : mpl:: true_ {};
+
+ template <class Clock>
+ class scoped_suspend<suspendible_clock<Clock> >;
+
+ }}
+
+[section Template Class `suspendible_clock<>`]
+
+Given a `Clock`, `suspendible_clock<Clock>` is a model of SuspendibleClock.
+
+ template < class Clock >
+ class suspendible_clock {
+ public:
+ typedef typename Clock::duration duration;
+ typedef typename Clock::rep rep;
+ typedef typename Clock::period period;
+ typedef chrono::time_point<suspendible_clock<Clock> > time_point;
+ static const bool is_monotonic = true;
+
+ static time_point now( system::error_code & ec = system::throws );
+
+ static void suspend( system::error_code & ec = system::throws );
+ static void resume( system::error_code & ec = system::throws );
+ static duration suspended(system::error_code & ec = system::throws);
+ };
+
+[section `scoped_suspend` specialization for `suspendible_clock<>`]
+
+ template <class Clock>
+ class scoped_suspend<suspendible_clock<Clock> > {
+ public:
+ scoped_suspend(system::error_code & ec = system::throws);
+ ~scoped_suspend();
+ };
+
 [endsect]
 
+[endsect]
+
+[endsect]
 
 [endsect]
 
+
 [/==================================================]
 [section Stopwatches]
 [/==================================================]
 [/=============================================]
+[section:stopwatches_hpp Header `<boost/stopwatches.hpp>`]
+[/=============================================]
+
+This file include all the stopwatches related files
+
+ #include <boost/chrono/stopwatches.hpp>
+
+[endsect]
+
+[/=============================================]
 [section:chrono_stopwatches_hpp Header `<boost/chrono/stopwatches.hpp>`]
 [/=============================================]
 
@@ -2093,16 +2253,6 @@
 
 [endsect]
 
-[/=============================================]
-[section:stopwatches_hpp Header `<boost/stopwatches.hpp>`]
-[/=============================================]
-
-This file include all the stopwatches related files
-
- #include <boost/chrono/stopwatches.hpp>
-
-[endsect]
-
 [section `Stopwatch` Requirements]
 
 A Stopwatch measure the amount of time elapsed from a particular time when activated to when it is deactivated, or the accumulation of them.
@@ -2113,7 +2263,7 @@
 
 [table Stopwatch Requirements
     [[expression] [return type] [operational semantics]]
- [[`S::clock`] [A model of the CLock concept.] [The clock associated to this Stopwatch.]]
+ [[`S::clock`] [A model of the Clock concept.] [The clock associated to this Stopwatch.]]
     [[`S::duration`] [`S::clock::duration`] [The `duration` type of the `clock`.]]
     [[`S::time_point`] [`S::clock::time_point`] [The `time_point` type of the `clock`.]]
     [[`s.start()`] [`S::time_point`] [starts a Stopwatch.]]
@@ -2125,7 +2275,7 @@
 ]
 
 
-[section:stopwatch_start Member function`start()`]
+[section:stopwatch_start Member Function `start()`]
 
     time_point start( system::error_code & ec = system::throws );
 
@@ -2136,7 +2286,7 @@
 [*Throw:] Any exception the Clock::now function can throw.
 
 [endsect]
-[section:stopwatch_stop Member function`stop()`]
+[section:stopwatch_stop Member Function `stop()`]
 
     duration stop( system::error_code & ec = system::throws );
 
@@ -2147,7 +2297,7 @@
 [*Throw:] Any exception the Clock::now function can throw.
 
 [endsect]
-[section:stopwatch_suspend Member function`suspend()`]
+[section:stopwatch_suspend Member Function `suspend()`]
 
     duration suspend( system::error_code & ec = system::throws );
 
@@ -2156,7 +2306,7 @@
 [*Throw:] Any exception the Clock::now function can throw.
 
 [endsect]
-[section:stopwatch_resume Member function`resume()`]
+[section:stopwatch_resume Member Function `resume()`]
 
     time_point resume( system::error_code & ec = system::throws );
 
@@ -2168,7 +2318,7 @@
 
 [endsect]
 
-[section:stopwatch_restart Member function`restart()`]
+[section:stopwatch_restart Member Function `restart()`]
 
     time_point restart( system::error_code & ec = system::throws );
 
@@ -2239,7 +2389,7 @@
 
         };
 
-[section:stopwatch_elapsed Member function`elapsed()`]
+[section:stopwatch_elapsed Member Function `elapsed()`]
 
             duration elapsed(system::error_code & ec = system::throws) const;
 
@@ -2325,7 +2475,7 @@
 [*Effect:] Initialize the elapsed duration and the times counter to 0.
 
 [endsect]
-[section:stopwatch_accumulator_start Member function`start()`]
+[section:stopwatch_accumulator_start Member Function `start()`]
 
     time_point start( system::error_code & ec = system::throws );
 
@@ -2336,7 +2486,7 @@
 [*Throw:] Any exception the Clock::now function can throw.
 
 [endsect]
-[section:stopwatch_accumulator_stop Member function`stop()`]
+[section:stopwatch_accumulator_stop Member Function `stop()`]
 
     duration stop( system::error_code & ec = system::throws );
 
@@ -2347,7 +2497,7 @@
 [*Throw:] Any exception the Clock::now function can throw.
 
 [endsect]
-[section:stopwatch_accumulator_suspend Member function`suspend()`]
+[section:stopwatch_accumulator_suspend Member Function `suspend()`]
 
     duration suspend( system::error_code & ec = system::throws );
 
@@ -2356,7 +2506,7 @@
 [*Throw:] Any exception the Clock::now function can throw.
 
 [endsect]
-[section:stopwatch_accumulator_resume Member function`resume()`]
+[section:stopwatch_accumulator_resume Member Function `resume()`]
 
     time_point resume( system::error_code & ec = system::throws );
 
@@ -2368,7 +2518,7 @@
 
 [endsect]
 
-[section:stopwatch_accumulator_restart Member function`restart()`]
+[section:stopwatch_accumulator_restart Member Function `restart()`]
 
     time_point restart( system::error_code & ec = system::throws );
 
@@ -2379,7 +2529,7 @@
 [*Throw:] Any exception the Clock::now function can throw.
 
 [endsect]
-[section:stopwatch_accumulator_reset Member function`reset()`]
+[section:stopwatch_accumulator_reset Member Function `reset()`]
 
     void reset( );
 
@@ -2388,7 +2538,7 @@
 [*Throw:] Nothing.
 
 [endsect]
-[section:stopwatch_accumulator_elapsed Member function`elapsed()`]
+[section:stopwatch_accumulator_elapsed Member Function `elapsed()`]
 
             duration elapsed(system::error_code & ec = system::throws) const;
 
@@ -2398,7 +2548,7 @@
 
 [endsect]
 
-[section:stopwatch_accumulator_accumulated Member function`accumulated()`]
+[section:stopwatch_accumulator_accumulated Member Function `accumulated()`]
 
             accumulator& accumulated();
 
@@ -2752,7 +2902,7 @@
 [/==================================================]
 
     namespace boost { namespace chrono {
- template < class Clock, class Formatter >
+ template < class Clock, class Formatter >
         class stopclock_accumulator;
         typedef <see above> system_stopclock_accumulator;
         #ifdef BOOST_CHRONO_HAS_CLOCK_MONOTONIC
@@ -2771,7 +2921,7 @@
     template
         < class Clock=high_resolution_clock
         , class Formatter=typename stopwatch_reporter_default_formatter<stopwatch_accumulator<Clock>>::type
- > class stopclock_accumulator
+ > class stopclock_accumulator
         : public stopwatch_reporter<stopwatch_accumulator<Clock>, Formatter> {
     public:
         typedef Clock clock;
@@ -2856,7 +3006,7 @@
 
     template < class Clock=process_cpu_clock
         , class Formatter=typename stopwatch_reporter_default_formatter<stopwatch<Clock>>::type
- > class scoped_stopclock
+ > class scoped_stopclock
         : public stopwatch_reporter<stopwatch<Clock>, Formatter> {
     public:
         typedef Clock clock;
@@ -4357,11 +4507,12 @@
 [section:history Appendix A: History]
 [/==================================]
 
-[section [*Version 0.3.1, January 20, 2010] ['New Allow wide characters + Bug fixes]]
+[section [*Version 0.3.2, January 24, 2010] ['New SuspendibleClock + Bug fixes]]
 [*Features:]
 
-* Allow wide characters on formatters and stopclocks
-* added chrono.hpp and stopwatches.hpp at the boost level
+* Suspendible Clock concept + template class suspendible_clock<>
+* Added scope_suspend which will do nothing if the Clock is not a Suspendible Clock concept, and suspend/resume otherwise.
+* Use of scope_suspend while reporting on stopwatch reporter
 
 [*Bug Fixes]
 
@@ -4369,6 +4520,15 @@
 
 [endsect]
 
+[section [*Version 0.3.1, January 20, 2010] ['New Allow wide characters + Bug fixes]]
+[*Features:]
+
+* Support for wide characters on formatters and stopclocks
+* added chrono.hpp and stopwatches.hpp at the boost level
+
+
+[endsect]
+
 [section [*Version 0.3.0, January 17, 2010] ['New stopwatch/stopclock feature + Bug fixes]]
 [*Features:]
 
@@ -4437,7 +4597,7 @@
 * Added nested ratio typedef type ([@http://home.roadrunner.com/~hinnant/issue_review/lwg-active.html#1281 [*LWG 1281. CopyConstruction and Assignment between ratios having the same normalized form]])
 * Added BOOST_CHRONO_HAS_CLOCK_MONOTONIC macro to state if monotonic_clock is provided on this platform.
 * Added duration operator% ([@http://home.roadrunner.com/~hinnant/issue_review/lwg-defects.html#934 [*LGW 934. duration is missing operator%]])
-* Added BOOST_CONSTEXPR when constexpr should be used
+* Added BOOST_CHRONO_CONSTEXPR when constexpr should be used
 * Complete duration operator* and operator/
 
 
@@ -4669,19 +4829,30 @@
 ]
 [endsect]
 
+[section Other Clocks]
+[table
+ [[Name] [kind] [Description] [Result] [Ticket]]
+ [[test_suspendible_clock] [run] [test basic uses of suspendible_clock.] [Pass] [#]]
+]
+[endsect]
 [section stopwatch]
 [table
     [[Name] [kind] [Description] [Result] [Ticket]]
     [[test_min_max] [compile] [test compilation succeeds in the presence of macros min and max.] [Pass] [#]]
     [[stopwatch_example] [run] [...] [Pass] [#]]
     [[stopwatch_example] [run] [...] [Pass] [#]]
+ [[scoped_stopwatch_example] [run] [...] [Pass] [#]]
     [[stopwatch_accumulator_example] [run] [...] [Pass] [#]]
+ [[specific_stopwatch_accumulator_example] [run] [...] [Pass] [#]]
     [[stopclock_example] [run] [...] [Pass] [#]]
+ [[stopclock_accumulator_example] [run] [...] [Pass] [#]]
+ [[nested_stopclock_accumulator_example] [run] [...] [Pass] [#]]
     [[digital_time_example] [run] [...] [Pass] [#]]
     [[scoped_stopclock_example] [run] [...] [Pass] [#]]
     [[test_minmax] [compile] [...] [Pass] [#]]
     [[stopclock_constructor_overload_test] [run] [...] [Pass] [#]]
     [[wstopclock_constructor_overload_test] [run] [...] [Pass] [#]]
+
 ]
 [endsect]
 
@@ -4704,6 +4875,16 @@
     [[11] [MSVC reports a warning instead of an error when there is an integral constant overflow] [manage with MSVC reporting a warning instead of an error when there is an integral constant overflow] [Close]]
     [[12] [ambiguities with MSVC when using detail:: namespace] [Qualify with boost::detail boost::chrono::detail ] [Close]]
     [[13] [warning C4251: 'boost::chrono::run_timer::m_format' : class 'std::basic_string<_Elem,_Traits,_Ax>' needs to have dll-interface to be used by clients of class 'boost::chrono::run_timer'] [don't include inlines functions using the std::string m_format] [Close]]
+ [[14] [Bade use of duration(0) on template classes] [remplace by duration::zero()] [Close]]
+ [[15] [suspend don't works: partial_ not initialized] [initialize with duration::zero()] [Close]]
+ [[16] [suspend don't works: elapsed don't take care of partial_] [take care of partial] [Close]]
+ [[17] [suspend don't works: bad use of system::error_code & ec] [replace by system::error_code ec] [Close]]
+ [[18] [warnings on mingw-gcc.4.4:[br]..\..\../boost/chrono/chrono.hpp: In copy constructor 'boost::chrono::time_point<boost::chrono::process_cpu_clock, boost::chrono::duration<boost::chrono::process_cpu_clock::times, boost::ratio<1ll, 1000000000ll> > >::time_point(const boost::chrono::time_point<boost::chrono::process_cpu_clock, boost::chrono::duration<boost::chrono::process_cpu_clock::times, boost::ratio<1ll, 1000000000ll> > >&)':
+..\..\../boost/chrono/chrono.hpp:816: warning: suggest parentheses around '&&' within '||'
+..\..\../boost/chrono/chrono.hpp:816: warning: suggest parentheses around '&&' within '||'] [???] [Open]]
+ [[19] [suspendible_clock_test don't works in my windows environement (issue with tss)] [XXXX] [Open]]
+ [[#] [XXXX] [XXXX] [Close]]
+ [[#] [XXXX] [XXXX] [Close]]
     [[#] [XXXX] [XXXX] [Close]]
 ]
 

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -29,6 +29,8 @@
 <div class="toc"><dl>
 <dt><span class="section"> Appendix A: History</span></dt>
 <dd><dl>
+<dt><span class="section"><a href="appendices/history.html#boost_chrono.appendices.history.__version_0_3_2__january_24__2010____new_suspendibleclock___bug_fixes_"><span class="bold"><strong>Version 0.3.2, January 24, 2010</strong></span> <span class="emphasis"><em>New SuspendibleClock
+ + Bug fixes</em></span></a></span></dt>
 <dt><span class="section"><a href="appendices/history.html#boost_chrono.appendices.history.__version_0_3_1__january_20__2010____new_allow_wide_characters___bug_fixes_"><span class="bold"><strong>Version 0.3.1, January 20, 2010</strong></span> <span class="emphasis"><em>New Allow
         wide characters + Bug fixes</em></span></a></span></dt>
 <dt><span class="section"><a href="appendices/history.html#boost_chrono.appendices.history.__version_0_3_0__january_17__2010____new_stopwatch_stopclock_feature___bug_fixes_"><span class="bold"><strong>Version 0.3.0, January 17, 2010</strong></span> <span class="emphasis"><em>New stopwatch/stopclock
@@ -50,6 +52,7 @@
 <dt><span class="section">common_type</span></dt>
 <dt><span class="section">ratio</span></dt>
 <dt><span class="section">chrono</span></dt>
+<dt><span class="section">Other Clocks</span></dt>
 <dt><span class="section">stopwatch</span></dt>
 </dl></dd>
 <dt><span class="section"> Appendix G: Tickets</span></dt>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/faq.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/faq.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/faq.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -29,7 +29,7 @@
 <a name="boost_chrono.appendices.faq"></a> Appendix D: FAQ
 </h3></div></div></div>
 <a name="boost_chrono.appendices.faq.how_important_is_the_order_of_the_common_type_lt__gt__template_arguments_"></a><h4>
-<a name="id4911589"></a>
+<a name="id4914656"></a>
         <a href="faq.html#boost_chrono.appendices.faq.how_important_is_the_order_of_the_common_type_lt__gt__template_arguments_">How
         important is the order of the common_type&lt;&gt; template arguments?</a>
       </h4>
@@ -60,7 +60,7 @@
         is also undefined.
       </p>
 <a name="boost_chrono.appendices.faq.why_does_stopwatch_reporter_only_display_millisecond_place_precision_when_the_underlying_timer_has_nanosecond_precision_"></a><h4>
-<a name="id4911999"></a>
+<a name="id4915066"></a>
         <a href="faq.html#boost_chrono.appendices.faq.why_does_stopwatch_reporter_only_display_millisecond_place_precision_when_the_underlying_timer_has_nanosecond_precision_">Why
         does stopwatch_reporter only display millisecond place precision when the
         underlying timer has nanosecond precision?</a>
@@ -71,7 +71,7 @@
         dangerously.
       </p>
 <a name="boost_chrono.appendices.faq.why_does_stopwatch_reporter_sometimes_report_more_cpu_seconds_than_real_seconds_"></a><h4>
-<a name="id4912041"></a>
+<a name="id4915107"></a>
         <a href="faq.html#boost_chrono.appendices.faq.why_does_stopwatch_reporter_sometimes_report_more_cpu_seconds_than_real_seconds_">Why
         does stopwatch_reporter sometimes report more cpu seconds than real seconds?</a>
       </h4>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/history.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/history.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/history.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -27,6 +27,8 @@
 <a name="boost_chrono.appendices.history"></a> Appendix A: History
 </h3></div></div></div>
 <div class="toc"><dl>
+<dt><span class="section"><a href="history.html#boost_chrono.appendices.history.__version_0_3_2__january_24__2010____new_suspendibleclock___bug_fixes_"><span class="bold"><strong>Version 0.3.2, January 24, 2010</strong></span> <span class="emphasis"><em>New SuspendibleClock
+ + Bug fixes</em></span></a></span></dt>
 <dt><span class="section"><a href="history.html#boost_chrono.appendices.history.__version_0_3_1__january_20__2010____new_allow_wide_characters___bug_fixes_"><span class="bold"><strong>Version 0.3.1, January 20, 2010</strong></span> <span class="emphasis"><em>New Allow
         wide characters + Bug fixes</em></span></a></span></dt>
 <dt><span class="section"><a href="history.html#boost_chrono.appendices.history.__version_0_3_0__january_17__2010____new_stopwatch_stopclock_feature___bug_fixes_"><span class="bold"><strong>Version 0.3.0, January 17, 2010</strong></span> <span class="emphasis"><em>New stopwatch/stopclock
@@ -39,19 +41,23 @@
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="boost_chrono.appendices.history.__version_0_3_1__january_20__2010____new_allow_wide_characters___bug_fixes_"></a><a href="history.html#boost_chrono.appendices.history.__version_0_3_1__january_20__2010____new_allow_wide_characters___bug_fixes_" title="Version 0.3.1, January 20, 2010 New Allow
- wide characters + Bug fixes"><span class="bold"><strong>Version 0.3.1, January 20, 2010</strong></span> <span class="emphasis"><em>New Allow
- wide characters + Bug fixes</em></span></a>
+<a name="boost_chrono.appendices.history.__version_0_3_2__january_24__2010____new_suspendibleclock___bug_fixes_"></a><a href="history.html#boost_chrono.appendices.history.__version_0_3_2__january_24__2010____new_suspendibleclock___bug_fixes_" title="Version 0.3.2, January 24, 2010 New SuspendibleClock
+ + Bug fixes"><span class="bold"><strong>Version 0.3.2, January 24, 2010</strong></span> <span class="emphasis"><em>New SuspendibleClock
+ + Bug fixes</em></span></a>
 </h4></div></div></div>
 <p>
           <span class="bold"><strong>Features:</strong></span>
         </p>
 <div class="itemizedlist"><ul type="disc">
 <li>
- Allow wide characters on formatters and stopclocks
+ Suspendible Clock concept + template class suspendible_clock&lt;&gt;
           </li>
 <li>
- added chrono.hpp and stopwatches.hpp at the boost level
+ Added scope_suspend which will do nothing if the Clock is not a Suspendible
+ Clock concept, and suspend/resume otherwise.
+ </li>
+<li>
+ Use of scope_suspend while reporting on stopwatch reporter
           </li>
 </ul></div>
 <p>
@@ -63,6 +69,24 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.appendices.history.__version_0_3_1__january_20__2010____new_allow_wide_characters___bug_fixes_"></a><a href="history.html#boost_chrono.appendices.history.__version_0_3_1__january_20__2010____new_allow_wide_characters___bug_fixes_" title="Version 0.3.1, January 20, 2010 New Allow
+ wide characters + Bug fixes"><span class="bold"><strong>Version 0.3.1, January 20, 2010</strong></span> <span class="emphasis"><em>New Allow
+ wide characters + Bug fixes</em></span></a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Support for wide characters on formatters and stopclocks
+ </li>
+<li>
+ added chrono.hpp and stopwatches.hpp at the boost level
+ </li>
+</ul></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
 <a name="boost_chrono.appendices.history.__version_0_3_0__january_17__2010____new_stopwatch_stopclock_feature___bug_fixes_"></a><a href="history.html#boost_chrono.appendices.history.__version_0_3_0__january_17__2010____new_stopwatch_stopclock_feature___bug_fixes_" title="Version 0.3.0, January 17, 2010 New stopwatch/stopclock
         feature + Bug fixes"><span class="bold"><strong>Version 0.3.0, January 17, 2010</strong></span> <span class="emphasis"><em>New stopwatch/stopclock
         feature + Bug fixes</em></span></a>
@@ -249,7 +273,7 @@
             Added duration operator% (LGW 934. duration is missing operator%)
           </li>
 <li>
- Added BOOST_CONSTEXPR when constexpr should be used
+ Added BOOST_CHRONO_CONSTEXPR when constexpr should be used
           </li>
 <li>
             Complete duration operator* and operator/

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/rationale.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/rationale.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/rationale.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -33,7 +33,7 @@
         are an extract from this document.
       </p>
 <a name="boost_chrono.appendices.rationale.is_it_possible_for_the_user_to_pass_a__code__phrase_role__identifier__duration__phrase___code__to_a_function_with_the_units_being_ambiguous_"></a><h4>
-<a name="id4910373"></a>
+<a name="id4913440"></a>
         <a href="rationale.html#boost_chrono.appendices.rationale.is_it_possible_for_the_user_to_pass_a__code__phrase_role__identifier__duration__phrase___code__to_a_function_with_the_units_being_ambiguous_">Is
         it possible for the user to pass a <code class="computeroutput"><span class="identifier">duration</span></code>
         to a function with the units being ambiguous?</a>
@@ -45,7 +45,7 @@
 <pre class="programlisting"><span class="identifier">f</span><span class="special">(</span><span class="number">3</span><span class="special">);</span> <span class="comment">// Will not compile, 3 is not implicitly convertible to any `duration`
 </span></pre>
 <a name="boost_chrono.appendices.rationale.why_duration_needs_operator_"></a><h4>
-<a name="id4910463"></a>
+<a name="id4913529"></a>
         <a href="rationale.html#boost_chrono.appendices.rationale.why_duration_needs_operator_">Why
         duration needs operator%</a>
       </h4>
@@ -73,7 +73,7 @@
 <span class="special">};</span>
 </pre>
 <a name="boost_chrono.appendices.rationale.why_ratio_needs_copyconstruction_and_assignment_from_ratios_having_the_same_normalized_form"></a><h4>
-<a name="id4911043"></a>
+<a name="id4914110"></a>
         <a href="rationale.html#boost_chrono.appendices.rationale.why_ratio_needs_copyconstruction_and_assignment_from_ratios_having_the_same_normalized_form">Why
         ratio needs CopyConstruction and Assignment from ratios having the same normalized
         form</a>
@@ -101,7 +101,7 @@
         ratio&lt;1,3&gt; and the compilation succeeds.
       </p>
 <a name="boost_chrono.appendices.rationale.why_ratio_needs_the_nested_normalizer_typedef_type"></a><h4>
-<a name="id4911357"></a>
+<a name="id4914423"></a>
         <a href="rationale.html#boost_chrono.appendices.rationale.why_ratio_needs_the_nested_normalizer_typedef_type">Why
         ratio needs the nested normalizer typedef type</a>
       </h4>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tests.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tests.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tests.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -31,6 +31,7 @@
 <dt><span class="section">common_type</span></dt>
 <dt><span class="section">ratio</span></dt>
 <dt><span class="section">chrono</span></dt>
+<dt><span class="section">Other Clocks</span></dt>
 <dt><span class="section">stopwatch</span></dt>
 </dl></div>
 <p>
@@ -686,6 +687,74 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.appendices.tests.other_clocks"></a>Other Clocks
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ kind
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Result
+ </p>
+ </th>
+<th>
+ <p>
+ Ticket
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ test_suspendible_clock
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ test basic uses of suspendible_clock.
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
 <a name="boost_chrono.appendices.tests.stopwatch"></a>stopwatch
 </h4></div></div></div>
 <div class="informaltable"><table class="table">
@@ -808,6 +877,33 @@
 <tr>
 <td>
                 <p>
+ scoped_stopwatch_example
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ ...
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
                   stopwatch_accumulator_example
                 </p>
                 </td>
@@ -835,6 +931,33 @@
 <tr>
 <td>
                 <p>
+ specific_stopwatch_accumulator_example
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ ...
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
                   stopclock_example
                 </p>
                 </td>
@@ -862,6 +985,60 @@
 <tr>
 <td>
                 <p>
+ stopclock_accumulator_example
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ ...
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ nested_stopclock_accumulator_example
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ ...
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
                   digital_time_example
                 </p>
                 </td>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tickets.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tickets.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/tickets.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -352,6 +352,190 @@
 <tr>
 <td>
               <p>
+ 14
+ </p>
+ </td>
+<td>
+ <p>
+ Bade use of duration(0) on template classes
+ </p>
+ </td>
+<td>
+ <p>
+ remplace by duration::zero()
+ </p>
+ </td>
+<td>
+ <p>
+ Close
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 15
+ </p>
+ </td>
+<td>
+ <p>
+ suspend don't works: partial_ not initialized
+ </p>
+ </td>
+<td>
+ <p>
+ initialize with duration::zero()
+ </p>
+ </td>
+<td>
+ <p>
+ Close
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 16
+ </p>
+ </td>
+<td>
+ <p>
+ suspend don't works: elapsed don't take care of partial_
+ </p>
+ </td>
+<td>
+ <p>
+ take care of partial
+ </p>
+ </td>
+<td>
+ <p>
+ Close
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 17
+ </p>
+ </td>
+<td>
+ <p>
+ suspend don't works: bad use of system::error_code &amp; ec
+ </p>
+ </td>
+<td>
+ <p>
+ replace by system::error_code ec
+ </p>
+ </td>
+<td>
+ <p>
+ Close
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 18
+ </p>
+ </td>
+<td>
+ <p>
+ warnings on mingw-gcc.4.4:<br> ....../boost/chrono/chrono.hpp:
+ In copy constructor 'boost::chrono::time_point&lt;boost::chrono::process_cpu_clock,
+ boost::chrono::duration&lt;boost::chrono::process_cpu_clock::times,
+ boost::ratio&lt;1ll, 1000000000ll&gt; &gt; &gt;::time_point(const
+ boost::chrono::time_point&lt;boost::chrono::process_cpu_clock, boost::chrono::duration&lt;boost::chrono::process_cpu_clock::times,
+ boost::ratio&lt;1ll, 1000000000ll&gt; &gt; &gt;&amp;)': ....../boost/chrono/chrono.hpp:816:
+ warning: suggest parentheses around '&amp;&amp;' within '||' ....../boost/chrono/chrono.hpp:816:
+ warning: suggest parentheses around '&amp;&amp;' within '||'
+ </p>
+ </td>
+<td>
+ <p>
+ ???
+ </p>
+ </td>
+<td>
+ <p>
+ Open
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 19
+ </p>
+ </td>
+<td>
+ <p>
+ suspendible_clock_test don't works in my windows environement (issue
+ with tss)
+ </p>
+ </td>
+<td>
+ <p>
+ XXXX
+ </p>
+ </td>
+<td>
+ <p>
+ Open
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+<td>
+ <p>
+ XXXX
+ </p>
+ </td>
+<td>
+ <p>
+ XXXX
+ </p>
+ </td>
+<td>
+ <p>
+ Close
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+<td>
+ <p>
+ XXXX
+ </p>
+ </td>
+<td>
+ <p>
+ XXXX
+ </p>
+ </td>
+<td>
+ <p>
+ Close
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
                 #
               </p>
               </td>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/todo.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/todo.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/todo.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -26,7 +26,7 @@
 <a name="boost_chrono.appendices.todo"></a> Appendix H: Future plans
 </h3></div></div></div>
 <a name="boost_chrono.appendices.todo.tasks_to_do_before_review"></a><h4>
-<a name="id4914065"></a>
+<a name="id4917636"></a>
         <a href="todo.html#boost_chrono.appendices.todo.tasks_to_do_before_review">Tasks
         to do before review</a>
       </h4>
@@ -59,7 +59,7 @@
 <span class="identifier">high</span> <span class="identifier">resolution</span> <span class="identifier">timers</span> <span class="identifier">to</span> <span class="identifier">avoid</span> <span class="identifier">these</span> <span class="identifier">issues</span><span class="special">.</span>
 </pre>
 <a name="boost_chrono.appendices.todo.for_later_releases"></a><h4>
-<a name="id4914668"></a>
+<a name="id4918240"></a>
         <a href="todo.html#boost_chrono.appendices.todo.for_later_releases">For later
         releases</a>
       </h4>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -98,6 +98,21 @@
 </ul></div>
 </li>
 <li>
+ Suspendible Clock
+ <div class="itemizedlist"><ul type="circle">
+<li>
+ Suspendible Clock concept
+ </li>
+<li>
+ template class suspendible_clock&lt;&gt;
+ </li>
+<li>
+ Added scope_suspend which do suspend/resume if the Clock is a model of
+ Suspendible Clock concept, and nothing otherwise.
+ </li>
+</ul></div>
+</li>
+<li>
         Stopwatches:
         <div class="itemizedlist"><ul type="circle">
 <li>
@@ -132,7 +147,7 @@
 </li>
 </ul></div>
 <a name="boost_chrono.overview.how_to_use_this_documentation"></a><h3>
-<a name="id4765074"></a>
+<a name="id4765096"></a>
       <a href="overview.html#boost_chrono.overview.how_to_use_this_documentation">How to
       Use This Documentation</a>
     </h3>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/motivation.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/motivation.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/overview/motivation.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -237,7 +237,7 @@
           needs only 23 bits to cover that range.
         </p>
 <a name="boost_chrono.overview.motivation.duration.so_what_exactly_is_a__code__phrase_role__identifier__duration__phrase___code__and_how_do_i_use_one_"></a><h5>
-<a name="id4759415"></a>
+<a name="id4759436"></a>
           <a href="motivation.html#boost_chrono.overview.motivation.duration.so_what_exactly_is_a__code__phrase_role__identifier__duration__phrase___code__and_how_do_i_use_one_">So
           What Exactly is a <code class="computeroutput"><span class="identifier">duration</span></code>
           and How Do I Use One?</a>
@@ -295,7 +295,7 @@
           instead of inheritance).
         </p>
 <a name="boost_chrono.overview.motivation.duration.what_happens_if_i_assign__code__phrase_role__identifier__m3__phrase___phrase_role__special_____phrase___phrase_role__identifier__us3__phrase___code__to__code__phrase_role__identifier__minutes__phrase___code__instead_of__code__phrase_role__identifier__microseconds__phrase___code__"></a><h5>
-<a name="id4813031"></a>
+<a name="id4813050"></a>
           <a href="motivation.html#boost_chrono.overview.motivation.duration.what_happens_if_i_assign__code__phrase_role__identifier__m3__phrase___phrase_role__special_____phrase___phrase_role__identifier__us3__phrase___code__to__code__phrase_role__identifier__minutes__phrase___code__instead_of__code__phrase_role__identifier__microseconds__phrase___code__">What
           happens if I assign <code class="computeroutput"><span class="identifier">m3</span> <span class="special">+</span> <span class="identifier">us3</span></code>
           to <code class="computeroutput"><span class="identifier">minutes</span></code> instead of
@@ -312,7 +312,7 @@
           ignored. This is similar to the problem of assigning a double to an <code class="computeroutput"><span class="keyword">int</span></code>: the fractional part gets silently discarded.
         </p>
 <a name="boost_chrono.overview.motivation.duration.but_what_if_the_truncation_behavior_is_what_i_want_to_do_"></a><h5>
-<a name="id4813200"></a>
+<a name="id4813220"></a>
           <a href="motivation.html#boost_chrono.overview.motivation.duration.but_what_if_the_truncation_behavior_is_what_i_want_to_do_">But
           what if the truncation behavior is what I want to do?</a>
         </h5>
@@ -332,7 +332,7 @@
           as often as it can.
         </p>
 <a name="boost_chrono.overview.motivation.duration.i_m_trafficking_in_floating_point__code__phrase_role__identifier__duration__phrase___code_s__i_don_t_want_to_deal_with_writing__code__phrase_role__identifier__duration_cast__phrase___code__all_over_the_place__i_m_content_with_the_precision_of_my_floating_point_representation"></a><h5>
-<a name="id4813336"></a>
+<a name="id4813356"></a>
           <a href="motivation.html#boost_chrono.overview.motivation.duration.i_m_trafficking_in_floating_point__code__phrase_role__identifier__duration__phrase___code_s__i_don_t_want_to_deal_with_writing__code__phrase_role__identifier__duration_cast__phrase___code__all_over_the_place__i_m_content_with_the_precision_of_my_floating_point_representation">I'm
           trafficking in floating point <code class="computeroutput"><span class="identifier">duration</span></code>s.
           I don't want to deal with writing <code class="computeroutput"><span class="identifier">duration_cast</span></code>
@@ -347,7 +347,7 @@
 <span class="identifier">dminutes</span> <span class="identifier">dm4</span> <span class="special">=</span> <span class="identifier">m3</span> <span class="special">+</span> <span class="identifier">us3</span><span class="special">;</span> <span class="comment">// dm4.count() == 5.000000083333333
 </span></pre>
 <a name="boost_chrono.overview.motivation.duration.how_expensive_is_all_of_this_"></a><h5>
-<a name="id4813499"></a>
+<a name="id4813518"></a>
           <a href="motivation.html#boost_chrono.overview.motivation.duration.how_expensive_is_all_of_this_">How
           expensive is all of this?</a>
         </h5>
@@ -361,7 +361,7 @@
           tick counts.
         </p>
 <a name="boost_chrono.overview.motivation.duration.how_complicated_is_it_to_build_a_function_taking_a__code__phrase_role__identifier__duration__phrase___code__parameter_"></a><h5>
-<a name="id4813549"></a>
+<a name="id4813568"></a>
           <a href="motivation.html#boost_chrono.overview.motivation.duration.how_complicated_is_it_to_build_a_function_taking_a__code__phrase_role__identifier__duration__phrase___code__parameter_">How
           complicated is it to build a function taking a <code class="computeroutput"><span class="identifier">duration</span></code>
           parameter?</a>
@@ -583,7 +583,7 @@
           the relationship between the epochs associated with each clock is known.
         </p>
 <a name="boost_chrono.overview.motivation.time_point.so_what_exactly_is_a__code__phrase_role__identifier__time_point__phrase___code__and_how_do_i_use_one_"></a><h5>
-<a name="id4815354"></a>
+<a name="id4815374"></a>
           <a href="motivation.html#boost_chrono.overview.motivation.time_point.so_what_exactly_is_a__code__phrase_role__identifier__time_point__phrase___code__and_how_do_i_use_one_">So
           What Exactly is a <code class="computeroutput"><span class="identifier">time_point</span></code>
           and How Do I Use One?</a>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -40,16 +40,23 @@
 <dt><span class="section"><a href="reference/cpp0x.html#boost_chrono.reference.cpp0x.chrono_typeof_hpp"> Header
         <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">typeof</span><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">chorno</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 </dl></dd>
-<dt><span class="section"><a href="reference/process_cpu_related.html">Process CPU
- related</a></span></dt>
-<dd><dl><dt><span class="section"><a href="reference/process_cpu_related.html#boost_chrono.reference.process_cpu_related.process_cpu_clocks_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">process_cpu_clocks</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt></dl></dd>
+<dt><span class="section">Other clocks</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">process_cpu_clocks</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req">
+ <code class="computeroutput"><span class="identifier">SuspendibleClock</span></code> requirements</a></span></dt>
+<dt><span class="section"><a href="reference/other_clocks.html#boost_chrono.reference.other_clocks.scoped_suspend_hpp">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">scoped_suspend</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_hpp">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">suspendible_clock</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+</dl></dd>
 <dt><span class="section">Stopwatches</span></dt>
 <dd><dl>
-<dt><span class="section"><a href="reference/stopwatches.html#boost_chrono.reference.stopwatches.chrono_stopwatches_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 <dt><span class="section"><a href="reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatches_hpp">
         Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/stopwatches.html#boost_chrono.reference.stopwatches.chrono_stopwatches_hpp">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 <dt><span class="section">Stopwatch Requirements</span></dt>
 <dt><span class="section"><a href="reference/stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp">
         Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/cpp0x.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/cpp0x.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/cpp0x.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -8,8 +8,7 @@
 <link rel="start" href="../../index.html" title="Boost.Chrono">
 <link rel="up" href="../reference.html" title=" Reference ">
 <link rel="prev" href="../reference.html" title=" Reference ">
-<link rel="next" href="process_cpu_related.html" title="Process CPU
- related">
+<link rel="next" href="other_clocks.html" title="Other clocks">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -22,7 +21,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="process_cpu_related.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="other_clocks.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -422,8 +421,10 @@
 </h4></div></div></div>
 <p>
           This file is a redirection to <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">hpp</span></code>
+ including in addition registration for <code class="computeroutput"><span class="identifier">duration</span><span class="special">&lt;&gt;</span></code> and <code class="computeroutput"><span class="identifier">timepoint</span><span class="special">&lt;&gt;</span></code> class templates to Boost.Typeof.
         </p>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">typeof</span><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 </div>
 <div class="section" lang="en">
@@ -604,7 +605,7 @@
             and both of these calls happen before <code class="computeroutput"><span class="identifier">C1</span><span class="special">::</span><span class="identifier">time_point</span><span class="special">::</span><span class="identifier">max</span><span class="special">()</span></code>.
           </p>
 <div class="table">
-<a name="id4831391"></a><p class="title"><b>Table 1. Clock Requirements</b></p>
+<a name="id4831526"></a><p class="title"><b>Table 1. Clock Requirements</b></p>
 <table class="table" summary="Clock Requirements">
 <colgroup>
 <col>
@@ -798,7 +799,7 @@
 </h6></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.time_related_traits.duration_values.zero">
- Static member function<code class="computeroutput"><span class="identifier">zero</span><span class="special">()</span></code></a></span></dt>
+ Static member Function <code class="computeroutput"><span class="identifier">zero</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.time_related_traits.duration_values.max">
               Static member function <code class="computeroutput"><span class="identifier">max</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.time_related_traits.duration_values.min">
@@ -808,9 +809,9 @@
 <span class="keyword">struct</span> <span class="identifier">duration_values</span>
 <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">Rep</span> <span class="identifier">zero</span><span class="special">();</span>
- <span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">Rep</span> <span class="identifier">max</span><span class="special">();</span>
- <span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">Rep</span> <span class="identifier">min</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">Rep</span> <span class="identifier">zero</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">Rep</span> <span class="identifier">max</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">Rep</span> <span class="identifier">min</span><span class="special">();</span>
 <span class="special">};</span>
 </pre>
 <p>
@@ -827,10 +828,10 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.cpp0x.chrono_chrono_hpp.time_related_traits.duration_values.zero"></a><a href="cpp0x.html#boost_chrono.reference.cpp0x.chrono_chrono_hpp.time_related_traits.duration_values.zero" title="
- Static member functionzero()">
- Static member function<code class="computeroutput"><span class="identifier">zero</span><span class="special">()</span></code></a>
+ Static member Function zero()">
+ Static member Function <code class="computeroutput"><span class="identifier">zero</span><span class="special">()</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">Rep</span> <span class="identifier">zero</span><span class="special">();</span>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">Rep</span> <span class="identifier">zero</span><span class="special">();</span>
 </pre>
 <p>
                 <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">Rep</span><span class="special">(</span><span class="number">0</span><span class="special">)</span></code>. <span class="bold"><strong>Note:</strong></span>
@@ -849,7 +850,7 @@
               Static member function max()">
               Static member function <code class="computeroutput"><span class="identifier">max</span><span class="special">()</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">Rep</span> <span class="identifier">max</span><span class="special">();</span>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">Rep</span> <span class="identifier">max</span><span class="special">();</span>
 </pre>
 <p>
                 <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">&gt;::</span><span class="identifier">max</span><span class="special">()</span></code>.
@@ -865,7 +866,7 @@
               Static member function min()">
               Static member function <code class="computeroutput"><span class="identifier">min</span><span class="special">()</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">Rep</span> <span class="identifier">min</span><span class="special">();</span>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">Rep</span> <span class="identifier">min</span><span class="special">();</span>
 </pre>
 <p>
                 <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">Rep</span><span class="special">&gt;::</span><span class="identifier">lowest</span><span class="special">()</span></code>.
@@ -984,9 +985,9 @@
     <span class="keyword">private</span><span class="special">:</span>
         <span class="identifier">rep</span> <span class="identifier">rep_</span><span class="special">;</span> <span class="comment">// exposition only
 </span> <span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">duration</span><span class="special">()</span> <span class="special">{}</span> <span class="comment">// = default;
+ <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">duration</span><span class="special">()</span> <span class="special">{}</span> <span class="comment">// = default;
 </span> <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep2</span><span class="special">&gt;</span>
- <span class="identifier">BOOST_CONSTEXPR</span> <span class="keyword">explicit</span> <span class="identifier">duration</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="keyword">explicit</span> <span class="identifier">duration</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span>
               <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if_c</span>
               <span class="special">&lt;</span>
               <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">rep</span><span class="special">&gt;::</span><span class="identifier">value</span>
@@ -996,7 +997,7 @@
               <span class="special">&gt;::</span><span class="identifier">type</span><span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
 
         <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period2</span><span class="special">&gt;</span>
- <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">duration</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period2</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">duration</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period2</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span>
               <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if_c</span>
               <span class="special">&lt;</span>
                   <span class="identifier">treat_as_floating_point</span><span class="special">&lt;</span><span class="identifier">rep</span><span class="special">&gt;::</span><span class="identifier">value</span>
@@ -1008,10 +1009,10 @@
 </span> <span class="comment">//duration(const duration&amp;) = default;
 </span> <span class="comment">//duration&amp; operator=(const duration&amp;) = default;
 </span>
- <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">rep</span> <span class="identifier">count</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">rep</span> <span class="identifier">count</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
 
- <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">duration</span> <span class="keyword">operator</span><span class="special">+();</span>
- <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">duration</span> <span class="keyword">operator</span><span class="special">-();</span>
+ <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">duration</span> <span class="keyword">operator</span><span class="special">+();</span>
+ <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">duration</span> <span class="keyword">operator</span><span class="special">-();</span>
         <span class="identifier">duration</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">++();</span>
         <span class="identifier">duration</span> <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span>
         <span class="identifier">duration</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">--();</span>
@@ -1025,9 +1026,9 @@
         <span class="identifier">duration</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <span class="identifier">rep</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
         <span class="identifier">duration</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">%=(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
 
- <span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">duration</span> <span class="identifier">zero</span><span class="special">();</span>
- <span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">duration</span> <span class="identifier">min</span><span class="special">();</span>
- <span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">duration</span> <span class="identifier">max</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">duration</span> <span class="identifier">zero</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">duration</span> <span class="identifier">min</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">duration</span> <span class="identifier">max</span><span class="special">();</span>
     <span class="special">};</span>
 
 <span class="special">}}</span>
@@ -1067,7 +1068,7 @@
             Constructor <code class="computeroutput"><span class="identifier">duration</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;)</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep2</span><span class="special">&gt;</span>
-<span class="identifier">BOOST_CONSTEXPR</span> <span class="keyword">explicit</span> <span class="identifier">duration</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">);</span>
+<span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="keyword">explicit</span> <span class="identifier">duration</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Rep2</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Remarks:</strong></span> <code class="computeroutput"><span class="identifier">Rep2</span></code>
@@ -1112,7 +1113,7 @@
             Constructor <code class="computeroutput"><span class="identifier">duration</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&amp;)</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Rep2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Period2</span><span class="special">&gt;</span>
-<span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">duration</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period2</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+<span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">duration</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">Rep2</span><span class="special">,</span> <span class="identifier">Period2</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
 </pre>
 <p>
               <span class="bold"><strong>Remarks:</strong></span> <code class="computeroutput"><span class="identifier">treat_as_floating_point</span><span class="special">&lt;</span><span class="identifier">rep</span><span class="special">&gt;::</span><span class="identifier">value</span></code>,
@@ -1144,7 +1145,7 @@
             Member function count() const">
             Member function <code class="computeroutput"><span class="identifier">count</span><span class="special">()</span> <span class="keyword">const</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"><span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">rep</span> <span class="identifier">count</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">rep</span> <span class="identifier">count</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> `rep_v.
@@ -1156,7 +1157,7 @@
             Member function operator+() const">
             Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+()</span> <span class="keyword">const</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"><span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">duration</span> <span class="keyword">operator</span><span class="special">+()</span> <span class="keyword">const</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">duration</span> <span class="keyword">operator</span><span class="special">+()</span> <span class="keyword">const</span><span class="special">;</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
@@ -1168,7 +1169,7 @@
             Member function operator+() const">
             Member function <code class="computeroutput"><span class="keyword">operator</span><span class="special">+()</span> <span class="keyword">const</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"><span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">duration</span> <span class="keyword">operator</span><span class="special">-()</span> <span class="keyword">const</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">duration</span> <span class="keyword">operator</span><span class="special">-()</span> <span class="keyword">const</span><span class="special">;</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">duration</span><span class="special">(-</span><span class="identifier">rep_</span><span class="special">)</span></code>.
@@ -1759,8 +1760,8 @@
 
     <span class="comment">// special values
 </span>
- <span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">time_point</span> <span class="identifier">min</span><span class="special">();</span>
- <span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">time_point</span> <span class="identifier">max</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">time_point</span> <span class="identifier">min</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">time_point</span> <span class="identifier">max</span><span class="special">();</span>
 <span class="special">};</span>
 </pre>
 <p>
@@ -1870,7 +1871,7 @@
             Static Member function min">
             Static Member function <code class="computeroutput"><span class="identifier">min</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">time_point</span> <span class="identifier">min</span><span class="special">();</span>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">time_point</span> <span class="identifier">min</span><span class="special">();</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">time_point</span><span class="special">(</span><span class="identifier">duration</span><span class="special">::</span><span class="identifier">min</span><span class="special">())</span></code>.
@@ -1882,7 +1883,7 @@
             Static Member function max">
             Static Member function <code class="computeroutput"><span class="identifier">max</span></code></a>
 </h6></div></div></div>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">time_point</span> <span class="identifier">max</span><span class="special">();</span>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">BOOST_CHRONO_CONSTEXPR</span> <span class="identifier">time_point</span> <span class="identifier">max</span><span class="special">();</span>
 </pre>
 <p>
               <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">time_point</span><span class="special">(</span><span class="identifier">duration</span><span class="special">::</span><span class="identifier">max</span><span class="special">())</span></code>.
@@ -2243,7 +2244,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="process_cpu_related.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="other_clocks.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/other_clocks.html
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/other_clocks.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -0,0 +1,566 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Other clocks</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Boost.Chrono">
+<link rel="up" href="../reference.html" title=" Reference ">
+<link rel="prev" href="cpp0x.html" title=" Included on the C++0x
+ recommendation">
+<link rel="next" href="stopwatches.html" title="Stopwatches">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cpp0x.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="stopwatches.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_chrono.reference.other_clocks"></a>Other clocks
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">process_cpu_clocks</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_real_cpu_clock_">Class
+ <code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a></span></dt>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_user_cpu_clock_">Class
+ <code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code></a></span></dt>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_system_cpu_clock_">Class
+ <code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code></a></span></dt>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_cpu_clock_">Class
+ <code class="computeroutput"><span class="identifier">process_cpu_clock</span></code></a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req">
+ <code class="computeroutput"><span class="identifier">SuspendibleClock</span></code> requirements</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req.SuspendibleClock_suspend">
+ Static Member Function <code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req.SuspendibleClock_resume">
+ Static Member Function <code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req.SuspendibleClock_suspended">
+ Static Member Function <code class="computeroutput"><span class="identifier">suspended</span><span class="special">()</span></code></a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.scoped_suspend_hpp">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">scoped_suspend</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.scoped_suspend_hpp.meta_function_class__is_suspendible_">Meta
+ Function Class <code class="computeroutput"><span class="identifier">is_suspendible</span></code></a></span></dt>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.scoped_suspend_hpp.template_class__scoped_suspend_">Template
+ Class <code class="computeroutput"><span class="identifier">scoped_suspend</span></code></a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_hpp">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">suspendible_clock</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dd><dl><dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_hpp.template_class__suspendible_clock___">Template
+ Class <code class="computeroutput"><span class="identifier">suspendible_clock</span><span class="special">&lt;&gt;</span></code></a></span></dt></dl></dd>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.reference.other_clocks.process_cpu_clocks_hpp"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp" title="
+ Header &lt;boost/chrono/process_cpu_clocks.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">process_cpu_clocks</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_real_cpu_clock_">Class
+ <code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a></span></dt>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_user_cpu_clock_">Class
+ <code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code></a></span></dt>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_system_cpu_clock_">Class
+ <code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code></a></span></dt>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_cpu_clock_">Class
+ <code class="computeroutput"><span class="identifier">process_cpu_clock</span></code></a></span></dt>
+</dl></div>
+<p>
+ Knowing how long a program takes to execute is useful in both test and
+ production environments. It is also helpful if such timing information
+ is broken down into real (wall clock) time, CPU time spent by the user,
+ and CPU time spent by the operating system servicing user requests.
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+
+ <span class="keyword">class</span> <span class="identifier">process_real_cpu_clock</span><span class="special">;</span>
+ <span class="keyword">class</span> <span class="identifier">process_user_cpu_clock</span><span class="special">;</span>
+ <span class="keyword">class</span> <span class="identifier">process_system_cpu_clock</span><span class="special">;</span>
+ <span class="keyword">class</span> <span class="identifier">process_cpu_clock</span><span class="special">;</span>
+
+<span class="special">}</span> <span class="special">}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_real_cpu_clock_"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_real_cpu_clock_" title="Class
+ process_real_cpu_clock">Class
+ <code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code>
+ satisfy the Clock Requirements.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">process_real_cpu_clock</span></code>
+ class provides access to the real process wall-clock monotonic clock,
+ i.e. the real CPU-time clock of the calling process. The process relative
+ current time can be obtained by calling <code class="computeroutput"><span class="identifier">process_real_cpu_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">process_real_cpu_clock</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">nanoseconds</span> <span class="identifier">duration</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">::</span><span class="identifier">rep</span> <span class="identifier">rep</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">::</span><span class="identifier">period</span> <span class="identifier">period</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">process_real_cpu_clock</span><span class="special">&gt;</span> <span class="identifier">time_point</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">is_monotonic</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
+
+ <span class="keyword">static</span> <span class="identifier">time_point</span> <span class="identifier">now</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+<span class="special">};</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_user_cpu_clock_"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_user_cpu_clock_" title="Class
+ process_user_cpu_clock">Class
+ <code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code>
+ satisfy the Clock Requirements.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">process_user_cpu_clock</span></code>
+ class provides access to the user CPU-time monotonic clock of the calling
+ process. The process relative user current time can be obtained by calling
+ <code class="computeroutput"><span class="identifier">process_user_cpu_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">process_user_cpu_clock</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">nanoseconds</span> <span class="identifier">duration</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">::</span><span class="identifier">rep</span> <span class="identifier">rep</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">::</span><span class="identifier">period</span> <span class="identifier">period</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">process_user_cpu_clock</span><span class="special">&gt;</span> <span class="identifier">time_point</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">is_monotonic</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
+
+ <span class="keyword">static</span> <span class="identifier">time_point</span> <span class="identifier">now</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+<span class="special">};</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_system_cpu_clock_"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_system_cpu_clock_" title="Class
+ process_system_cpu_clock">Class
+ <code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code></a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code>
+ satisfy the Clock Requirements.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">process_system_cpu_clock</span></code>
+ class provides access to the system CPU-time monotonic clockof the calling
+ process. The process relative system current time can be obtained by
+ calling <code class="computeroutput"><span class="identifier">process_system_cpu_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">process_system_cpu_clock</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">nanoseconds</span> <span class="identifier">duration</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">::</span><span class="identifier">rep</span> <span class="identifier">rep</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">::</span><span class="identifier">period</span> <span class="identifier">period</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">process_system_cpu_clock</span><span class="special">&gt;</span> <span class="identifier">time_point</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">is_monotonic</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
+
+ <span class="keyword">static</span> <span class="identifier">time_point</span> <span class="identifier">now</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+<span class="special">};</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_cpu_clock_"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_cpu_clock_" title="Class
+ process_cpu_clock">Class
+ <code class="computeroutput"><span class="identifier">process_cpu_clock</span></code></a>
+</h5></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_cpu_clock_.class__times_">Class
+ <code class="computeroutput"><span class="identifier">times</span></code></a></span></dt>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_cpu_clock_._duration_values__specialization_for__times_"><code class="computeroutput"><span class="identifier">duration_values</span></code> specialization for
+ <code class="computeroutput"><span class="identifier">times</span></code></a></span></dt>
+</dl></div>
+<p>
+ <code class="computeroutput"><span class="identifier">process_cpu_clock</span></code> can
+ be considered as a <code class="computeroutput"><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">process_real_cpu_clock</span><span class="special">,</span> <span class="identifier">process_user_cpu_clock</span><span class="special">,</span> <span class="identifier">process_system_cpu_clock</span><span class="special">&gt;</span></code>.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">process_cpu_clock</span></code> provides
+ a thin wrapper around the operating system's process timer API. For POSIX-like
+ systems, that's the times() function, while for Windows, it's the GetProcessTimes()
+ function.
+ </p>
+<p>
+ The process relative real, user and system current time can be obtained
+ at once by calling <code class="computeroutput"><span class="identifier">process_clocks</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">BOOST_CHRONO_DECL</span> <span class="identifier">process_cpu_clock</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">struct</span> <span class="identifier">times</span> <span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">&lt;</span><span class="identifier">times</span><span class="special">,</span> <span class="identifier">nano</span><span class="special">&gt;</span> <span class="identifier">duration</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">::</span><span class="identifier">rep</span> <span class="identifier">rep</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">duration</span><span class="special">::</span><span class="identifier">period</span> <span class="identifier">period</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">process_cpu_clock</span><span class="special">&gt;</span> <span class="identifier">time_point</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">is_monotonic</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
+
+ <span class="keyword">static</span> <span class="identifier">time_point</span> <span class="identifier">now</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">duration_values</span><span class="special">&lt;</span><span class="identifier">process_cpu_clock</span><span class="special">::</span><span class="identifier">times</span><span class="special">&gt;;</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_cpu_clock_.class__times_"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_cpu_clock_.class__times_" title="Class
+ times">Class
+ <code class="computeroutput"><span class="identifier">times</span></code></a>
+</h6></div></div></div>
+<p>
+ This class is the representation of the process_cpu_clock::duration
+ class. As such it needs to implements the arithmetic operators.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">times</span> <span class="special">:</span> <span class="identifier">arithmetic</span><span class="special">&lt;</span><span class="identifier">times</span><span class="special">&gt;,</span> <span class="identifier">less_than_comparable</span><span class="special">&lt;</span><span class="identifier">times</span><span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="identifier">process_real_cpu_clock</span><span class="special">::</span><span class="identifier">rep</span> <span class="identifier">real</span><span class="special">;</span> <span class="comment">// real (i.e wall clock) time
+</span> <span class="identifier">process_user_cpu_clock</span><span class="special">::</span><span class="identifier">rep</span> <span class="identifier">user</span><span class="special">;</span> <span class="comment">// user cpu time
+</span> <span class="identifier">process_system_cpu_clock</span><span class="special">::</span><span class="identifier">rep</span> <span class="identifier">system</span><span class="special">;</span> <span class="comment">// system cpu time
+</span>
+ <span class="identifier">times</span><span class="special">();</span>
+ <span class="identifier">times</span><span class="special">(</span>
+ <span class="identifier">process_real_cpu_clock</span><span class="special">::</span><span class="identifier">rep</span> <span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">process_user_cpu_clock</span><span class="special">::</span><span class="identifier">rep</span> <span class="identifier">u</span><span class="special">,</span>
+ <span class="identifier">process_system_cpu_clock</span><span class="special">::</span><span class="identifier">rep</span> <span class="identifier">s</span><span class="special">);</span>
+
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="identifier">times</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">times</span> <span class="keyword">operator</span><span class="special">+=(</span><span class="identifier">times</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">times</span> <span class="keyword">operator</span><span class="special">-=(</span><span class="identifier">times</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">times</span> <span class="keyword">operator</span><span class="special">*=(</span><span class="identifier">times</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">times</span> <span class="keyword">operator</span><span class="special">/=(</span><span class="identifier">times</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span><span class="identifier">times</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_cpu_clock_._duration_values__specialization_for__times_"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.process_cpu_clocks_hpp.class__process_cpu_clock_._duration_values__specialization_for__times_" title="duration_values specialization for
+ times"><code class="computeroutput"><span class="identifier">duration_values</span></code> specialization for
+ <code class="computeroutput"><span class="identifier">times</span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">duration_values</span><span class="special">&lt;</span><span class="identifier">process_cpu_clock</span><span class="special">::</span><span class="identifier">times</span><span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">static</span> <span class="identifier">process_cpu_clock</span><span class="special">::</span><span class="identifier">times</span> <span class="identifier">zero</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">process_cpu_clock</span><span class="special">::</span><span class="identifier">times</span> <span class="identifier">max</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">process_cpu_clock</span><span class="special">::</span><span class="identifier">times</span> <span class="identifier">min</span><span class="special">();</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">times</span></code> specific
+ functions <code class="computeroutput"><span class="identifier">zero</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">max</span><span class="special">()</span></code>
+ and <code class="computeroutput"><span class="identifier">min</span><span class="special">()</span></code>
+ uses the relative functions on the representation of each component.
+ </p>
+</div>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.reference.other_clocks.suspendible_clock_req"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req" title="
+ SuspendibleClock requirements">
+ <code class="computeroutput"><span class="identifier">SuspendibleClock</span></code> requirements</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req.SuspendibleClock_suspend">
+ Static Member Function <code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req.SuspendibleClock_resume">
+ Static Member Function <code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req.SuspendibleClock_suspended">
+ Static Member Function <code class="computeroutput"><span class="identifier">suspended</span><span class="special">()</span></code></a></span></dt>
+</dl></div>
+<p>
+ A <code class="computeroutput"><span class="identifier">SuspendibleClock</span></code> is a
+ Clock that in addition support for <code class="computeroutput"><span class="identifier">suspend</span></code>/<code class="computeroutput"><span class="identifier">resume</span></code> operations.
+ </p>
+<p>
+ A <code class="computeroutput"><span class="identifier">SuspendibleClock</span></code> must
+ meet the requirements in the following Table.
+ </p>
+<p>
+ In this table <code class="computeroutput"><span class="identifier">C</span></code> denote
+ <code class="computeroutput"><span class="identifier">clock</span></code> types.
+ </p>
+<div class="table">
+<a name="id4854063"></a><p class="title"><b>Table 2. SuspendibleClock Requirements</b></p>
+<table class="table" summary="SuspendibleClock Requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ operational semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">C</span><span class="special">::</span><span class="identifier">suspend</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Suspends the time counting of the clock C.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">C</span><span class="special">::</span><span class="identifier">resume</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Resumes the time counting of the clock C.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">C</span><span class="special">::</span><span class="identifier">suspended</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">duration</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the delay(duration during which the clock has been suspended.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.reference.other_clocks.suspendible_clock_req.SuspendibleClock_suspend"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req.SuspendibleClock_suspend" title="
+ Static Member Function suspend()">
+ Static Member Function <code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">suspend</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effect:</strong></span> Suspends the SuspendibleClock.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Any exception the <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>
+ function can throw. Otherwise <code class="computeroutput"><span class="identifier">ec</span></code>
+ is set with the correspoding error code set by <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.reference.other_clocks.suspendible_clock_req.SuspendibleClock_resume"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req.SuspendibleClock_resume" title="
+ Static Member Function resume()">
+ Static Member Function <code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">resume</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effect:</strong></span> Resumes the <code class="computeroutput"><span class="identifier">SuspendibleClock</span></code>.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Any exception the <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>
+ can throw. Otherwise <code class="computeroutput"><span class="identifier">ec</span></code>
+ is set with the correspoding error code set by <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.reference.other_clocks.suspendible_clock_req.SuspendibleClock_suspended"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_req.SuspendibleClock_suspended" title="
+ Static Member Function suspended()">
+ Static Member Function <code class="computeroutput"><span class="identifier">suspended</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">suspended</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Returns:</strong></span> the cumalative elapsed duration
+ during which the <code class="computeroutput"><span class="identifier">SuspendibleClock</span></code>
+ has been suspendeed.
+ </p>
+<p>
+ <span class="bold"><strong>Throw:</strong></span> Any exception the Clock::now
+ function can throw if <code class="computeroutput"><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span></code>.
+ Otherwise <code class="computeroutput"><span class="identifier">ec</span></code> is set with
+ the correspoding error code set by <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.reference.other_clocks.scoped_suspend_hpp"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.scoped_suspend_hpp" title="
+ Header &lt;boost/chrono/scoped_suspend.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">scoped_suspend</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.scoped_suspend_hpp.meta_function_class__is_suspendible_">Meta
+ Function Class <code class="computeroutput"><span class="identifier">is_suspendible</span></code></a></span></dt>
+<dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.scoped_suspend_hpp.template_class__scoped_suspend_">Template
+ Class <code class="computeroutput"><span class="identifier">scoped_suspend</span></code></a></span></dt>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">is_suspendible</span><span class="special">;</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">scoped_suspend</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.reference.other_clocks.scoped_suspend_hpp.meta_function_class__is_suspendible_"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.scoped_suspend_hpp.meta_function_class__is_suspendible_" title="Meta
+ Function Class is_suspendible">Meta
+ Function Class <code class="computeroutput"><span class="identifier">is_suspendible</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">is_suspendible</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span> <span class="identifier">false_</span> <span class="special">{};</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.reference.other_clocks.scoped_suspend_hpp.template_class__scoped_suspend_"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.scoped_suspend_hpp.template_class__scoped_suspend_" title="Template
+ Class scoped_suspend">Template
+ Class <code class="computeroutput"><span class="identifier">scoped_suspend</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">scoped_suspend</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">scoped_suspend</span><span class="special">(</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span><span class="special">)</span> <span class="special">{}</span>
+ <span class="special">~</span><span class="identifier">scoped_suspend</span><span class="special">()</span> <span class="special">{}</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">scoped_suspend</span><span class="special">();</span> <span class="comment">// = delete;
+</span> <span class="identifier">scoped_suspend</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">scoped_suspend</span><span class="special">&amp;);</span> <span class="comment">// = delete;
+</span> <span class="identifier">scoped_suspend</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="keyword">const</span> <span class="identifier">scoped_suspend</span><span class="special">&amp;);</span> <span class="comment">// = delete;
+</span><span class="special">};</span>
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.reference.other_clocks.suspendible_clock_hpp"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_hpp" title="
+ Header &lt;boost/chrono/suspendible_clock.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">suspendible_clock</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_hpp.template_class__suspendible_clock___">Template
+ Class <code class="computeroutput"><span class="identifier">suspendible_clock</span><span class="special">&lt;&gt;</span></code></a></span></dt></dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">suspendible_clock</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">is_suspendible</span><span class="special">&lt;</span><span class="identifier">suspendible_clock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span> <span class="identifier">true_</span> <span class="special">{};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">scoped_suspend</span><span class="special">&lt;</span><span class="identifier">suspendible_clock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
+
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_chrono.reference.other_clocks.suspendible_clock_hpp.template_class__suspendible_clock___"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_hpp.template_class__suspendible_clock___" title="Template
+ Class suspendible_clock&lt;&gt;">Template
+ Class <code class="computeroutput"><span class="identifier">suspendible_clock</span><span class="special">&lt;&gt;</span></code></a>
+</h5></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_hpp.template_class__suspendible_clock___._scoped_suspend__specialization_for__suspendible_clock___"><code class="computeroutput"><span class="identifier">scoped_suspend</span></code> specialization for
+ <code class="computeroutput"><span class="identifier">suspendible_clock</span><span class="special">&lt;&gt;</span></code></a></span></dt></dl></div>
+<p>
+ Given a <code class="computeroutput"><span class="identifier">Clock</span></code>, <code class="computeroutput"><span class="identifier">suspendible_clock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span></code>
+ is a model of SuspendibleClock.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">suspendible_clock</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">duration</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">rep</span> <span class="identifier">rep</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">period</span> <span class="identifier">period</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">time_point</span><span class="special">&lt;</span><span class="identifier">suspendible_clock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">time_point</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">is_monotonic</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
+
+ <span class="keyword">static</span> <span class="identifier">time_point</span> <span class="identifier">now</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+
+ <span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">suspend</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">resume</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
+ <span class="keyword">static</span> <span class="identifier">duration</span> <span class="identifier">suspended</span><span class="special">(</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span><span class="special">);</span>
+<span class="special">};</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost_chrono.reference.other_clocks.suspendible_clock_hpp.template_class__suspendible_clock___._scoped_suspend__specialization_for__suspendible_clock___"></a><a href="other_clocks.html#boost_chrono.reference.other_clocks.suspendible_clock_hpp.template_class__suspendible_clock___._scoped_suspend__specialization_for__suspendible_clock___" title="scoped_suspend specialization for
+ suspendible_clock&lt;&gt;"><code class="computeroutput"><span class="identifier">scoped_suspend</span></code> specialization for
+ <code class="computeroutput"><span class="identifier">suspendible_clock</span><span class="special">&lt;&gt;</span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">scoped_suspend</span><span class="special">&lt;</span><span class="identifier">suspendible_clock</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">scoped_suspend</span><span class="special">(</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span><span class="special">);</span>
+ <span class="special">~</span><span class="identifier">scoped_suspend</span><span class="special">();</span>
+<span class="special">};</span>
+</pre>
+</div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2008 Howard Hinnant<br>Copyright © 2006 , 2008 Beman Dawes<br>Copyright © 2009 -2010 Vicente J. Botet Escriba<p>
+ 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)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cpp0x.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="stopwatches.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/stopwatch_reporters.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/stopwatch_reporters.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/stopwatch_reporters.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -78,7 +78,7 @@
           <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span></code>, ec is a system::error_code
         </p>
 <div class="table">
-<a name="id4862833"></a><p class="title"><b>Table 3. Stopwatch Requirements</b></p>
+<a name="id4865840"></a><p class="title"><b>Table 4. Stopwatch Requirements</b></p>
 <table class="table" summary="Stopwatch Requirements">
 <colgroup>
 <col>
@@ -398,7 +398,7 @@
 <dt><span class="section">stopclock_accumulator useful typedefs</span></dt>
 </dl></div>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">chrono</span> <span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span> <span class="special">&gt;</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span> <span class="special">&gt;</span>
     <span class="keyword">class</span> <span class="identifier">stopclock_accumulator</span><span class="special">;</span>
     <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">above</span><span class="special">&gt;</span> <span class="identifier">system_stopclock_accumulator</span><span class="special">;</span>
     <span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_CHRONO_HAS_CLOCK_MONOTONIC</span>
@@ -423,7 +423,7 @@
 <pre class="programlisting"><span class="keyword">template</span>
     <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">=</span><span class="identifier">high_resolution_clock</span>
     <span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">=</span><span class="keyword">typename</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;::</span><span class="identifier">type</span>
-<span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">stopclock_accumulator</span>
+<span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">stopclock_accumulator</span>
     <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;,</span> <span class="identifier">Formatter</span><span class="special">&gt;</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
     <span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock</span><span class="special">;</span>
@@ -523,7 +523,7 @@
 
 <span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Clock</span><span class="special">=</span><span class="identifier">process_cpu_clock</span>
     <span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Formatter</span><span class="special">=</span><span class="keyword">typename</span> <span class="identifier">stopwatch_reporter_default_formatter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;::</span><span class="identifier">type</span>
-<span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">scoped_stopclock</span>
+<span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">scoped_stopclock</span>
     <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">stopwatch_reporter</span><span class="special">&lt;</span><span class="identifier">stopwatch</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;,</span> <span class="identifier">Formatter</span><span class="special">&gt;</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
     <span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock</span><span class="special">;</span>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/stopwatches.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/stopwatches.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/stopwatches.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -6,8 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
 <link rel="start" href="../../index.html" title="Boost.Chrono">
 <link rel="up" href="../reference.html" title=" Reference ">
-<link rel="prev" href="process_cpu_related.html" title="Process CPU
- related">
+<link rel="prev" href="other_clocks.html" title="Other clocks">
 <link rel="next" href="stopwatch_reporters.html" title="Stopwatch
       Reporters">
 </head>
@@ -22,29 +21,29 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="process_cpu_related.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="stopwatch_reporters.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="other_clocks.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="stopwatch_reporters.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_chrono.reference.stopwatches"></a>Stopwatches
 </h3></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.chrono_stopwatches_hpp">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatches_hpp">
         Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.chrono_stopwatches_hpp">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 <dt><span class="section">Stopwatch Requirements</span></dt>
 <dd><dl>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_start">
- Member function<code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_stop">
- Member function<code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_suspend">
- Member function<code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_resume">
- Member function<code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_restart">
- Member function<code class="computeroutput"><span class="identifier">restart</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">restart</span><span class="special">()</span></code></a></span></dt>
 </dl></dd>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp">
         Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatch</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
@@ -73,6 +72,18 @@
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
+<a name="boost_chrono.reference.stopwatches.stopwatches_hpp"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatches_hpp" title="
+ Header &lt;boost/stopwatches.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h4></div></div></div>
+<p>
+ This file include all the stopwatches related files
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
 <a name="boost_chrono.reference.stopwatches.chrono_stopwatches_hpp"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches.chrono_stopwatches_hpp" title="
         Header &lt;boost/chrono/stopwatches.hpp&gt;">
         Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
@@ -97,31 +108,19 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="boost_chrono.reference.stopwatches.stopwatches_hpp"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatches_hpp" title="
- Header &lt;boost/stopwatches.hpp&gt;">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
-</h4></div></div></div>
-<p>
- This file include all the stopwatches related files
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">stopwatches</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
 <a name="boost_chrono.reference.stopwatches._stopwatch__requirements"></a>Stopwatch Requirements
 </h4></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_start">
- Member function<code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_stop">
- Member function<code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_suspend">
- Member function<code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_resume">
- Member function<code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_restart">
- Member function<code class="computeroutput"><span class="identifier">restart</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">restart</span><span class="special">()</span></code></a></span></dt>
 </dl></div>
 <p>
           A Stopwatch measure the amount of time elapsed from a particular time when
@@ -136,7 +135,7 @@
           is an instance of <code class="computeroutput"><span class="identifier">S</span></code>.
         </p>
 <div class="table">
-<a name="id4854583"></a><p class="title"><b>Table 2. Stopwatch Requirements</b></p>
+<a name="id4857588"></a><p class="title"><b>Table 3. Stopwatch Requirements</b></p>
 <table class="table" summary="Stopwatch Requirements">
 <colgroup>
 <col>
@@ -169,7 +168,7 @@
               </td>
 <td>
               <p>
- A model of the CLock concept.
+ A model of the Clock concept.
               </p>
               </td>
 <td>
@@ -322,8 +321,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_start"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_start" title="
- Member functionstart()">
- Member function<code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code></a>
+ Member Function start()">
+ Member Function <code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code></a>
 </h5></div></div></div>
 <pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">start</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
 </pre>
@@ -341,8 +340,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_stop"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_stop" title="
- Member functionstop()">
- Member function<code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code></a>
+ Member Function stop()">
+ Member Function <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code></a>
 </h5></div></div></div>
 <pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">stop</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
 </pre>
@@ -360,8 +359,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_suspend"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_suspend" title="
- Member functionsuspend()">
- Member function<code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a>
+ Member Function suspend()">
+ Member Function <code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a>
 </h5></div></div></div>
 <pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">suspend</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
 </pre>
@@ -376,8 +375,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_resume"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_resume" title="
- Member functionresume()">
- Member function<code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a>
+ Member Function resume()">
+ Member Function <code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a>
 </h5></div></div></div>
 <pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">resume</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
 </pre>
@@ -395,8 +394,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
 <a name="boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_restart"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches._stopwatch__requirements.stopwatch_restart" title="
- Member functionrestart()">
- Member function<code class="computeroutput"><span class="identifier">restart</span><span class="special">()</span></code></a>
+ Member Function restart()">
+ Member Function <code class="computeroutput"><span class="identifier">restart</span><span class="special">()</span></code></a>
 </h5></div></div></div>
 <pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">restart</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
 </pre>
@@ -446,7 +445,7 @@
           Class <code class="computeroutput"><span class="identifier">stopwatch</span><span class="special">&lt;&gt;</span></code></a>
 </h5></div></div></div>
 <div class="toc"><dl><dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp.template_class__stopwatch___.stopwatch_elapsed">
- Member function<code class="computeroutput"><span class="identifier">elapsed</span><span class="special">()</span></code></a></span></dt></dl></div>
+ Member Function <code class="computeroutput"><span class="identifier">elapsed</span><span class="special">()</span></code></a></span></dt></dl></div>
 <p>
             <code class="computeroutput"><span class="identifier">stopwatch</span><span class="special">&lt;&gt;</span></code>
             is a model of a <code class="computeroutput"><span class="identifier">Stopwatch</span></code>.
@@ -494,8 +493,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.stopwatches.stopwatch_hpp.template_class__stopwatch___.stopwatch_elapsed"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_hpp.template_class__stopwatch___.stopwatch_elapsed" title="
- Member functionelapsed()">
- Member function<code class="computeroutput"><span class="identifier">elapsed</span><span class="special">()</span></code></a>
+ Member Function elapsed()">
+ Member Function <code class="computeroutput"><span class="identifier">elapsed</span><span class="special">()</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">elapsed</span><span class="special">(</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
 </pre>
@@ -563,21 +562,21 @@
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_c">
             Constructor <code class="computeroutput"><span class="identifier">stopwatch_accumulator</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_start">
- Member function<code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_stop">
- Member function<code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_suspend">
- Member function<code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_resume">
- Member function<code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_restart">
- Member function<code class="computeroutput"><span class="identifier">restart</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">restart</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_reset">
- Member function<code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_elapsed">
- Member function<code class="computeroutput"><span class="identifier">elapsed</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">elapsed</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_accumulated">
- Member function<code class="computeroutput"><span class="identifier">accumulated</span><span class="special">()</span></code></a></span></dt>
+ Member Function <code class="computeroutput"><span class="identifier">accumulated</span><span class="special">()</span></code></a></span></dt>
 </dl></div>
 <p>
             A <code class="computeroutput"><span class="identifier">stopwatch_accumulator</span><span class="special">&lt;&gt;</span></code> is a model of a Stopwatch that
@@ -627,8 +626,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_start"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_start" title="
- Member functionstart()">
- Member function<code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code></a>
+ Member Function start()">
+ Member Function <code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">start</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
 </pre>
@@ -646,8 +645,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_stop"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_stop" title="
- Member functionstop()">
- Member function<code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code></a>
+ Member Function stop()">
+ Member Function <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">stop</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
 </pre>
@@ -667,8 +666,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_suspend"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_suspend" title="
- Member functionsuspend()">
- Member function<code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a>
+ Member Function suspend()">
+ Member Function <code class="computeroutput"><span class="identifier">suspend</span><span class="special">()</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">suspend</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
 </pre>
@@ -684,8 +683,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_resume"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_resume" title="
- Member functionresume()">
- Member function<code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a>
+ Member Function resume()">
+ Member Function <code class="computeroutput"><span class="identifier">resume</span><span class="special">()</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">resume</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
 </pre>
@@ -703,8 +702,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_restart"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_restart" title="
- Member functionrestart()">
- Member function<code class="computeroutput"><span class="identifier">restart</span><span class="special">()</span></code></a>
+ Member Function restart()">
+ Member Function <code class="computeroutput"><span class="identifier">restart</span><span class="special">()</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">restart</span><span class="special">(</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span> <span class="special">);</span>
 </pre>
@@ -722,8 +721,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_reset"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_reset" title="
- Member functionreset()">
- Member function<code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code></a>
+ Member Function reset()">
+ Member Function <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">void</span> <span class="identifier">reset</span><span class="special">(</span> <span class="special">);</span>
 </pre>
@@ -738,8 +737,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_elapsed"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_elapsed" title="
- Member functionelapsed()">
- Member function<code class="computeroutput"><span class="identifier">elapsed</span><span class="special">()</span></code></a>
+ Member Function elapsed()">
+ Member Function <code class="computeroutput"><span class="identifier">elapsed</span><span class="special">()</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">elapsed</span><span class="special">(</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
 </pre>
@@ -753,8 +752,8 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
 <a name="boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_accumulated"></a><a href="stopwatches.html#boost_chrono.reference.stopwatches.stopwatch_accumulator_hpp.template_class__stopwatch_accumulator___.stopwatch_accumulator_accumulated" title="
- Member functionaccumulated()">
- Member function<code class="computeroutput"><span class="identifier">accumulated</span><span class="special">()</span></code></a>
+ Member Function accumulated()">
+ Member Function <code class="computeroutput"><span class="identifier">accumulated</span><span class="special">()</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="identifier">accumulator</span><span class="special">&amp;</span> <span class="identifier">accumulated</span><span class="special">();</span>
 </pre>
@@ -933,7 +932,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="process_cpu_related.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="stopwatch_reporters.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="other_clocks.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="stopwatch_reporters.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/getting_started.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/getting_started.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/users_guide/getting_started.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -39,7 +39,7 @@
         Installing Chrono</a>
 </h4></div></div></div>
 <a name="boost_chrono.users_guide.getting_started.install.getting__emphasis_role__bold__boost_chrono__emphasis__"></a><h5>
-<a name="id4817346"></a>
+<a name="id4817366"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.getting__emphasis_role__bold__boost_chrono__emphasis__">Getting
           <span class="bold"><strong>Boost.Chrono</strong></span> </a>
         </h5>
@@ -53,7 +53,7 @@
           Sandbox</a>.
         </p>
 <a name="boost_chrono.users_guide.getting_started.install.where_to_install__emphasis_role__bold__boost_chrono__emphasis___"></a><h5>
-<a name="id4817407"></a>
+<a name="id4817426"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.where_to_install__emphasis_role__bold__boost_chrono__emphasis___">Where
           to install <span class="bold"><strong>Boost.Chrono</strong></span>? </a>
         </h5>
@@ -69,7 +69,7 @@
           variable. Any help is welcome.
         </p>
 <a name="boost_chrono.users_guide.getting_started.install.building__emphasis_role__bold__boost_chrono__emphasis__"></a><h5>
-<a name="id4817449"></a>
+<a name="id4817469"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.building__emphasis_role__bold__boost_chrono__emphasis__">Building
           <span class="bold"><strong>Boost.Chrono</strong></span> </a>
         </h5>
@@ -80,7 +80,7 @@
 <pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">libs</span><span class="special">/</span><span class="identifier">chrono</span><span class="special">/</span><span class="identifier">build</span>
 </pre>
 <a name="boost_chrono.users_guide.getting_started.install.requirements"></a><h5>
-<a name="id4817517"></a>
+<a name="id4817537"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.requirements">Requirements</a>
         </h5>
 <p>
@@ -129,7 +129,7 @@
 </dl>
 </div>
 <a name="boost_chrono.users_guide.getting_started.install.building_an_executable_that_uses__emphasis_role__bold__boost_chrono__emphasis__"></a><h5>
-<a name="id4817718"></a>
+<a name="id4817737"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.building_an_executable_that_uses__emphasis_role__bold__boost_chrono__emphasis__">Building
           an executable that uses <span class="bold"><strong>Boost.Chrono</strong></span>
           </a>
@@ -139,7 +139,7 @@
           with the Boost System library.
         </p>
 <a name="boost_chrono.users_guide.getting_started.install.exceptions_safety_"></a><h5>
-<a name="id4817754"></a>
+<a name="id4817773"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.exceptions_safety_">Exceptions
           safety </a>
         </h5>
@@ -148,7 +148,7 @@
           of exception safety as long as the underlying parameters provide it.
         </p>
 <a name="boost_chrono.users_guide.getting_started.install.thread_safety_"></a><h5>
-<a name="id4817780"></a>
+<a name="id4817800"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.thread_safety_">Thread
           safety </a>
         </h5>
@@ -156,7 +156,7 @@
           All functions in the library are thread-unsafe except when noted explicitly.
         </p>
 <a name="boost_chrono.users_guide.getting_started.install.tested_compilers_"></a><h5>
-<a name="id4817805"></a>
+<a name="id4817824"></a>
           <a href="getting_started.html#boost_chrono.users_guide.getting_started.install.tested_compilers_">Tested
           compilers </a>
         </h5>

Modified: sandbox/chrono/libs/chrono/doc/html/index.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/index.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/index.html 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -64,8 +64,7 @@
 <dd><dl>
 <dt><span class="section"><a href="boost_chrono/reference/cpp0x.html"> Included on the C++0x
       recommendation</a></span></dt>
-<dt><span class="section"><a href="boost_chrono/reference/process_cpu_related.html">Process CPU
- related</a></span></dt>
+<dt><span class="section">Other clocks</span></dt>
 <dt><span class="section">Stopwatches</span></dt>
 <dt><span class="section"><a href="boost_chrono/reference/stopwatch_reporters.html">Stopwatch
       Reporters</a></span></dt>
@@ -121,7 +120,7 @@
 </table></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: January 20, 2010 at 19:33:25 GMT</small></p></td>
+<td align="left"><p><small>Last revised: January 22, 2010 at 09:27:56 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: sandbox/chrono/libs/chrono/doc/html/standalone_HTML.manifest
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/standalone_HTML.manifest (original)
+++ sandbox/chrono/libs/chrono/doc/html/standalone_HTML.manifest 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -8,7 +8,7 @@
 boost_chrono/users_guide/ext_references.html
 boost_chrono/reference.html
 boost_chrono/reference/cpp0x.html
-boost_chrono/reference/process_cpu_related.html
+boost_chrono/reference/other_clocks.html
 boost_chrono/reference/stopwatches.html
 boost_chrono/reference/stopwatch_reporters.html
 boost_chrono/reference/stopwatch_formatters.html

Modified: sandbox/chrono/libs/chrono/test/Jamfile.v2
==============================================================================
--- sandbox/chrono/libs/chrono/test/Jamfile.v2 (original)
+++ sandbox/chrono/libs/chrono/test/Jamfile.v2 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -88,11 +88,11 @@
         [ run run_timer_test.cpp : : : <library>/boost/system//boost_system : run_timer_test_dll ]
         ;
 
- #test-suite "suspendable_clock"
- # :
- #[ run test_suspendable_clock.cpp : : : <library>/boost/thread//boost_thread <link>static ]
- #[ run test_suspendable_clock.cpp : : : <library>/boost/thread//boost_thread <library>/boost/system//boost_system : test_suspendable_clock_dll ]
- # ;
+ test-suite "other_clocks"
+ :
+ [ run test_suspendible_clock.cpp : : : <library>/boost/thread//boost_thread <link>static ]
+ [ run test_suspendible_clock.cpp : : : <library>/boost/thread//boost_thread <library>/boost/system//boost_system : test_suspendible_clock_dll ]
+ ;
 
     test-suite "stopwatch"
         :

Modified: sandbox/chrono/libs/chrono/test/test_suspendable_clock.cpp
==============================================================================
--- sandbox/chrono/libs/chrono/test/test_suspendable_clock.cpp (original)
+++ sandbox/chrono/libs/chrono/test/test_suspendable_clock.cpp 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -7,7 +7,7 @@
 
 
 #include <boost/chrono/chrono.hpp>
-#include <boost/chrono/suspendable_clock.hpp>
+#include <boost/chrono/suspendible_clock.hpp>
 #include <boost/type_traits.hpp>
 
 #include <iostream>
@@ -16,28 +16,30 @@
 
 void test_system_clock()
 {
- std::cout << "suspendable_clock<system_clock> test" << std::endl;
- suspendable_clock<system_clock>::duration delay = milliseconds(5);
- suspendable_clock<system_clock>::time_point start = suspendable_clock<system_clock>::now();
- while (suspendable_clock<system_clock>::now() - start <= delay)
+ std::cout << "suspendible_clock<system_clock> test" << std::endl;
+ suspendible_clock<system_clock>::duration delay = milliseconds(5);
+ suspendible_clock<system_clock>::time_point start = suspendible_clock<system_clock>::now();
+ while (suspendible_clock<system_clock>::now() - start <= delay)
         ;
- suspendable_clock<system_clock>::time_point stop = suspendable_clock<system_clock>::now();
- suspendable_clock<system_clock>::duration elapsed = stop - start;
+ suspendible_clock<system_clock>::time_point stop = suspendible_clock<system_clock>::now();
+ suspendible_clock<system_clock>::duration elapsed = stop - start;
     std::cout << "paused " << nanoseconds(elapsed).count() << " nanoseconds\n";
- start = suspendable_clock<system_clock>::now();
- stop = suspendable_clock<system_clock>::now();
- std::cout << "suspendable_clock<system_clock> resolution estimate: " << nanoseconds(stop-start).count() << " nanoseconds\n";
- start = suspendable_clock<system_clock>::now();
- suspendable_clock<system_clock>::suspend();
+ start = suspendible_clock<system_clock>::now();
+ stop = suspendible_clock<system_clock>::now();
+ std::cout << "suspendible_clock<system_clock> resolution estimate: " << nanoseconds(stop-start).count() << " nanoseconds\n";
+ start = suspendible_clock<system_clock>::now();
+#if 0
+ suspendible_clock<system_clock>::suspend();
     system_clock::duration delay3 = milliseconds(50);
     system_clock::time_point start3 = system_clock::now();
     while (system_clock::now() - start3 <= delay3)
         ;
     system_clock::time_point stop3 = system_clock::now();
- stop = suspendable_clock<system_clock>::now();
+ stop = suspendible_clock<system_clock>::now();
     std::cout << "system_clock 50ms: " << nanoseconds(stop3-start3).count() << " nanoseconds\n";
- std::cout << "suspendable_clock<system_clock> 50ms: " << nanoseconds(stop-start).count() << " nanoseconds\n";
- suspendable_clock<system_clock>::resume();
+ std::cout << "suspendible_clock<system_clock> 50ms: " << nanoseconds(stop-start).count() << " nanoseconds\n";
+ suspendible_clock<system_clock>::resume();
+#endif
     
 }
 

Added: sandbox/chrono/libs/chrono/test/test_suspendible_clock.cpp
==============================================================================
--- (empty file)
+++ sandbox/chrono/libs/chrono/test/test_suspendible_clock.cpp 2010-01-22 04:35:10 EST (Fri, 22 Jan 2010)
@@ -0,0 +1,117 @@
+// test_system_clock.cpp ----------------------------------------------------------//
+
+// Copyright 2010 Vicente J. Botet Escriba
+
+// Distributed under the Boost Software License, Version 1.0.
+// See http://www.boost.org/LICENSE_1_0.txt
+
+
+#include <boost/chrono/chrono.hpp>
+#include <boost/chrono/suspendible_clock.hpp>
+#include <boost/type_traits.hpp>
+
+#include <iostream>
+
+using namespace boost::chrono;
+
+void test_system_clock()
+{
+ std::cout << "suspendible_clock<system_clock> test" << std::endl;
+ suspendible_clock<system_clock>::duration delay = milliseconds(5);
+ suspendible_clock<system_clock>::time_point start = suspendible_clock<system_clock>::now();
+ while (suspendible_clock<system_clock>::now() - start <= delay)
+ ;
+ suspendible_clock<system_clock>::time_point stop = suspendible_clock<system_clock>::now();
+ suspendible_clock<system_clock>::duration elapsed = stop - start;
+ std::cout << "paused " << nanoseconds(elapsed).count() << " nanoseconds\n";
+ start = suspendible_clock<system_clock>::now();
+ stop = suspendible_clock<system_clock>::now();
+ std::cout << "suspendible_clock<system_clock> resolution estimate: " << nanoseconds(stop-start).count() << " nanoseconds\n";
+ start = suspendible_clock<system_clock>::now();
+ suspendible_clock<system_clock>::suspend();
+ system_clock::duration delay3 = milliseconds(50);
+ system_clock::time_point start3 = system_clock::now();
+ while (system_clock::now() - start3 <= delay3)
+ ;
+ system_clock::time_point stop3 = system_clock::now();
+ stop = suspendible_clock<system_clock>::now();
+ std::cout << "system_clock 50ms: " << nanoseconds(stop3-start3).count() << " nanoseconds\n";
+ std::cout << "suspendible_clock<system_clock> 50ms: " << nanoseconds(stop-start).count() << " nanoseconds\n";
+ suspendible_clock<system_clock>::resume();
+
+}
+
+void test_monotonic_clock()
+{
+#ifdef BOOST_CHRONO_HAS_CLOCK_MONOTONIC
+ std::cout << "monotonic_clock test" << std::endl;
+ monotonic_clock::duration delay = milliseconds(5);
+ monotonic_clock::time_point start = monotonic_clock::now();
+ while (monotonic_clock::now() - start <= delay)
+ ;
+ monotonic_clock::time_point stop = monotonic_clock::now();
+ monotonic_clock::duration elapsed = stop - start;
+ std::cout << "paused " << nanoseconds(elapsed).count() << " nanoseconds\n";
+ start = monotonic_clock::now();
+ stop = monotonic_clock::now();
+ std::cout << "monotonic_clock resolution estimate: " << nanoseconds(stop-start).count() << " nanoseconds\n";
+#endif
+}
+void test_hi_resolution_clock()
+{
+ std::cout << "high_resolution_clock test" << std::endl;
+ high_resolution_clock::duration delay = milliseconds(5);
+ high_resolution_clock::time_point start = high_resolution_clock::now();
+ while (high_resolution_clock::now() - start <= delay)
+ ;
+ high_resolution_clock::time_point stop = high_resolution_clock::now();
+ high_resolution_clock::duration elapsed = stop - start;
+ std::cout << "paused " << nanoseconds(elapsed).count() << " nanoseconds\n";
+ start = high_resolution_clock::now();
+ stop = high_resolution_clock::now();
+ std::cout << "high_resolution_clock resolution estimate: " << nanoseconds(stop-start).count() << " nanoseconds\n";
+}
+
+//void test_mixed_clock()
+//{
+// std::cout << "mixed clock test" << std::endl;
+// high_resolution_clock::time_point hstart = high_resolution_clock::now();
+// std::cout << "Add 5 milliseconds to a high_resolution_clock::time_point\n";
+// monotonic_clock::time_point mend = hstart + milliseconds(5);
+// bool b = hstart == mend;
+// system_clock::time_point sstart = system_clock::now();
+// std::cout << "Subtracting system_clock::time_point from monotonic_clock::time_point doesn't compile\n";
+//// mend - sstart; // doesn't compile
+// std::cout << "subtract high_resolution_clock::time_point from monotonic_clock::time_point"
+// " and add that to a system_clock::time_point\n";
+// system_clock::time_point send = sstart + duration_cast<system_clock::duration>(mend - hstart);
+// std::cout << "subtract two system_clock::time_point's and output that in microseconds:\n";
+// microseconds ms = send - sstart;
+// std::cout << ms.count() << " microseconds\n";
+//}
+//
+//void test_c_mapping()
+//{
+// std::cout << "C map test\n";
+// using namespace boost::chrono;
+// system_clock::time_point t1 = system_clock::now();
+// std::time_t c_time = system_clock::to_time_t(t1);
+// std::tm* tmptr = std::localtime(&c_time);
+// std::cout << "It is now " << tmptr->tm_hour << ':' << tmptr->tm_min << ':' << tmptr->tm_sec << ' '
+// << tmptr->tm_year + 1900 << '-' << tmptr->tm_mon + 1 << '-' << tmptr->tm_mday << '\n';
+// c_time = std::mktime(tmptr);
+// system_clock::time_point t2 = system_clock::from_time_t(c_time);
+// microseconds ms = t1 - t2;
+// std::cout << "Round-tripping through the C interface truncated the precision by " << ms.count() << " microseconds\n";
+//}
+
+
+int main()
+{
+ test_system_clock();
+ //test_monotonic_clock();
+ //test_hi_resolution_clock();
+ //test_mixed_clock();
+ return 0;
+}
+


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